2022-11-14 17:31:15 +00:00
! function ( e ) { var t , n ; ! function ( ) { function e ( e , t ) { if ( ! t ) return e ; if ( 0 === e . indexOf ( "." ) ) { var n = t . split ( "/" ) , i = e . split ( "/" ) , a = n . length - 1 , o = i . length , r = 0 , s = 0 ; e : for ( var l = 0 ; o > l ; l ++ ) switch ( i [ l ] ) { case ".." : if ( ! ( a > r ) ) break e ; r ++ , s ++ ; break ; case "." : s ++ ; break ; default : break e } return n . length = a - r , i = i . slice ( s ) , n . concat ( i ) . join ( "/" ) } return e } function i ( t ) { function n ( n , r ) { if ( "string" == typeof n ) { var s = i [ n ] ; return s || ( s = o ( e ( n , t ) ) , i [ n ] = s ) , s } n instanceof Array && ( r = r || function ( ) { } , r . apply ( this , a ( n , r , t ) ) ) } var i = { } ; return n } function a ( n , i , a ) { for ( var s = [ ] , l = r [ a ] , h = 0 , m = Math . min ( n . length , i . length ) ; m > h ; h ++ ) { var V , U = e ( n [ h ] , a ) ; switch ( U ) { case "require" : V = l && l . require || t ; break ; case "exports" : V = l . exports ; break ; case "module" : V = l ; break ; default : V = o ( U ) } s . push ( V ) } return s } function o ( e ) { var t = r [ e ] ; if ( ! t ) throw new Error ( "No " + e ) ; if ( ! t . defined ) { var n = t . factory , i = n . apply ( this , a ( t . deps || [ ] , n , e ) ) ; "undefined" != typeof i && ( t . exports = i ) , t . defined = 1 } return t . exports } var r = { } ; n = function ( e , t , n ) { r [ e ] = { id : e , deps : t , factory : n , defined : 0 , exports : { } , require : i ( e ) } } , t = i ( "" ) } ( ) , n ( "echarts" , [ "echarts/echarts" ] , function ( e ) { return e } ) , n ( "echarts/echarts" , [ "require" , "./config" , "zrender/tool/util" , "zrender/tool/event" , "zrender/tool/env" , "zrender" , "zrender/config" , "./chart/island" , "./component/toolbox" , "./component" , "./component/title" , "./component/tooltip" , "./component/legend" , "./util/ecData" , "./chart" , "zrender/tool/color" , "./component/timeline" , "zrender/shape/Image" , "zrender/loadingEffect/Bar" , "zrender/loadingEffect/Bubble" , "zrender/loadingEffect/DynamicLine" , "zrender/loadingEffect/Ring" , "zrender/loadingEffect/Spin" , "zrender/loadingEffect/Whirling" , "./theme/macarons" , "./theme/infographic" ] , function ( e ) { function t ( ) { r . Dispatcher . call ( this ) } function n ( e ) { e . innerHTML = "" , this . _themeConfig = { } , this . dom = e , this . _connected = ! 1 , this . _status = { dragIn : ! 1 , dragOut : ! 1 , needRefresh : ! 1 } , this . _curEventType = ! 1 , this . _chartList = [ ] , this . _messageCenter = new t , this . _messageCenterOutSide = new t , this . resize = this . resize ( ) , this . _init ( ) } function i ( e , t , n , i , a ) { for ( var o = e . _chartList , r = o . length ; r -- ; ) { var s = o [ r ] ; "function" == typeof s [ t ] && s [ t ] ( n , i , a ) } } var a = e ( "./config" ) , o = e ( "zrender/tool/util" ) , r = e ( "zrender/tool/event" ) , s = { } , l = e ( "zrender/tool/env" ) . canvasSupported , h = new Date - 0 , m = { } , V = "_echarts_instance_" ; s . version = "2.2.2" , s . dependencies = { zrender : "2.0.8" } , s . init = function ( t , i ) { var a = e ( "zrender" ) ; a . version . replace ( "." , "" ) - 0 < s . dependencies . zrender . replace ( "." , "" ) - 0 && console . error ( "ZRender " + a . version + " is too old for ECharts " + s . version + ". Current version need ZRender " + s . dependencies . zrender + "+" ) , t = t instanceof Array ? t [ 0 ] : t ; var o = t . getAttribute ( V ) ; return o || ( o = h ++ , t . setAttribute ( V , o ) ) , m [ o ] && m [ o ] . dispose ( ) , m [ o ] = new n ( t ) , m [ o ] . id = o , m [ o ] . canvasSupported = l , m [ o ] . setTheme ( i ) , m [ o ] } , s . getInstanceById = function ( e ) { return m [ e ] } , o . merge ( t . prototype , r . Dispatcher . prototype , ! 0 ) ; var U = e ( "zrender/config" ) . EVENT , d = [ "CLICK" , "DBLCLICK" , "MOUSEOVER" , "MOUSEOUT" , "DRAGSTART" , "DRAGEND" , "DRAGENTER" , "DRAGOVER" , "DRAGLEAVE" , "DROP" ] ; return n . prototype = { _init : function ( ) { var t = this , n = e ( "zrender" ) . init ( this . dom ) ; this . _zr = n , this . _messageCenter . dispatch = function ( e , n , i , a ) { i = i || { } , i . type = e , i . event = n , t . _messageCenter . dispatchWithContext ( e , i , a ) , "HOVER" != e && "MOUSEOUT" != e ? setTimeout ( function ( ) { t . _messageCenterOutSide . dispatchWithContext ( e , i , a ) } , 50 ) : t . _messageCenterOutSide . dispatchWithContext ( e , i , a ) } , this . _onevent = function ( e ) { return t . _ _onevent ( e ) } ; for ( var i in a . EVENT ) "CLICK" != i && "DBLCLICK" != i && "HOVER" != i && "MOUSEOUT" != i && "MAP_ROAM" != i && this . _messageCenter . bind ( a . EVENT [ i ] , this . _onevent , this ) ; var o = { } ; this . _onzrevent = function ( e ) { return t [ o [ e . type ] ] ( e ) } ; for ( var r = 0 , s = d . length ; s > r ; r ++ ) { var l = d [ r ] , h = U [ l ] ; o [ h ] = "_on" + l . toLowerCase ( ) , n . on ( h , this . _onzrevent ) } this . chart = { } , this . component = { } ; var m = e ( "./chart/island" ) ; this . _island = new m ( this . _themeConfig , this . _messageCenter , n , { } , this ) , this . chart . island = this . _island ; var V = e ( "./component/toolbox" ) ; this . _toolbox = new V ( this . _themeConfig , this . _messageCenter , n , { } , this ) , this . component . toolbox = this . _toolbox ; var p = e ( "./component" ) ; p . define ( "title" , e ( "./component/title" ) ) , p . define ( "tooltip" , e ( "./component/tooltip" ) ) , p . define ( "legend" , e ( " . / comp
var U = this . animation . animate ( o , { loop : a } ) . done ( function ( ) { var t = n . indexOf ( e . _ _animators , U ) ; if ( t >= 0 && V . splice ( t , 1 ) , 0 === V . length ) { var t = n . indexOf ( m , e ) ; m . splice ( t , 1 ) } } ) ; return V . push ( U ) , U } i ( "Element not existed" ) } , V . prototype . stopAnimation = function ( e ) { if ( e . _ _animators ) { for ( var t = e . _ _animators , i = t . length , a = 0 ; i > a ; a ++ ) t [ a ] . stop ( ) ; if ( i > 0 ) { var o = this . animatingElements , r = n . indexOf ( o , e ) ; r >= 0 && o . splice ( r , 1 ) } t . length = 0 } return this } , V . prototype . clearAnimation = function ( ) { return this . animation . clear ( ) , this . animatingElements . length = 0 , this } , V . prototype . showLoading = function ( e ) { return this . painter . showLoading ( e ) , this } , V . prototype . hideLoading = function ( ) { return this . painter . hideLoading ( ) , this } , V . prototype . getWidth = function ( ) { return this . painter . getWidth ( ) } , V . prototype . getHeight = function ( ) { return this . painter . getHeight ( ) } , V . prototype . toDataURL = function ( e , t , n ) { return this . painter . toDataURL ( e , t , n ) } , V . prototype . shapeToImage = function ( e , t , n ) { var i = a ( ) ; return this . painter . shapeToImage ( i , e , t , n ) } , V . prototype . on = function ( e , t , n ) { return this . handler . on ( e , t , n ) , this } , V . prototype . un = function ( e , t ) { return this . handler . un ( e , t ) , this } , V . prototype . trigger = function ( e , t ) { return this . handler . trigger ( e , t ) , this } , V . prototype . clear = function ( ) { return this . storage . delRoot ( ) , this . painter . clear ( ) , this } , V . prototype . dispose = function ( ) { this . animation . stop ( ) , this . clear ( ) , this . storage . dispose ( ) , this . painter . dispose ( ) , this . handler . dispose ( ) , this . animation = this . animatingElements = this . storage = this . painter = this . handler = null , m . delInstance ( this . id ) } , m } ) , n ( "zrender/config" , [ ] , function ( ) { var e = { EVENT : { RESIZE : "resize" , CLICK : "click" , DBLCLICK : "dblclick" , MOUSEWHEEL : "mousewheel" , MOUSEMOVE : "mousemove" , MOUSEOVER : "mouseover" , MOUSEOUT : "mouseout" , MOUSEDOWN : "mousedown" , MOUSEUP : "mouseup" , GLOBALOUT : "globalout" , DRAGSTART : "dragstart" , DRAGEND : "dragend" , DRAGENTER : "dragenter" , DRAGOVER : "dragover" , DRAGLEAVE : "dragleave" , DROP : "drop" , touchClickDelay : 300 } , catchBrushException : ! 1 , debugMode : 0 , devicePixelRatio : Math . max ( window . devicePixelRatio || 1 , 1 ) } ; return e } ) , n ( "echarts/chart/island" , [ "require" , "./base" , "zrender/shape/Circle" , "../config" , "../util/ecData" , "zrender/tool/util" , "zrender/tool/event" , "zrender/tool/color" , "../util/accMath" , "../chart" ] , function ( e ) { function t ( e , t , i , a , r ) { n . call ( this , e , t , i , a , r ) , this . _nameConnector , this . _valueConnector , this . _zrHeight = this . zr . getHeight ( ) , this . _zrWidth = this . zr . getWidth ( ) ; var l = this ; l . shapeHandler . onmousewheel = function ( e ) { var t = e . target , n = e . event , i = s . getDelta ( n ) ; i = i > 0 ? - 1 : 1 , t . style . r -= i , t . style . r = t . style . r < 5 ? 5 : t . style . r ; var a = o . get ( t , "value" ) , r = a * l . option . island . calculateStep ; a = r > 1 ? Math . round ( a - r * i ) : + ( a - r * i ) . toFixed ( 2 ) ; var h = o . get ( t , "name" ) ; t . style . text = h + ":" + a , o . set ( t , "value" , a ) , o . set ( t , "name" , h ) , l . zr . modShape ( t . id ) , l . zr . refreshNextFrame ( ) , s . stop ( n ) } } var n = e ( "./base" ) , i = e ( "zrender/shape/Circle" ) , a = e ( "../config" ) ; a . island = { zlevel : 0 , z : 5 , r : 15 , calculateStep : . 1 } ; var o = e ( "../util/ecData" ) , r = e ( "zrender/tool/util" ) , s = e ( "zrender/tool/event" ) ; return t . prototype = { type : a . CHART _TYPE _ISLAND , _combine : function ( t , n ) { var i = e ( "zrender/tool/color" ) , a = e ( "../util/accMath" ) , r = a . accAdd ( o . get ( t , "value" ) , o . get ( n , "value" ) ) , s = o . get ( t , "name" ) + this . _nameConnector + o . get ( n , "name" ) ; t . style . text = s + this . _valueConnector + r , o . set ( t , "value" , r ) , o . set ( t , "name" , s ) , t . style . r = this . option . island . r , t . style . color = i . mix ( t . style . color , n . style . color ) } , refresh : function ( e ) { e && ( e . island = this . reformOption ( e . island ) , this . option = e , this . _nameConnector = this . option . nameConnector , this . _valueConnector = this . option . valueConnector ) } , getOption : function ( ) { return this . option } , resize : function ( ) { var e = this . zr . getWidth ( ) , t = this . zr . getHeight ( ) , n = e / ( this . _zrWidth || e ) , i = t / ( this . _zrHeight || t ) ; if ( 1 !== n || 1 !== i ) { this . _zrWidth = e , this . _zrHeight = t ; for ( var a = 0 , o = this . shapeList . length ; o > a ; a ++ ) this . zr . modShape ( this . shapeList [ a ] . id , { style : { x : Math . round ( this . shapeList [ a ] . style . x * n ) , y : Math . round ( this . shapeList [ a ] . style . y * i ) } } ) } } , add : function ( e ) { var t = o . get ( e , "name" ) , n = o . get ( e , "value" ) , a = null != o . get ( e , "series" ) ? o . get ( e , "series" ) . name : "" , r = this . getFont ( this . option . island . textStyle ) , s = { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , style : { x : e . style . x , y : e . style . y , r :
var e = ! 1 ; this . _axisLineShape . invisible || ( this . _axisLineShape . invisible = ! 0 , this . zr . modShape ( this . _axisLineShape . id ) , e = ! 0 ) , this . _axisShadowShape . invisible || ( this . _axisShadowShape . invisible = ! 0 , this . zr . modShape ( this . _axisShadowShape . id ) , e = ! 0 ) , this . _axisCrossShape . invisible || ( this . _axisCrossShape . invisible = ! 0 , this . zr . modShape ( this . _axisCrossShape . id ) , e = ! 0 ) , this . _lastTipShape && this . _lastTipShape . tipShape . length > 0 && ( this . zr . delShape ( this . _lastTipShape . tipShape ) , this . _lastTipShape = ! 1 , this . shapeList . length = 2 ) , e && this . zr . refreshNextFrame ( ) , this . showing = ! 1 } , _show : function ( e , t , n , i ) { var a = this . _tDom . offsetHeight , o = this . _tDom . offsetWidth ; e && ( "function" == typeof e && ( e = e ( [ t , n ] ) ) , e instanceof Array && ( t = e [ 0 ] , n = e [ 1 ] ) ) , t + o > this . _zrWidth && ( t -= o + 40 ) , n + a > this . _zrHeight && ( n -= a - 20 ) , 20 > n && ( n = 0 ) , this . _tDom . style . cssText = this . _gCssText + this . _defaultCssText + ( i ? i : "" ) + "left:" + t + "px;top:" + n + "px;" , ( 10 > a || 10 > o ) && setTimeout ( this . _refixed , 20 ) , this . showing = ! 0 } , _ _refixed : function ( ) { if ( this . _tDom ) { var e = "" , t = this . _tDom . offsetHeight , n = this . _tDom . offsetWidth ; this . _tDom . offsetLeft + n > this . _zrWidth && ( e += "left:" + ( this . _zrWidth - n - 20 ) + "px;" ) , this . _tDom . offsetTop + t > this . _zrHeight && ( e += "top:" + ( this . _zrHeight - t - 10 ) + "px;" ) , "" !== e && ( this . _tDom . style . cssText += e ) } } , _ _tryShow : function ( ) { var e , t ; if ( this . _curTarget ) { if ( "island" === this . _curTarget . _type && this . option . tooltip . show ) return void this . _showItemTrigger ( ) ; var n = l . get ( this . _curTarget , "series" ) , i = l . get ( this . _curTarget , "data" ) ; e = this . deepQuery ( [ i , n , this . option ] , "tooltip.show" ) , null != n && null != i && e ? ( t = this . deepQuery ( [ i , n , this . option ] , "tooltip.trigger" ) , "axis" === t ? this . _showAxisTrigger ( n . xAxisIndex , n . yAxisIndex , l . get ( this . _curTarget , "dataIndex" ) ) : this . _showItemTrigger ( ) ) : ( clearTimeout ( this . _hidingTicket ) , clearTimeout ( this . _showingTicket ) , this . _hidingTicket = setTimeout ( this . _hide , this . _hideDelay ) ) } else this . _findPolarTrigger ( ) || this . _findAxisTrigger ( ) } , _findAxisTrigger : function ( ) { if ( ! this . component . xAxis || ! this . component . yAxis ) return void ( this . _hidingTicket = setTimeout ( this . _hide , this . _hideDelay ) ) ; for ( var e , t , n = this . option . series , i = 0 , a = n . length ; a > i ; i ++ ) if ( "axis" === this . deepQuery ( [ n [ i ] , this . option ] , "tooltip.trigger" ) ) return e = n [ i ] . xAxisIndex || 0 , t = n [ i ] . yAxisIndex || 0 , this . component . xAxis . getAxis ( e ) && this . component . xAxis . getAxis ( e ) . type === s . COMPONENT _TYPE _AXIS _CATEGORY ? void this . _showAxisTrigger ( e , t , this . _getNearestDataIndex ( "x" , this . component . xAxis . getAxis ( e ) ) ) : this . component . yAxis . getAxis ( t ) && this . component . yAxis . getAxis ( t ) . type === s . COMPONENT _TYPE _AXIS _CATEGORY ? void this . _showAxisTrigger ( e , t , this . _getNearestDataIndex ( "y" , this . component . yAxis . getAxis ( t ) ) ) : void this . _showAxisTrigger ( e , t , - 1 ) ; "cross" === this . option . tooltip . axisPointer . type && this . _showAxisTrigger ( - 1 , - 1 , - 1 ) } , _findPolarTrigger : function ( ) { if ( ! this . component . polar ) return ! 1 ; var e , t = m . getX ( this . _event ) , n = m . getY ( this . _event ) , i = this . component . polar . getNearestIndex ( [ t , n ] ) ; return i ? ( e = i . valueIndex , i = i . polarIndex ) : i = - 1 , - 1 != i ? this . _showPolarTrigger ( i , e ) : ! 1 } , _getNearestDataIndex : function ( e , t ) { var n = - 1 , i = m . getX ( this . _event ) , a = m . getY ( this . _event ) ; if ( "x" === e ) { for ( var o , r , s = this . component . grid . getXend ( ) , l = t . getCoordByIndex ( n ) ; s > l && ( r = l , i >= l ) ; ) o = l , l = t . getCoordByIndex ( ++ n ) ; return 0 >= n ? n = 0 : r - i >= i - o ? n -= 1 : null == t . getNameByIndex ( n ) && ( n -= 1 ) , n } for ( var h , V , U = this . component . grid . getY ( ) , l = t . getCoordByIndex ( n ) ; l > U && ( h = l , l >= a ) ; ) V = l , l = t . getCoordByIndex ( ++ n ) ; return 0 >= n ? n = 0 : a - h >= V - a ? n -= 1 : null == t . getNameByIndex ( n ) && ( n -= 1 ) , n } , _showAxisTrigger : function ( e , t , n ) { if ( ! this . _event . connectTrigger && this . messageCenter . dispatch ( s . EVENT . TOOLTIP _IN _GRID , this . _event , null , this . myChart ) , null == this . component . xAxis || null == this . component . yAxis || null == e || null == t ) return clearTimeout ( this . _hidingTicket ) , clearTimeout ( this . _showingTicket ) , void ( this . _hidingTicket = setTimeout ( this . _hide , this . _hideDelay ) ) ; var i , a , o , r , l = this . option . series , h = [ ] , V = [ ] , U = "" ; if ( "axis" === this . option . tooltip . trigger ) { if ( ! this . option . tooltip . show ) return ; a = this . option . tooltip . formatter , o = this . option . tooltip . position } var d , p , c = - 1 != e && this . component . xAxis . getAxis ( e ) . type === s . COMPONENT _TYPE _AXIS _CATEGORY ? "xAxis" : - 1 != t && this . component . yAxis . getAxis ( t ) . type === s .
t = i [ a ] . type != l . CHART _TYPE _FORCE ? i [ a ] . data : i [ a ] . categories ; for ( var r = 0 , s = t . length ; s > r ; r ++ ) t [ r ] . name === e && "-" != t [ r ] . value && n ++ } return n } , setColor : function ( e , t ) { this . _colorMap [ e ] = t } , getColor : function ( e ) { return this . _colorMap [ e ] || ( this . _colorMap [ e ] = this . zr . getColor ( this . _colorIndex ++ ) ) , this . _colorMap [ e ] } , hasColor : function ( e ) { return this . _colorMap [ e ] ? this . _colorMap [ e ] : ! 1 } , add : function ( e , t ) { for ( var n = this . legendOption . data , i = 0 , a = n . length ; a > i ; i ++ ) if ( this . _getName ( n [ i ] ) === e ) return ; this . legendOption . data . push ( e ) , this . setColor ( e , t ) , this . _selectedMap [ e ] = ! 0 , this . _hasDataMap [ e ] = ! 0 } , del : function ( e ) { for ( var t = this . legendOption . data , n = 0 , i = t . length ; i > n ; n ++ ) if ( this . _getName ( t [ n ] ) === e ) return this . legendOption . data . splice ( n , 1 ) } , getItemShape : function ( e ) { if ( null != e ) for ( var t , n = 0 , i = this . shapeList . length ; i > n ; n ++ ) if ( t = this . shapeList [ n ] , t . _name === e && "text" != t . type ) return t } , setItemShape : function ( e , t ) { for ( var n , i = 0 , a = this . shapeList . length ; a > i ; i ++ ) n = this . shapeList [ i ] , n . _name === e && "text" != n . type && ( this . _selectedMap [ e ] || ( t . style . color = "#ccc" , t . style . strokeColor = "#ccc" ) , this . zr . modShape ( n . id , t ) ) } , isSelected : function ( e ) { return "undefined" != typeof this . _selectedMap [ e ] ? this . _selectedMap [ e ] : ! 0 } , getSelectedMap : function ( ) { return this . _selectedMap } , setSelected : function ( e , t ) { if ( "single" === this . legendOption . selectedMode ) for ( var n in this . _selectedMap ) this . _selectedMap [ n ] = ! 1 ; this . _selectedMap [ e ] = t , this . messageCenter . dispatch ( l . EVENT . LEGEND _SELECTED , null , { selected : this . _selectedMap , target : e } , this . myChart ) } , onlegendSelected : function ( e , t ) { var n = e . selected ; for ( var i in n ) this . _selectedMap [ i ] != n [ i ] && ( t . needRefresh = ! 0 ) , this . _selectedMap [ i ] = n [ i ] } } ; var V = { line : function ( e , t ) { var n = t . height / 2 ; e . moveTo ( t . x , t . y + n ) , e . lineTo ( t . x + t . width , t . y + n ) } , pie : function ( e , t ) { var n = t . x , i = t . y , a = t . width , r = t . height ; o . prototype . buildPath ( e , { x : n + a / 2 , y : i + r + 2 , r : r , r0 : 6 , startAngle : 45 , endAngle : 135 } ) } , eventRiver : function ( e , t ) { var n = t . x , i = t . y , a = t . width , o = t . height ; e . moveTo ( n , i + o ) , e . bezierCurveTo ( n + a , i + o , n , i + 4 , n + a , i + 4 ) , e . lineTo ( n + a , i ) , e . bezierCurveTo ( n , i , n + a , i + o - 4 , n , i + o - 4 ) , e . lineTo ( n , i + o ) } , k : function ( e , t ) { var n = t . x , i = t . y , a = t . width , o = t . height ; s . prototype . buildPath ( e , { x : n + a / 2 , y : [ i + 1 , i + 1 , i + o - 6 , i + o ] , width : a - 6 } ) } , bar : function ( e , t ) { var n = t . x , i = t . y + 1 , a = t . width , o = t . height - 2 , r = 3 ; e . moveTo ( n + r , i ) , e . lineTo ( n + a - r , i ) , e . quadraticCurveTo ( n + a , i , n + a , i + r ) , e . lineTo ( n + a , i + o - r ) , e . quadraticCurveTo ( n + a , i + o , n + a - r , i + o ) , e . lineTo ( n + r , i + o ) , e . quadraticCurveTo ( n , i + o , n , i + o - r ) , e . lineTo ( n , i + r ) , e . quadraticCurveTo ( n , i , n + r , i ) } , force : function ( e , t ) { r . prototype . iconLibrary . circle ( e , t ) } , radar : function ( e , t ) { var n = 6 , i = t . x + t . width / 2 , a = t . y + t . height / 2 , o = t . height / 2 , r = 2 * Math . PI / n , s = - Math . PI / 2 , l = i + o * Math . cos ( s ) , h = a + o * Math . sin ( s ) ; e . moveTo ( l , h ) , s += r ; for ( var m = 0 , V = n - 1 ; V > m ; m ++ ) e . lineTo ( i + o * Math . cos ( s ) , a + o * Math . sin ( s ) ) , s += r ; e . lineTo ( l , h ) } } ; V . chord = V . pie , V . map = V . bar ; for ( var U in V ) r . prototype . iconLibrary [ "legendicon" + U ] = V [ U ] ; return h . inherits ( t , n ) , e ( "../component" ) . define ( "legend" , t ) , t } ) , n ( "echarts/util/ecData" , [ ] , function ( ) { function e ( e , t , n , i , a , o , r , s ) { var l ; return "undefined" != typeof i && ( l = null == i . value ? i : i . value ) , e . _echartsData = { _series : t , _seriesIndex : n , _data : i , _dataIndex : a , _name : o , _value : l , _special : r , _special2 : s } , e . _echartsData } function t ( e , t ) { var n = e . _echartsData ; if ( ! t ) return n ; switch ( t ) { case "series" : case "seriesIndex" : case "data" : case "dataIndex" : case "name" : case "value" : case "special" : case "special2" : return n && n [ "_" + t ] } return null } function n ( e , t , n ) { switch ( e . _echartsData = e . _echartsData || { } , t ) { case "series" : case "seriesIndex" : case "data" : case "dataIndex" : case "name" : case "value" : case "special" : case "special2" : e . _echartsData [ "_" + t ] = n } } function i ( e , t ) { t . _echartsData = { _series : e . _echartsData . _series , _seriesIndex : e . _echartsData . _seriesIndex , _data : e . _echartsData . _data , _dataIndex : e . _echartsData . _dataIndex , _name : e . _echartsData . _name , _value : e . _echartsData . _value , _special : e . _echartsData . _special , _special2 : e . _echartsData . _special2 } } return { pack : e , set : n , get : t , clone : i } } ) , n ( "echarts/chart" , [ ] , function ( ) { var e = { } , t = { } ; return e . define = function ( n , i ) { return t [ n ] = i , e } , e . get = function ( e ) { return t [ e ] } , e } ) , n ( "zrender/tool/color" , [ "require" , "../tool/util" ] , function ( e ) { function t ( e ) { D = e } functi
return i . inherits ( t , n ) , t . prototype . _start = function ( e , t ) { var n = i . merge ( this . options , { textStyle : { color : "#07a" } , backgroundColor : "rgba(250, 250, 250, 0.8)" , effect : { x : this . canvasWidth / 2 , y : this . canvasHeight / 2 , r0 : 60 , r : 100 , color : "#bbdcff" , brushType : "fill" , textPosition : "inside" , textFont : "normal 30px verdana" , textColor : "rgba(30, 144, 255, 0.6)" , timeInterval : 100 } } ) , s = n . effect , l = n . textStyle ; null == l . x && ( l . x = s . x ) , null == l . y && ( l . y = s . y + ( s . r0 + s . r ) / 2 - 5 ) ; for ( var h = this . createTextShape ( n . textStyle ) , m = this . createBackgroundShape ( n . backgroundColor ) , V = s . x , U = s . y , d = s . r0 + 6 , p = s . r - 6 , c = s . color , u = a . lift ( c , . 1 ) , y = new o ( { highlightStyle : i . clone ( s ) } ) , g = [ ] , b = a . getGradientColors ( [ "#ff6400" , "#ffe100" , "#97ff00" ] , 25 ) , f = 15 , k = 240 , x = 0 ; 16 > x ; x ++ ) g . push ( new r ( { highlightStyle : { x : V , y : U , r0 : d , r : p , startAngle : k - f , endAngle : k , brushType : "fill" , color : u } , _color : a . getLinearGradient ( V + d * Math . cos ( k , ! 0 ) , U - d * Math . sin ( k , ! 0 ) , V + d * Math . cos ( k - f , ! 0 ) , U - d * Math . sin ( k - f , ! 0 ) , [ [ 0 , b [ 2 * x ] ] , [ 1 , b [ 2 * x + 1 ] ] ] ) } ) ) , k -= f ; k = 360 ; for ( var x = 0 ; 4 > x ; x ++ ) g . push ( new r ( { highlightStyle : { x : V , y : U , r0 : d , r : p , startAngle : k - f , endAngle : k , brushType : "fill" , color : u } , _color : a . getLinearGradient ( V + d * Math . cos ( k , ! 0 ) , U - d * Math . sin ( k , ! 0 ) , V + d * Math . cos ( k - f , ! 0 ) , U - d * Math . sin ( k - f , ! 0 ) , [ [ 0 , b [ 2 * x + 32 ] ] , [ 1 , b [ 2 * x + 33 ] ] ] ) } ) ) , k -= f ; var _ = 0 ; if ( null != n . progress ) { e ( m ) , _ = 100 * this . adjust ( n . progress , [ 0 , 1 ] ) . toFixed ( 2 ) / 5 , y . highlightStyle . text = 5 * _ + "%" , e ( y ) ; for ( var x = 0 ; 20 > x ; x ++ ) g [ x ] . highlightStyle . color = _ > x ? g [ x ] . _color : u , e ( g [ x ] ) ; return e ( h ) , void t ( ) } return setInterval ( function ( ) { e ( m ) , _ += _ >= 20 ? - 20 : 1 , e ( y ) ; for ( var n = 0 ; 20 > n ; n ++ ) g [ n ] . highlightStyle . color = _ > n ? g [ n ] . _color : u , e ( g [ n ] ) ; e ( h ) , t ( ) } , s . timeInterval ) } , t } ) , n ( "zrender/loadingEffect/Spin" , [ "require" , "./Base" , "../tool/util" , "../tool/color" , "../tool/area" , "../shape/Sector" ] , function ( e ) { function t ( e ) { n . call ( this , e ) } var n = e ( "./Base" ) , i = e ( "../tool/util" ) , a = e ( "../tool/color" ) , o = e ( "../tool/area" ) , r = e ( "../shape/Sector" ) ; return i . inherits ( t , n ) , t . prototype . _start = function ( e , t ) { var n = i . merge ( this . options , { textStyle : { color : "#fff" , textAlign : "start" } , backgroundColor : "rgba(0, 0, 0, 0.8)" } ) , s = this . createTextShape ( n . textStyle ) , l = 10 , h = o . getTextWidth ( s . highlightStyle . text , s . highlightStyle . textFont ) , m = o . getTextHeight ( s . highlightStyle . text , s . highlightStyle . textFont ) , V = i . merge ( this . options . effect || { } , { r0 : 9 , r : 15 , n : 18 , color : "#fff" , timeInterval : 100 } ) , U = this . getLocation ( this . options . textStyle , h + l + 2 * V . r , Math . max ( 2 * V . r , m ) ) ; V . x = U . x + V . r , V . y = s . highlightStyle . y = U . y + U . height / 2 , s . highlightStyle . x = V . x + V . r + l ; for ( var d = this . createBackgroundShape ( n . backgroundColor ) , p = V . n , c = V . x , u = V . y , y = V . r0 , g = V . r , b = V . color , f = [ ] , k = Math . round ( 180 / p ) , x = 0 ; p > x ; x ++ ) f [ x ] = new r ( { highlightStyle : { x : c , y : u , r0 : y , r : g , startAngle : k * x * 2 , endAngle : k * x * 2 + k , color : a . alpha ( b , ( x + 1 ) / p ) , brushType : "fill" } } ) ; var _ = [ 0 , c , u ] ; return setInterval ( function ( ) { e ( d ) , _ [ 0 ] -= . 3 ; for ( var n = 0 ; p > n ; n ++ ) f [ n ] . rotation = _ , e ( f [ n ] ) ; e ( s ) , t ( ) } , V . timeInterval ) } , t } ) , n ( "zrender/loadingEffect/Whirling" , [ "require" , "./Base" , "../tool/util" , "../tool/area" , "../shape/Ring" , "../shape/Droplet" , "../shape/Circle" ] , function ( e ) { function t ( e ) { n . call ( this , e ) } var n = e ( "./Base" ) , i = e ( "../tool/util" ) , a = e ( "../tool/area" ) , o = e ( "../shape/Ring" ) , r = e ( "../shape/Droplet" ) , s = e ( "../shape/Circle" ) ; return i . inherits ( t , n ) , t . prototype . _start = function ( e , t ) { var n = i . merge ( this . options , { textStyle : { color : "#888" , textAlign : "start" } , backgroundColor : "rgba(250, 250, 250, 0.8)" } ) , l = this . createTextShape ( n . textStyle ) , h = 10 , m = a . getTextWidth ( l . highlightStyle . text , l . highlightStyle . textFont ) , V = a . getTextHeight ( l . highlightStyle . text , l . highlightStyle . textFont ) , U = i . merge ( this . options . effect || { } , { r : 18 , colorIn : "#fff" , colorOut : "#555" , colorWhirl : "#6cf" , timeInterval : 50 } ) , d = this . getLocation ( this . options . textStyle , m + h + 2 * U . r , Math . max ( 2 * U . r , V ) ) ; U . x = d . x + U . r , U . y = l . highlightStyle . y = d . y + d . height / 2 , l . highlightStyle . x = U . x + U . r + h ; var p = this . createBackgroundShape ( n . backgroundColor ) , c = new r ( { highlightStyle : { a : Math . round ( U . r / 2 ) , b : Math . round ( U . r - U . r / 6 ) , brushType : "fill" , color : U . colorWhirl } } ) , u = new s ( { highlightStyle : { r : Math . round ( U . r / 6 ) , brushType : "fill" , color : U . colorIn } } ) , y = new o ( { highlightStyle : { r0 : Math . round ( U . r - U . r / 3 ) , r : U . r , brushType : "fill" , color : U . colorOut } } ) , g = [ 0 , U . x , U . y ] ; return c . highlightStyle .
this . _processDragStart ( e ) , this . _hasfound = 0 , this . _event = e , this . _iterateAndFindHover ( ) , this . _hasfound || ( ( ! this . _draggingTarget || this . _lastHover && this . _lastHover != this . _draggingTarget ) && ( this . _processOutShape ( e ) , this . _processDragLeave ( e ) ) , this . _lastHover = null , this . storage . delHover ( ) , this . painter . clearHover ( ) ) ; var i = "default" ; if ( this . _draggingTarget ) this . storage . drift ( this . _draggingTarget . id , t , n ) , this . _draggingTarget . modSelf ( ) , this . storage . addHover ( this . _draggingTarget ) , this . _clickThreshold ++ ; else if ( this . _isMouseDown ) { var a = ! 1 ; this . painter . eachBuildinLayer ( function ( e ) { e . panable && ( i = "move" , e . position [ 0 ] += t , e . position [ 1 ] += n , a = ! 0 , e . dirty = ! 0 ) } ) , a && this . painter . refresh ( ) } this . _draggingTarget || this . _hasfound && this . _lastHover . draggable ? i = "move" : this . _hasfound && this . _lastHover . clickable && ( i = "pointer" ) , this . root . style . cursor = i , this . _dispatchAgency ( this . _lastHover , V . MOUSEMOVE , e ) , ( this . _draggingTarget || this . _hasfound || this . storage . hasHoverShape ( ) ) && this . painter . refreshHover ( ) } } , mouseout : function ( e ) { e = this . _zrenderEventFixed ( e ) ; var t = e . toElement || e . relatedTarget ; if ( t != this . root ) for ( ; t && 9 != t . nodeType ; ) { if ( t == this . root ) return void this . _mousemoveHandler ( e ) ; t = t . parentNode } e . zrenderX = this . _lastX , e . zrenderY = this . _lastY , this . root . style . cursor = "default" , this . _isMouseDown = 0 , this . _processOutShape ( e ) , this . _processDrop ( e ) , this . _processDragEnd ( e ) , this . painter . isLoading ( ) || this . painter . refreshHover ( ) , this . dispatch ( V . GLOBALOUT , e ) } , mousedown : function ( e ) { return this . _clickThreshold = 0 , 2 == this . _lastDownButton ? ( this . _lastDownButton = e . button , void ( this . _mouseDownTarget = null ) ) : ( this . _lastMouseDownMoment = new Date , e = this . _zrenderEventFixed ( e ) , this . _isMouseDown = 1 , this . _mouseDownTarget = this . _lastHover , this . _dispatchAgency ( this . _lastHover , V . MOUSEDOWN , e ) , void ( this . _lastDownButton = e . button ) ) } , mouseup : function ( e ) { e = this . _zrenderEventFixed ( e ) , this . root . style . cursor = "default" , this . _isMouseDown = 0 , this . _mouseDownTarget = null , this . _dispatchAgency ( this . _lastHover , V . MOUSEUP , e ) , this . _processDrop ( e ) , this . _processDragEnd ( e ) } , touchstart : function ( e ) { e = this . _zrenderEventFixed ( e , ! 0 ) , this . _lastTouchMoment = new Date , this . _mobileFindFixed ( e ) , this . _mousedownHandler ( e ) } , touchmove : function ( e ) { e = this . _zrenderEventFixed ( e , ! 0 ) , this . _mousemoveHandler ( e ) , this . _isDragging && s . stop ( e ) } , touchend : function ( e ) { e = this . _zrenderEventFixed ( e , ! 0 ) , this . _mouseupHandler ( e ) ; var t = new Date ; t - this . _lastTouchMoment < V . touchClickDelay && ( this . _mobileFindFixed ( e ) , this . _clickHandler ( e ) , t - this . _lastClickMoment < V . touchClickDelay / 2 && ( this . _dblclickHandler ( e ) , this . _lastHover && this . _lastHover . clickable && s . stop ( e ) ) , this . _lastClickMoment = t ) , this . painter . clearHover ( ) } } , c = function ( e , t , o ) { U . call ( this ) , this . root = e , this . storage = t , this . painter = o , this . _lastX = this . _lastY = this . _mouseX = this . _mouseY = 0 , this . _findHover = n ( a , this ) , this . _domHover = o . getDomHover ( ) , i ( this ) , window . addEventListener ? ( window . addEventListener ( "resize" , this . _resizeHandler ) , r . os . tablet || r . os . phone ? ( e . addEventListener ( "touchstart" , this . _touchstartHandler ) , e . addEventListener ( "touchmove" , this . _touchmoveHandler ) , e . addEventListener ( "touchend" , this . _touchendHandler ) ) : ( e . addEventListener ( "click" , this . _clickHandler ) , e . addEventListener ( "dblclick" , this . _dblclickHandler ) , e . addEventListener ( "mousewheel" , this . _mousewheelHandler ) , e . addEventListener ( "mousemove" , this . _mousemoveHandler ) , e . addEventListener ( "mousedown" , this . _mousedownHandler ) , e . addEventListener ( "mouseup" , this . _mouseupHandler ) ) , e . addEventListener ( "DOMMouseScroll" , this . _mousewheelHandler ) , e . addEventListener ( "mouseout" , this . _mouseoutHandler ) ) : ( window . attachEvent ( "onresize" , this . _resizeHandler ) , e . attachEvent ( "onclick" , this . _clickHandler ) , e . ondblclick = this . _dblclickHandler , e . attachEvent ( "onmousewheel" , this . _mousewheelHandler ) , e . attachEvent ( "onmousemove" , this . _mousemoveHandler ) , e . attachEvent ( "onmouseout" , this . _mouseoutHandler ) , e . attachEvent ( "onmousedown" , this . _mousedownHandler ) , e . attachEvent ( "onmouseup" , this . _mouseupHandler ) ) } ; c . prototype . on = function ( e , t , n ) { return this . bind ( e , t , n ) , this } , c . prototype . un = function ( e , t ) { return this . unbind ( e , t ) , this } , c . prototype . trigger = function ( e , t ) { switch ( e ) { case V . RESIZE : case V . CLICK : case V
} } , a . merge ( s . prototype , i . prototype ) , s } ) , n ( "zrender/shape/Text" , [ "require" , "../tool/area" , "./Base" , "../tool/util" ] , function ( e ) { var t = e ( "../tool/area" ) , n = e ( "./Base" ) , i = function ( e ) { n . call ( this , e ) } ; return i . prototype = { type : "text" , brush : function ( e , n ) { var i = this . style ; if ( n && ( i = this . getHighlightStyle ( i , this . highlightStyle || { } ) ) , "undefined" != typeof i . text && i . text !== ! 1 ) { e . save ( ) , this . doClip ( e ) , this . setContext ( e , i ) , this . setTransform ( e ) , i . textFont && ( e . font = i . textFont ) , e . textAlign = i . textAlign || "start" , e . textBaseline = i . textBaseline || "middle" ; var a , o = ( i . text + "" ) . split ( "\n" ) , r = t . getTextHeight ( "国" , i . textFont ) , s = this . getRect ( i ) , l = i . x ; a = "top" == i . textBaseline ? s . y : "bottom" == i . textBaseline ? s . y + r : s . y + r / 2 ; for ( var h = 0 , m = o . length ; m > h ; h ++ ) { if ( i . maxWidth ) switch ( i . brushType ) { case "fill" : e . fillText ( o [ h ] , l , a , i . maxWidth ) ; break ; case "stroke" : e . strokeText ( o [ h ] , l , a , i . maxWidth ) ; break ; case "both" : e . fillText ( o [ h ] , l , a , i . maxWidth ) , e . strokeText ( o [ h ] , l , a , i . maxWidth ) ; break ; default : e . fillText ( o [ h ] , l , a , i . maxWidth ) } else switch ( i . brushType ) { case "fill" : e . fillText ( o [ h ] , l , a ) ; break ; case "stroke" : e . strokeText ( o [ h ] , l , a ) ; break ; case "both" : e . fillText ( o [ h ] , l , a ) , e . strokeText ( o [ h ] , l , a ) ; break ; default : e . fillText ( o [ h ] , l , a ) } a += r } e . restore ( ) } } , getRect : function ( e ) { if ( e . _ _rect ) return e . _ _rect ; var n = t . getTextWidth ( e . text , e . textFont ) , i = t . getTextHeight ( e . text , e . textFont ) , a = e . x ; "end" == e . textAlign || "right" == e . textAlign ? a -= n : "center" == e . textAlign && ( a -= n / 2 ) ; var o ; return o = "top" == e . textBaseline ? e . y : "bottom" == e . textBaseline ? e . y - i : e . y - i / 2 , e . _ _rect = { x : a , y : o , width : n , height : i } , e . _ _rect } } , e ( "../tool/util" ) . inherits ( i , n ) , i } ) , n ( "zrender/shape/Rectangle" , [ "require" , "./Base" , "../tool/util" ] , function ( e ) { var t = e ( "./Base" ) , n = function ( e ) { t . call ( this , e ) } ; return n . prototype = { type : "rectangle" , _buildRadiusPath : function ( e , t ) { var n , i , a , o , r = t . x , s = t . y , l = t . width , h = t . height , m = t . radius ; "number" == typeof m ? n = i = a = o = m : m instanceof Array ? 1 === m . length ? n = i = a = o = m [ 0 ] : 2 === m . length ? ( n = a = m [ 0 ] , i = o = m [ 1 ] ) : 3 === m . length ? ( n = m [ 0 ] , i = o = m [ 1 ] , a = m [ 2 ] ) : ( n = m [ 0 ] , i = m [ 1 ] , a = m [ 2 ] , o = m [ 3 ] ) : n = i = a = o = 0 ; var V ; n + i > l && ( V = n + i , n *= l / V , i *= l / V ) , a + o > l && ( V = a + o , a *= l / V , o *= l / V ) , i + a > h && ( V = i + a , i *= h / V , a *= h / V ) , n + o > h && ( V = n + o , n *= h / V , o *= h / V ) , e . moveTo ( r + n , s ) , e . lineTo ( r + l - i , s ) , 0 !== i && e . quadraticCurveTo ( r + l , s , r + l , s + i ) , e . lineTo ( r + l , s + h - a ) , 0 !== a && e . quadraticCurveTo ( r + l , s + h , r + l - a , s + h ) , e . lineTo ( r + o , s + h ) , 0 !== o && e . quadraticCurveTo ( r , s + h , r , s + h - o ) , e . lineTo ( r , s + n ) , 0 !== n && e . quadraticCurveTo ( r , s , r + n , s ) } , buildPath : function ( e , t ) { t . radius ? this . _buildRadiusPath ( e , t ) : ( e . moveTo ( t . x , t . y ) , e . lineTo ( t . x + t . width , t . y ) , e . lineTo ( t . x + t . width , t . y + t . height ) , e . lineTo ( t . x , t . y + t . height ) , e . lineTo ( t . x , t . y ) ) , e . closePath ( ) } , getRect : function ( e ) { if ( e . _ _rect ) return e . _ _rect ; var t ; return t = "stroke" == e . brushType || "fill" == e . brushType ? e . lineWidth || 1 : 0 , e . _ _rect = { x : Math . round ( e . x - t / 2 ) , y : Math . round ( e . y - t / 2 ) , width : e . width + t , height : e . height + t } , e . _ _rect } } , e ( "../tool/util" ) . inherits ( n , t ) , n } ) , n ( "zrender/tool/area" , [ "require" , "./util" , "./curve" ] , function ( e ) { "use strict" ; function t ( e ) { return e %= C , 0 > e && ( e += C ) , e } function n ( e , t , n , o ) { if ( ! t || ! e ) return ! 1 ; var r = e . type ; L = L || W . getContext ( ) ; var s = i ( e , t , n , o ) ; if ( "undefined" != typeof s ) return s ; if ( e . buildPath && L . isPointInPath ) return a ( e , L , t , n , o ) ; switch ( r ) { case "ellipse" : return ! 0 ; case "trochoid" : var l = "out" == t . location ? t . r1 + t . r2 + t . d : t . r1 - t . r2 + t . d ; return d ( t , n , o , l ) ; case "rose" : return d ( t , n , o , t . maxr ) ; default : return ! 1 } } function i ( e , t , n , i ) { var a = e . type ; switch ( a ) { case "bezier-curve" : return "undefined" == typeof t . cpX2 ? l ( t . xStart , t . yStart , t . cpX1 , t . cpY1 , t . xEnd , t . yEnd , t . lineWidth , n , i ) : s ( t . xStart , t . yStart , t . cpX1 , t . cpY1 , t . cpX2 , t . cpY2 , t . xEnd , t . yEnd , t . lineWidth , n , i ) ; case "line" : return r ( t . xStart , t . yStart , t . xEnd , t . yEnd , t . lineWidth , n , i ) ; case "polyline" : return m ( t . pointList , t . lineWidth , n , i ) ; case "ring" : return V ( t . x , t . y , t . r0 , t . r , n , i ) ; case "circle" : return d ( t . x , t . y , t . r , n , i ) ; case "sector" : var o = t . startAngle * Math . PI / 180 , h = t . endAngle * Math . PI / 180 ; return t . clockWise || ( o = - o , h = - h ) , p ( t . x , t . y , t . r0 , t . r , o , h , ! t . clockWise , n , i ) ; case "path" : return t . pathArray && k ( t . pathArray , Math . max ( t . lineWidth , 5 ) , t . brushType , n , i ) ; case "polygon" : case "star" : case "isogon" : return c ( t . pointList , n , i ) ; case "text" : var u = t . _ _rect || e . getRect ( t ) ; return U ( u . x , u . y , u .
V . isHorizontal = ! 0 } } } , addLabel : function ( e , t , n , i , a ) { var o = [ n , t ] , r = this . deepMerge ( o , "itemStyle.normal.label" ) , s = this . deepMerge ( o , "itemStyle.emphasis.label" ) , l = r . textStyle || { } , h = s . textStyle || { } ; if ( r . show ) { var m = e . style ; m . text = this . _getLabelText ( t , n , i , "normal" ) , m . textPosition = null == r . position ? "horizontal" === a ? "right" : "top" : r . position , m . textColor = l . color , m . textFont = this . getFont ( l ) , m . textAlign = l . align , m . textBaseline = l . baseline } if ( s . show ) { var V = e . highlightStyle ; V . text = this . _getLabelText ( t , n , i , "emphasis" ) , V . textPosition = r . show ? e . style . textPosition : null == s . position ? "horizontal" === a ? "right" : "top" : s . position , V . textColor = h . color , V . textFont = this . getFont ( h ) , V . textAlign = h . align , V . textBaseline = h . baseline } return e } , _getLabelText : function ( e , t , n , i ) { var a = this . deepQuery ( [ t , e ] , "itemStyle." + i + ".label.formatter" ) ; a || "emphasis" !== i || ( a = this . deepQuery ( [ t , e ] , "itemStyle.normal.label.formatter" ) ) ; var o = this . getDataFromOption ( t , "-" ) ; return a ? "function" == typeof a ? a . call ( this . myChart , { seriesName : e . name , series : e , name : n , value : o , data : t , status : i } ) : "string" == typeof a ? a = a . replace ( "{a}" , "{a0}" ) . replace ( "{b}" , "{b0}" ) . replace ( "{c}" , "{c0}" ) . replace ( "{a0}" , e . name ) . replace ( "{b0}" , n ) . replace ( "{c0}" , this . numAddCommas ( o ) ) : void 0 : o instanceof Array ? null != o [ 2 ] ? this . numAddCommas ( o [ 2 ] ) : o [ 0 ] + " , " + o [ 1 ] : this . numAddCommas ( o ) } , buildMark : function ( e ) { var t = this . series [ e ] ; this . selectedMap [ t . name ] && ( t . markLine && this . _buildMarkLine ( e ) , t . markPoint && this . _buildMarkPoint ( e ) ) } , _buildMarkPoint : function ( e ) { for ( var t , n , i = ( this . markAttachStyle || { } ) [ e ] , a = this . series [ e ] , o = u . clone ( a . markPoint ) , r = 0 , s = o . data . length ; s > r ; r ++ ) t = o . data [ r ] , n = this . getMarkCoord ( e , t ) , t . x = null != t . x ? t . x : n [ 0 ] , t . y = null != t . y ? t . y : n [ 1 ] , ! t . type || "max" !== t . type && "min" !== t . type || ( t . value = n [ 3 ] , t . name = t . name || t . type , t . symbolSize = t . symbolSize || y . getTextWidth ( n [ 3 ] , this . getFont ( ) ) / 2 + 5 ) ; for ( var l = this . _markPoint ( e , o ) , r = 0 , s = l . length ; s > r ; r ++ ) { var m = l [ r ] ; m . zlevel = this . getZlevelBase ( ) , m . z = this . getZBase ( ) + 1 ; for ( var V in i ) m [ V ] = u . clone ( i [ V ] ) ; this . shapeList . push ( m ) } if ( this . type === h . CHART _TYPE _FORCE || this . type === h . CHART _TYPE _CHORD ) for ( var r = 0 , s = l . length ; s > r ; r ++ ) this . zr . addShape ( l [ r ] ) } , _buildMarkLine : function ( e ) { for ( var t , n = ( this . markAttachStyle || { } ) [ e ] , i = this . series [ e ] , a = u . clone ( i . markLine ) , o = 0 , r = a . data . length ; r > o ; o ++ ) { var s = a . data [ o ] ; ! s . type || "max" !== s . type && "min" !== s . type && "average" !== s . type ? t = [ this . getMarkCoord ( e , s [ 0 ] ) , this . getMarkCoord ( e , s [ 1 ] ) ] : ( t = this . getMarkCoord ( e , s ) , a . data [ o ] = [ u . clone ( s ) , { } ] , a . data [ o ] [ 0 ] . name = s . name || s . type , a . data [ o ] [ 0 ] . value = "average" !== s . type ? t [ 3 ] : + t [ 3 ] . toFixed ( null != a . precision ? a . precision : this . deepQuery ( [ this . ecTheme , h ] , "markLine.precision" ) ) , t = t [ 2 ] , s = [ { } , { } ] ) , null != t && null != t [ 0 ] && null != t [ 1 ] && ( a . data [ o ] [ 0 ] . x = null != s [ 0 ] . x ? s [ 0 ] . x : t [ 0 ] [ 0 ] , a . data [ o ] [ 0 ] . y = null != s [ 0 ] . y ? s [ 0 ] . y : t [ 0 ] [ 1 ] , a . data [ o ] [ 1 ] . x = null != s [ 1 ] . x ? s [ 1 ] . x : t [ 1 ] [ 0 ] , a . data [ o ] [ 1 ] . y = null != s [ 1 ] . y ? s [ 1 ] . y : t [ 1 ] [ 1 ] ) } var m = this . _markLine ( e , a ) , V = a . large ; if ( V ) { var U = new l ( { style : { shapeList : m } } ) , d = m [ 0 ] ; if ( d ) { u . merge ( U . style , d . style ) , u . merge ( U . highlightStyle = { } , d . highlightStyle ) , U . style . brushType = "stroke" , U . zlevel = this . getZlevelBase ( ) , U . z = this . getZBase ( ) + 1 , U . hoverable = ! 1 ; for ( var p in n ) U [ p ] = u . clone ( n [ p ] ) } this . shapeList . push ( U ) , this . zr . addShape ( U ) , U . _mark = "largeLine" ; var c = a . effect ; c . show && ( U . effect = c ) } else { for ( var o = 0 , r = m . length ; r > o ; o ++ ) { var y = m [ o ] ; y . zlevel = this . getZlevelBase ( ) , y . z = this . getZBase ( ) + 1 ; for ( var p in n ) y [ p ] = u . clone ( n [ p ] ) ; this . shapeList . push ( y ) } if ( this . type === h . CHART _TYPE _FORCE || this . type === h . CHART _TYPE _CHORD ) for ( var o = 0 , r = m . length ; r > o ; o ++ ) this . zr . addShape ( m [ o ] ) } } , _markPoint : function ( e , t ) { var n = this . series [ e ] , i = this . component ; u . merge ( u . merge ( t , u . clone ( this . ecTheme . markPoint || { } ) ) , u . clone ( h . markPoint ) ) , t . name = n . name ; var a , o , r , s , l , V , U , d = [ ] , p = t . data , c = i . dataRange , y = i . legend , g = this . zr . getWidth ( ) , b = this . zr . getHeight ( ) ; if ( t . large ) a = this . getLargeMarkPointShape ( e , t ) , a . _mark = "largePoint" , a && d . push ( a ) ; else for ( var f = 0 , k = p . length ; k > f ; f ++ ) null != p [ f ] . x && null != p [ f ] . y && ( r = null != p [ f ] . value ? p [ f ] . value : "" , y && ( o = y . getColor ( n . name ) ) , c && ( o = isNaN ( r ) ? o : c . getColor ( r ) , s = [ p [ f ] , t ] , l = this . deepQuery ( s , "itemStyle.normal.color" ) || o , V = this . deepQuery ( s , "itemStyle.emphasis.color" ) || l , null == l
rotation : [ 0 , o , r ] } ) . start ( a ) ) : ( n . style . r0 = n . style . r , e . addShape ( n ) , e . animate ( n . id , "style" ) . when ( i , { r0 : s } ) . done ( function ( ) { n . _ _animating = ! 1 } ) . start ( a ) ) } function r ( e , t , i , a , o ) { t || ( t = "r" != i . _animationAdd ? { style : { startAngle : i . style . startAngle , endAngle : i . style . startAngle } } : { style : { r0 : i . style . r } } ) ; var r = i . style . startAngle , s = i . style . endAngle ; n ( i , t , "startAngle" , "endAngle" ) , e . addShape ( i ) , i . _ _animating = ! 0 , e . animate ( i . id , "style" ) . when ( a , { startAngle : r , endAngle : s } ) . done ( function ( ) { i . _ _animating = ! 1 } ) . start ( o ) } function s ( e , t , i , a , o ) { t || ( t = { style : { x : "left" == i . style . textAlign ? i . style . x + 100 : i . style . x - 100 , y : i . style . y } } ) ; var r = i . style . x , s = i . style . y ; n ( i , t , "x" , "y" ) , e . addShape ( i ) , i . _ _animating = ! 0 , e . animate ( i . id , "style" ) . when ( a , { x : r , y : s } ) . done ( function ( ) { i . _ _animating = ! 1 } ) . start ( o ) } function l ( t , n , i , a , o ) { var r = e ( "zrender/shape/Polygon" ) . prototype . getRect ( i . style ) , s = r . x + r . width / 2 , l = r . y + r . height / 2 ; i . scale = [ . 1 , . 1 , s , l ] , t . addShape ( i ) , i . _ _animating = ! 0 , t . animate ( i . id , "" ) . when ( a , { scale : [ 1 , 1 , s , l ] } ) . done ( function ( ) { i . _ _animating = ! 1 } ) . start ( o ) } function h ( e , t , i , a , o ) { t || ( t = { style : { source0 : 0 , source1 : i . style . source1 > 0 ? 360 : - 360 , target0 : 0 , target1 : i . style . target1 > 0 ? 360 : - 360 } } ) ; var r = i . style . source0 , s = i . style . source1 , l = i . style . target0 , h = i . style . target1 ; t . style && n ( i , t , "source0" , "source1" , "target0" , "target1" ) , e . addShape ( i ) , i . _ _animating = ! 0 , e . animate ( i . id , "style" ) . when ( a , { source0 : r , source1 : s , target0 : l , target1 : h } ) . done ( function ( ) { i . _ _animating = ! 1 } ) . start ( o ) } function m ( e , t , n , i , a ) { t || ( t = { style : { angle : n . style . startAngle } } ) ; var o = n . style . angle ; n . style . angle = t . style . angle , e . addShape ( n ) , n . _ _animating = ! 0 , e . animate ( n . id , "style" ) . when ( i , { angle : o } ) . done ( function ( ) { n . _ _animating = ! 1 } ) . start ( a ) } function V ( e , t , n , a , o , r ) { if ( n . style . _x = n . style . x , n . style . _y = n . style . y , n . style . _width = n . style . width , n . style . _height = n . style . height , t ) i ( e , t , n , a , o ) ; else { var s = n . _x || 0 , l = n . _y || 0 ; n . scale = [ . 01 , . 01 , s , l ] , e . addShape ( n ) , n . _ _animating = ! 0 , e . animate ( n . id , "" ) . delay ( r ) . when ( a , { scale : [ 1 , 1 , s , l ] } ) . done ( function ( ) { n . _ _animating = ! 1 } ) . start ( o || "QuinticOut" ) } } function U ( e , t , i , a , o ) { t || ( t = { style : { xStart : i . style . xStart , yStart : i . style . yStart , xEnd : i . style . xStart , yEnd : i . style . yStart } } ) ; var r = i . style . xStart , s = i . style . xEnd , l = i . style . yStart , h = i . style . yEnd ; n ( i , t , "xStart" , "xEnd" , "yStart" , "yEnd" ) , e . addShape ( i ) , i . _ _animating = ! 0 , e . animate ( i . id , "style" ) . when ( a , { xStart : r , xEnd : s , yStart : l , yEnd : h } ) . done ( function ( ) { i . _ _animating = ! 1 } ) . start ( o ) } function d ( e , t , n , i , a ) { a = a || "QuinticOut" , n . _ _animating = ! 0 , e . addShape ( n ) ; var o = n . style , r = function ( ) { n . _ _animating = ! 1 } , s = o . xStart , l = o . yStart , h = o . xEnd , m = o . yEnd ; if ( o . curveness > 0 ) { n . updatePoints ( o ) ; var V = { p : 0 } , U = o . cpX1 , d = o . cpY1 , p = [ ] , u = [ ] , y = c . quadraticSubdivide ; e . animation . animate ( V ) . when ( i , { p : 1 } ) . during ( function ( ) { y ( s , U , h , V . p , p ) , y ( l , d , m , V . p , u ) , o . cpX1 = p [ 1 ] , o . cpY1 = u [ 1 ] , o . xEnd = p [ 2 ] , o . yEnd = u [ 2 ] , e . modShape ( n ) } ) . done ( r ) . start ( a ) } else e . animate ( n . id , "style" ) . when ( 0 , { xEnd : s , yEnd : l } ) . when ( i , { xEnd : h , yEnd : m } ) . done ( r ) . start ( a ) } var p = e ( "zrender/tool/util" ) , c = e ( "zrender/tool/curve" ) ; return { pointList : t , rectangle : i , candle : a , ring : o , sector : r , text : s , polygon : l , ribbon : h , gaugePointer : m , icon : V , line : U , markline : d } } ) , n ( "echarts/util/ecEffect" , [ "require" , "../util/ecData" , "zrender/shape/Circle" , "zrender/shape/Image" , "zrender/tool/curve" , "../util/shape/Icon" , "../util/shape/Symbol" , "zrender/shape/ShapeBundle" , "zrender/shape/Polyline" , "zrender/tool/vector" , "zrender/tool/env" ] , function ( e ) { function t ( e , t , n , i ) { var a , r = n . effect , l = r . color || n . style . strokeColor || n . style . color , m = r . shadowColor || l , V = r . scaleSize , U = r . bounceDistance , d = "undefined" != typeof r . shadowBlur ? r . shadowBlur : V ; "image" !== n . type ? ( a = new h ( { zlevel : i , style : { brushType : "stroke" , iconType : "droplet" != n . style . iconType ? n . style . iconType : "circle" , x : d + 1 , y : d + 1 , n : n . style . n , width : n . style . _width * V , height : n . style . _height * V , lineWidth : 1 , strokeColor : l , shadowColor : m , shadowBlur : d } , draggable : ! 1 , hoverable : ! 1 } ) , "pin" == n . style . iconType && ( a . style . y += a . style . height / 2 * 1.5 ) , p && ( a . style . image = e . shapeToImage ( a , a . style . width + 2 * d + 2 , a . style . height + 2 * d + 2 ) . style . image , a = new s ( { zlevel : a . zlevel , style : a . style , draggable : ! 1 , hoverable : ! 1 } ) ) ) : a = new s ( { zlevel : i , style : n . style , draggable : ! 1 , hoverable : ! 1 } ) , o . clone ( n , a ) , a . posi
this . _textArea . style . cursor = "text" ) , this . _tDom . appendChild ( this . _buttonRefresh ) , this . _sizeCssText = "width:" + this . _zrWidth + "px;height:" + this . _zrHeight + "px;background-color:#fff;" , this . _tDom . style . cssText = this . _gCssText + this . _sizeCssText } , _optionToContent : function ( ) { var e , t , n , a , o , r , s = [ ] , l = "" ; if ( this . option . xAxis ) for ( s = this . option . xAxis instanceof Array ? this . option . xAxis : [ this . option . xAxis ] , e = 0 , a = s . length ; a > e ; e ++ ) if ( "category" == ( s [ e ] . type || "category" ) ) { for ( r = [ ] , t = 0 , n = s [ e ] . data . length ; n > t ; t ++ ) r . push ( this . getDataFromOption ( s [ e ] . data [ t ] ) ) ; l += r . join ( ", " ) + "\n\n" } if ( this . option . yAxis ) for ( s = this . option . yAxis instanceof Array ? this . option . yAxis : [ this . option . yAxis ] , e = 0 , a = s . length ; a > e ; e ++ ) if ( "category" == s [ e ] . type ) { for ( r = [ ] , t = 0 , n = s [ e ] . data . length ; n > t ; t ++ ) r . push ( this . getDataFromOption ( s [ e ] . data [ t ] ) ) ; l += r . join ( ", " ) + "\n\n" } var h , m = this . option . series ; for ( e = 0 , a = m . length ; a > e ; e ++ ) { for ( r = [ ] , t = 0 , n = m [ e ] . data . length ; n > t ; t ++ ) o = m [ e ] . data [ t ] , h = m [ e ] . type == i . CHART _TYPE _PIE || m [ e ] . type == i . CHART _TYPE _MAP ? ( o . name || "-" ) + ":" : "" , m [ e ] . type == i . CHART _TYPE _SCATTER && ( o = this . getDataFromOption ( o ) . join ( ", " ) ) , r . push ( h + this . getDataFromOption ( o ) ) ; l += ( m [ e ] . name || "-" ) + " : \n" , l += r . join ( m [ e ] . type == i . CHART _TYPE _SCATTER ? "\n" : ", " ) , l += "\n\n" } return l } , _save : function ( ) { var e = this . query ( this . option , "toolbox.feature.dataView.contentToOption" ) ; if ( "function" != typeof e ) { for ( var t = this . _textArea . value . split ( "\n" ) , n = [ ] , a = 0 , o = t . length ; o > a ; a ++ ) t [ a ] = this . _trim ( t [ a ] ) , "" !== t [ a ] && n . push ( t [ a ] ) ; this . _contentToOption ( n ) } else e ( this . _textArea , this . option ) ; this . hide ( ) ; var r = this ; setTimeout ( function ( ) { r . messageCenter && r . messageCenter . dispatch ( i . EVENT . DATA _VIEW _CHANGED , null , { option : r . option } , r . myChart ) } , r . canvasSupported ? 800 : 100 ) } , _contentToOption : function ( e ) { var t , n , a , o , r , s , l , h = [ ] , m = 0 ; if ( this . option . xAxis ) for ( h = this . option . xAxis instanceof Array ? this . option . xAxis : [ this . option . xAxis ] , t = 0 , o = h . length ; o > t ; t ++ ) if ( "category" == ( h [ t ] . type || "category" ) ) { for ( s = e [ m ] . split ( "," ) , n = 0 , a = h [ t ] . data . length ; a > n ; n ++ ) l = this . _trim ( s [ n ] || "" ) , r = h [ t ] . data [ n ] , "undefined" != typeof h [ t ] . data [ n ] . value ? h [ t ] . data [ n ] . value = l : h [ t ] . data [ n ] = l ; m ++ } if ( this . option . yAxis ) for ( h = this . option . yAxis instanceof Array ? this . option . yAxis : [ this . option . yAxis ] , t = 0 , o = h . length ; o > t ; t ++ ) if ( "category" == h [ t ] . type ) { for ( s = e [ m ] . split ( "," ) , n = 0 , a = h [ t ] . data . length ; a > n ; n ++ ) l = this . _trim ( s [ n ] || "" ) , r = h [ t ] . data [ n ] , "undefined" != typeof h [ t ] . data [ n ] . value ? h [ t ] . data [ n ] . value = l : h [ t ] . data [ n ] = l ; m ++ } var V = this . option . series ; for ( t = 0 , o = V . length ; o > t ; t ++ ) if ( m ++ , V [ t ] . type == i . CHART _TYPE _SCATTER ) for ( var n = 0 , a = V [ t ] . data . length ; a > n ; n ++ ) s = e [ m ] , l = s . replace ( " " , "" ) . split ( "," ) , "undefined" != typeof V [ t ] . data [ n ] . value ? V [ t ] . data [ n ] . value = l : V [ t ] . data [ n ] = l , m ++ ; else { s = e [ m ] . split ( "," ) ; for ( var n = 0 , a = V [ t ] . data . length ; a > n ; n ++ ) l = ( s [ n ] || "" ) . replace ( /.*:/ , "" ) , l = this . _trim ( l ) , l = "-" != l && "" !== l ? l - 0 : "-" , "undefined" != typeof V [ t ] . data [ n ] . value ? V [ t ] . data [ n ] . value = l : V [ t ] . data [ n ] = l ; m ++ } } , _trim : function ( e ) { var t = new RegExp ( "(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)" , "g" ) ; return e . replace ( t , "" ) } , _stop : function ( e ) { e = e || window . event , e . stopPropagation ? e . stopPropagation ( ) : e . cancelBubble = ! 0 } , resize : function ( ) { this . _zrHeight = this . zr . getHeight ( ) , this . _zrWidth = this . zr . getWidth ( ) , this . _tDom . offsetHeight > 10 && ( this . _sizeCssText = "width:" + this . _zrWidth + "px;height:" + this . _zrHeight + "px;background-color:#fff;" , this . _tDom . style . cssText = this . _gCssText + this . _sizeCssText , this . _textArea . style . cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + ( this . _zrHeight - 100 ) + "px;" ) } , dispose : function ( ) { window . removeEventListener ? ( this . _tDom . removeEventListener ( "click" , this . _stop ) , this . _tDom . removeEventListener ( "mousewheel" , this . _stop ) , this . _tDom . removeEventListener ( "mousemove" , this . _stop ) , this . _tDom . removeEventListener ( "mousedown" , this . _stop ) , this . _tDom . removeEventListener ( "mouseup" , this . _stop ) , this . _tDom . removeEventListener ( "touchstart" , this . _stop ) , this . _tDom . removeEventListener ( "touchmove" , this . _stop ) , this . _tDom . removeEventListener ( "touchend" , this . _stop ) ) : ( this . _tDom . detachEvent ( "onclick" , this . _stop ) , this . _tDom . detachEvent ( "onmousewheel" , this . _stop ) , this . _tDom . detachEvent ( "onmousemove" , thi
i = this . _zoom . start / 100 * n + l . x . min , a = this . _zoom . end / 100 * n + l . x . min , n = l . y . max - l . y . min , o = this . _zoom . start2 / 100 * n + l . y . min , r = this . _zoom . end2 / 100 * n + l . y . min ) : ( n = l . x . max - l . x . min , i = this . _zoom . start2 / 100 * n + l . x . min , a = this . _zoom . end2 / 100 * n + l . x . min , n = l . y . max - l . y . min , o = this . _zoom . start / 100 * n + l . y . min , r = this . _zoom . end / 100 * n + l . y . min ) ; var h ; ( h = l . x . dataMappingMethods ) && ( i = h . coord2Value ( i ) , a = h . coord2Value ( a ) ) , ( h = l . y . dataMappingMethods ) && ( o = h . coord2Value ( o ) , r = h . coord2Value ( r ) ) ; for ( var m , V = 0 , U = t . length ; U > V ; V ++ ) m = t [ V ] . value || t [ V ] , m [ 0 ] >= i && m [ 0 ] <= a && m [ 1 ] >= o && m [ 1 ] <= r && s . push ( t [ V ] ) ; return s } , _setScale : function ( ) { var e = 0 !== this . _zoom . start || 100 !== this . _zoom . end || 0 !== this . _zoom . start2 || 100 !== this . _zoom . end2 , t = { xAxis : this . option . xAxis , yAxis : this . option . yAxis } ; for ( var n in t ) for ( var i = 0 , a = t [ n ] . length ; a > i ; i ++ ) t [ n ] [ i ] . scale = e || t [ n ] [ i ] . _scale } , _backupScale : function ( ) { var e = { xAxis : this . option . xAxis , yAxis : this . option . yAxis } ; for ( var t in e ) for ( var n = 0 , i = e [ t ] . length ; i > n ; n ++ ) e [ t ] [ n ] . _scale = e [ t ] [ n ] . scale } , _getDetail : function ( ) { for ( var e = [ "xAxis" , "yAxis" ] , t = 0 , n = e . length ; n > t ; t ++ ) { var i = this . _originalData [ e [ t ] ] ; for ( var a in i ) { var o = i [ a ] ; if ( null != o ) { var r = o . length , l = Math . floor ( this . _zoom . start / 100 * r ) , h = Math . ceil ( this . _zoom . end / 100 * r ) ; return h -= h > 0 ? 1 : 0 , { start : this . getDataFromOption ( o [ l ] ) , end : this . getDataFromOption ( o [ h ] ) } } } } e = "horizontal" == this . zoomOption . orient ? "xAxis" : "yAxis" ; var m = this . _zoom . seriesIndex [ 0 ] , V = this . option . series [ m ] [ e + "Index" ] || 0 , U = this . option [ e ] [ V ] . type , d = this . _zoom . scatterMap [ m ] [ e . charAt ( 0 ) ] . min , p = this . _zoom . scatterMap [ m ] [ e . charAt ( 0 ) ] . max , c = p - d ; if ( "value" == U ) return { start : d + c * this . _zoom . start / 100 , end : d + c * this . _zoom . end / 100 } ; if ( "time" == U ) { p = d + c * this . _zoom . end / 100 , d += c * this . _zoom . start / 100 ; var u = s . getAutoFormatter ( d , p ) . formatter ; return { start : s . format ( u , d ) , end : s . format ( u , p ) } } return { start : "" , end : "" } } , _ _ondrift : function ( e , t , n ) { this . zoomOption . zoomLock && ( e = this . _fillerShae ) ; var i = "filler" == e . _type ? this . _handleSize : 0 ; if ( "horizontal" == this . zoomOption . orient ? e . style . x + t - i <= this . _location . x ? e . style . x = this . _location . x + i : e . style . x + t + e . style . width + i >= this . _location . x + this . _location . width ? e . style . x = this . _location . x + this . _location . width - e . style . width - i : e . style . x += t : e . style . y + n - i <= this . _location . y ? e . style . y = this . _location . y + i : e . style . y + n + e . style . height + i >= this . _location . y + this . _location . height ? e . style . y = this . _location . y + this . _location . height - e . style . height - i : e . style . y += n , "filler" == e . _type ? this . _syncHandleShape ( ) : this . _syncFillerShape ( ) , this . zoomOption . realtime && this . _syncData ( ) , this . zoomOption . showDetail ) { var a = this . _getDetail ( ) ; this . _startShape . style . text = this . _startShape . highlightStyle . text = a . start , this . _endShape . style . text = this . _endShape . highlightStyle . text = a . end , this . _startShape . style . textPosition = this . _startShape . highlightStyle . textPosition , this . _endShape . style . textPosition = this . _endShape . highlightStyle . textPosition } return ! 0 } , _ _ondragend : function ( ) { this . zoomOption . showDetail && ( this . _startShape . style . text = this . _endShape . style . text = "=" , this . _startShape . style . textPosition = this . _endShape . style . textPosition = "inside" , this . zr . modShape ( this . _startShape . id ) , this . zr . modShape ( this . _endShape . id ) , this . zr . refreshNextFrame ( ) ) , this . isDragend = ! 0 } , ondragend : function ( e , t ) { this . isDragend && e . target && ( ! this . zoomOption . realtime && this . _syncData ( ) , t . dragOut = ! 0 , t . dragIn = ! 0 , this . _isSilence || this . zoomOption . realtime || this . messageCenter . dispatch ( r . EVENT . DATA _ZOOM , null , { zoom : this . _zoom } , this . myChart ) , t . needRefresh = ! 1 , this . isDragend = ! 1 ) } , ondataZoom : function ( e , t ) { t . needRefresh = ! 0 } , absoluteZoom : function ( e ) { this . _zoom . start = e . start , this . _zoom . end = e . end , this . _zoom . start2 = e . start2 , this . _zoom . end2 = e . end2 , this . _syncShape ( ) , this . _syncData ( ! 0 ) } , rectZoom : function ( e ) { if ( ! e ) return this . _zoom . start = this . _zoom . start2 = 0 , this . _zoom . end = this . _zoom . end2 = 100 , this . _syncShape ( ) , this . _syncData ( ! 0 ) , this . _zoom ; var t = this . component . grid . getArea ( ) , n = { x : e . x , y : e . y , width : e . width , height : e . height } ; if ( n . width < 0 && ( n . x += n . width , n . width = - n . width ) , n . height < 0 && ( n . y += n . height , n . height = - n . height ) , n . x > t . x + t . width || n . y > t . y + t . height ) return ! 1 ; n . x < t . x && ( n . x = t . x ) , n . x + n . width > t . x + t . width && ( n . width = t . x + t . width - n . x ) , n . y + n . height > t . y + t . h
i = 0 ) , [ n , i ] } function u ( e ) { return e = ( + e ) . toFixed ( 15 ) . split ( "." ) , e . pop ( ) . replace ( /0+$/ , "" ) . length } function y ( e , t , n , i ) { if ( x ) { var a = o ( e , 4 , 1 ) ; n . e - a . e > 6 && ( a = { c : 0 , e : n . e } ) , s ( n , a ) , s ( i , a ) , i . c += a . c - n . c , n . c = a . c } else if ( _ ) { var r = o ( t , 4 ) ; i . e - r . e > 6 && ( r = { c : 0 , e : i . e } ) , s ( n , r ) , s ( i , r ) , n . c += r . c - i . c , i . c = r . c } } function g ( e , t , n ) { var i = n ? [ n ] : k , s = t - e ; if ( 0 === s ) return t = o ( t , 3 ) , n = i [ 0 ] , t . c = K ( t . c + n / 2 ) , a ( t . c - n , t . c , n , t . e ) ; I ( t / s ) < 1e-6 && ( t = 0 ) , I ( e / s ) < 1e-6 && ( e = 0 ) ; var l , h , m , V = [ [ 5 , 10 ] , [ 10 , 2 ] , [ 50 , 10 ] , [ 100 , 2 ] ] , U = [ ] , d = [ ] , p = o ( t - e , 3 ) , c = o ( e , - 1 , 1 ) , u = o ( t , - 1 ) ; r ( c , p , 1 ) , r ( u , p ) , s = u . c - c . c , p . c = s ; for ( var y = i . length ; y -- ; ) { n = i [ y ] , l = w ( s / n ) , h = l * n - s , m = 3 * ( h + 3 ) , m += 2 * ( n - i [ 0 ] + 2 ) , n % 5 === 0 && ( m -= 10 ) ; for ( var g = V . length ; g -- ; ) l % V [ g ] [ 0 ] === 0 && ( m /= V [ g ] [ 1 ] ) ; d [ y ] = [ n , l , h , m ] . join ( ) , U [ y ] = { secs : n , step : l , delta : h , score : m } } return U . sort ( function ( e , t ) { return e . score - t . score } ) , U = U [ 0 ] , c . c = K ( c . c - U . delta / 2 ) , u . c = K ( u . c + U . delta / 2 ) , a ( c . c , u . c , U . secs , p . e ) } var b , f , k , x , _ , L = [ 10 , 20 , 25 , 50 ] , W = [ 4 , 5 , 6 ] , X = Math , K = X . round , v = X . floor , w = X . ceil , I = X . abs ; return i } ) , n ( "echarts/util/smartLogSteps" , [ "require" , "./number" ] , function ( e ) { function t ( e ) { return n ( ) , u = e || { } , i ( ) , a ( ) , [ o ( ) , n ( ) ] [ 0 ] } function n ( ) { U = u = g = c = b = f = y = k = d = p = null } function i ( ) { d = u . logLabelBase , null == d ? ( p = "plain" , d = 10 , c = I ) : ( d = + d , 1 > d && ( d = 10 ) , p = "exponent" , c = L ( d ) ) , y = u . splitNumber , null == y && ( y = E ) ; var e = parseFloat ( u . dataMin ) , t = parseFloat ( u . dataMax ) ; isFinite ( e ) || isFinite ( t ) ? isFinite ( e ) ? isFinite ( t ) ? e > t && ( t = [ e , e = t ] [ 0 ] ) : t = e : e = t : e = t = 1 , U = u . logPositive , null == U && ( U = t > 0 || 0 === e ) , b = U ? e : - t , f = U ? t : - e , S > b && ( b = S ) , S > f && ( f = S ) } function a ( ) { function e ( ) { y > m && ( y = m ) ; var e = v ( l ( m / y ) ) , t = K ( l ( m / e ) ) , n = e * t , i = ( n - U ) / 2 , a = v ( l ( r - i ) ) ; V ( a - r ) && ( a -= 1 ) , g = - a * c ; for ( var s = a ; o >= s - e ; s += e ) k . push ( W ( d , s ) ) } function t ( ) { for ( var e = n ( h , 0 ) , t = e + 2 ; t > e && a ( e + 1 ) + i ( e + 1 ) * C < r ; ) e ++ ; for ( var l = n ( s , 0 ) , t = l - 2 ; l > t && a ( l - 1 ) + i ( l - 1 ) * C > o ; ) l -- ; g = - ( a ( e ) * I + i ( e ) * J ) ; for ( var m = e ; l >= m ; m ++ ) { var V = a ( m ) , U = i ( m ) ; k . push ( W ( 10 , V ) * W ( 2 , U ) ) } } function n ( e , t ) { return 3 * e + t } function i ( e ) { return e - 3 * a ( e ) } function a ( e ) { return v ( l ( e / 3 ) ) } k = [ ] ; var o = l ( L ( f ) / c ) , r = l ( L ( b ) / c ) , s = K ( o ) , h = v ( r ) , m = s - h , U = o - r ; "exponent" === p ? e ( ) : F >= m && y > F ? t ( ) : e ( ) } function o ( ) { for ( var e = [ ] , t = 0 , n = k . length ; n > t ; t ++ ) e [ t ] = ( U ? 1 : - 1 ) * k [ t ] ; ! U && e . reverse ( ) ; var i = s ( ) , a = i . value2Coord , o = a ( e [ 0 ] ) , l = a ( e [ e . length - 1 ] ) ; return o === l && ( o -= 1 , l += 1 ) , { dataMin : o , dataMax : l , tickList : e , logPositive : U , labelFormatter : r ( ) , dataMappingMethods : i } } function r ( ) { if ( "exponent" === p ) { var e = d , t = c ; return function ( n ) { if ( ! isFinite ( parseFloat ( n ) ) ) return "" ; var i = "" ; return 0 > n && ( n = - n , i = "-" ) , i + e + m ( L ( n ) / t ) } } return function ( e ) { return isFinite ( parseFloat ( e ) ) ? x . addCommas ( h ( e ) ) : "" } } function s ( ) { var e = U , t = g ; return { value2Coord : function ( n ) { return null == n || isNaN ( n ) || ! isFinite ( n ) ? n : ( n = parseFloat ( n ) , isFinite ( n ) ? e && S > n ? n = S : ! e && n > - S && ( n = - S ) : n = S , n = X ( n ) , ( e ? 1 : - 1 ) * ( L ( n ) + t ) ) } , coord2Value : function ( n ) { return null == n || isNaN ( n ) || ! isFinite ( n ) ? n : ( n = parseFloat ( n ) , isFinite ( n ) || ( n = S ) , e ? W ( w , n - t ) : - W ( w , - n + t ) ) } } } function l ( e ) { return + Number ( + e ) . toFixed ( 14 ) } function h ( e ) { return Number ( e ) . toFixed ( 15 ) . replace ( /\.?0*$/ , "" ) } function m ( e ) { e = h ( Math . round ( e ) ) ; for ( var t = [ ] , n = 0 , i = e . length ; i > n ; n ++ ) { var a = e . charAt ( n ) ; t . push ( T [ a ] || "" ) } return t . join ( "" ) } function V ( e ) { return e > - S && S > e } var U , d , p , c , u , y , g , b , f , k , x = e ( "./number" ) , _ = Math , L = _ . log , W = _ . pow , X = _ . abs , K = _ . ceil , v = _ . floor , w = _ . E , I = _ . LN10 , J = _ . LN2 , C = J / I , S = 1e-9 , E = 5 , F = 2 , T = { 0 : "⁰" , 1 : "¹" , 2 : "²" , 3 : "³" , 4 : "⁴" , 5 : "⁵" , 6 : "⁶" , 7 : "⁷" , 8 : "⁸" , 9 : "⁹" , "-" : "⁻" } ; return t } ) , n ( "echarts/chart/line" , [ "require" , "./base" , "zrender/shape/Polyline" , "../util/shape/Icon" , "../util/shape/HalfSmoothPolygon" , "../component/axis" , "../component/grid" , "../component/dataZoom" , "../config" , "../util/ecData" , "zrender/tool/util" , "zrender/tool/color" , "../chart" ] , function ( e ) { function t ( e , t , n , a , o ) { i . call ( this , e , t , n , a , o ) , this . refresh ( a ) } function n ( e , t , n ) { var i = t . x , a = t . y , r = t . width , s = t . height , l = s / 2 ; t . symbol . match ( "empty" ) && ( e . fillStyle = "#fff" ) , t . brushType = "both" ; var h = t . symbol . replace ( "empty" , "" ) . toLowerCase ( ) ; h . match ( "star" ) ? ( l = h . replace ( "star" , "" ) - 0 || 5 , a -= 1 , h = "star" ) : ( "rectangle" === h || "arrow" === h ) && ( i += ( r - s ) / 2 , r = s ) ; var m = "" ; if ( h . match ( "image" ) && ( m = h . replace ( new RegExp ( "^image:\\/\\/" ) , "" ) , h = "image" , i += Math . round ( ( r - s ) / 2 ) - 1 , r = s += 2 ) , h = o . prototype . iconLibrary [ h ] ) { var V = t . x , U = t . y ; e . moveTo ( V , U + l )
var s = this ; s . _ondrift = function ( e , t ) { return s . _ _ondrift ( this , e , t ) } , s . _ondragend = function ( ) { return s . _ _ondragend ( ) } , s . _dataRangeSelected = function ( e ) { return s . _ _dataRangeSelected ( e ) } , s . _dispatchHoverLink = function ( e ) { return s . _ _dispatchHoverLink ( e ) } , s . _onhoverlink = function ( e ) { return s . _ _onhoverlink ( e ) } , this . _selectedMap = { } , this . _range = { } , this . refresh ( a ) , t . bind ( r . EVENT . HOVER , this . _onhoverlink ) } var n = e ( "./base" ) , i = e ( "zrender/shape/Text" ) , a = e ( "zrender/shape/Rectangle" ) , o = e ( "../util/shape/HandlePolygon" ) , r = e ( "../config" ) ; r . dataRange = { zlevel : 0 , z : 4 , show : ! 0 , orient : "vertical" , x : "left" , y : "bottom" , backgroundColor : "rgba(0,0,0,0)" , borderColor : "#ccc" , borderWidth : 0 , padding : 5 , itemGap : 10 , itemWidth : 20 , itemHeight : 14 , precision : 0 , splitNumber : 5 , calculable : ! 1 , selectedMode : ! 0 , hoverLink : ! 0 , realtime : ! 0 , color : [ "#006edd" , "#e0ffff" ] , textStyle : { color : "#333" } } ; var s = e ( "zrender/tool/util" ) , l = e ( "zrender/tool/event" ) , h = e ( "zrender/tool/area" ) , m = e ( "zrender/tool/color" ) ; return t . prototype = { type : r . COMPONENT _TYPE _DATARANGE , _textGap : 10 , _buildShape : function ( ) { if ( this . _itemGroupLocation = this . _getItemGroupLocation ( ) , this . _buildBackground ( ) , this . dataRangeOption . splitNumber <= 0 || this . dataRangeOption . calculable ? this . _buildGradient ( ) : this . _buildItem ( ) , this . dataRangeOption . show ) for ( var e = 0 , t = this . shapeList . length ; t > e ; e ++ ) this . zr . addShape ( this . shapeList [ e ] ) ; this . _syncShapeFromRange ( ) } , _buildItem : function ( ) { var e , t , n , o , r = this . _valueTextList , s = r . length , l = this . getFont ( this . dataRangeOption . textStyle ) , m = this . _itemGroupLocation . x , V = this . _itemGroupLocation . y , U = this . dataRangeOption . itemWidth , d = this . dataRangeOption . itemHeight , p = this . dataRangeOption . itemGap , c = h . getTextHeight ( "国" , l ) ; "vertical" == this . dataRangeOption . orient && "right" == this . dataRangeOption . x && ( m = this . _itemGroupLocation . x + this . _itemGroupLocation . width - U ) ; var u = ! 0 ; this . dataRangeOption . text && ( u = ! 1 , this . dataRangeOption . text [ 0 ] && ( n = this . _getTextShape ( m , V , this . dataRangeOption . text [ 0 ] ) , "horizontal" == this . dataRangeOption . orient ? m += h . getTextWidth ( this . dataRangeOption . text [ 0 ] , l ) + this . _textGap : ( V += c + this . _textGap , n . style . y += c / 2 + this . _textGap , n . style . textBaseline = "bottom" ) , this . shapeList . push ( new i ( n ) ) ) ) ; for ( var y = 0 ; s > y ; y ++ ) e = r [ y ] , o = this . getColorByIndex ( y ) , t = this . _getItemShape ( m , V , U , d , this . _selectedMap [ y ] ? o : "#ccc" ) , t . _idx = y , t . onmousemove = this . _dispatchHoverLink , this . dataRangeOption . selectedMode && ( t . clickable = ! 0 , t . onclick = this . _dataRangeSelected ) , this . shapeList . push ( new a ( t ) ) , u && ( n = { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , style : { x : m + U + 5 , y : V , color : this . _selectedMap [ y ] ? this . dataRangeOption . textStyle . color : "#ccc" , text : r [ y ] , textFont : l , textBaseline : "top" } , highlightStyle : { brushType : "fill" } } , "vertical" == this . dataRangeOption . orient && "right" == this . dataRangeOption . x && ( n . style . x -= U + 10 , n . style . textAlign = "right" ) , n . _idx = y , n . onmousemove = this . _dispatchHoverLink , this . dataRangeOption . selectedMode && ( n . clickable = ! 0 , n . onclick = this . _dataRangeSelected ) , this . shapeList . push ( new i ( n ) ) ) , "horizontal" == this . dataRangeOption . orient ? m += U + ( u ? 5 : 0 ) + ( u ? h . getTextWidth ( e , l ) : 0 ) + p : V += d + p ; ! u && this . dataRangeOption . text [ 1 ] && ( "horizontal" == this . dataRangeOption . orient ? m = m - p + this . _textGap : V = V - p + this . _textGap , n = this . _getTextShape ( m , V , this . dataRangeOption . text [ 1 ] ) , "horizontal" != this . dataRangeOption . orient && ( n . style . y -= 5 , n . style . textBaseline = "top" ) , this . shapeList . push ( new i ( n ) ) ) } , _buildGradient : function ( ) { var t , n , o = this . getFont ( this . dataRangeOption . textStyle ) , r = this . _itemGroupLocation . x , s = this . _itemGroupLocation . y , l = this . dataRangeOption . itemWidth , m = this . dataRangeOption . itemHeight , V = h . getTextHeight ( "国" , o ) , U = 10 , d = ! 0 ; this . dataRangeOption . text && ( d = ! 1 , this . dataRangeOption . text [ 0 ] && ( n = this . _getTextShape ( r , s , this . dataRangeOption . text [ 0 ] ) , "horizontal" == this . dataRangeOption . orient ? r += h . getTextWidth ( this . dataRangeOption . text [ 0 ] , o ) + this . _textGap : ( s += V + this . _textGap , n . style . y += V / 2 + this . _textGap , n . style . textBaseline = "bottom" ) , this . shapeList . push ( new i ( n ) ) ) ) ; for ( var p = e ( "zrender/tool/color" ) , c = 1 / ( this . dataRangeOption . color . length - 1 ) , u = [ ] , y = 0 , g = this . dataRangeOption . color . length ; g > y ; y ++ ) u . push ( [ y * c , this . dataRangeOption . color [ y ] ] ) ; "horizontal" == this . dataRangeOption . orient ? ( t = { zlevel : thi
var U = this . series , d = ( ( m + l ) / 2 + 360 ) % 360 , p = this . getSector ( t , n , i , a , o , r , s , l , m , V ) ; h . pack ( p , U [ t ] , t , U [ t ] . data [ n ] , n , U [ t ] . data [ n ] . name , i ) , e . push ( p ) ; var c = this . getLabel ( t , n , i , o , d , V , ! 1 ) , u = this . getLabelLine ( t , n , o , r , s , d , V , ! 1 ) ; u && ( h . pack ( u , U [ t ] , t , U [ t ] . data [ n ] , n , U [ t ] . data [ n ] . name , i ) , e . push ( u ) ) , c && ( h . pack ( c , U [ t ] , t , U [ t ] . data [ n ] , n , U [ t ] . data [ n ] . name , i ) , c . _labelLine = u , e . push ( c ) ) } , getSector : function ( e , t , n , i , a , o , s , l , h , m ) { var d = this . series , p = d [ e ] , c = p . data [ t ] , u = [ c , p ] , y = this . deepMerge ( u , "itemStyle.normal" ) || { } , g = this . deepMerge ( u , "itemStyle.emphasis" ) || { } , b = this . getItemStyleColor ( y . color , e , t , c ) || m , f = this . getItemStyleColor ( g . color , e , t , c ) || ( "string" == typeof b ? U . lift ( b , - . 2 ) : b ) , k = { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , clickable : this . deepQuery ( u , "clickable" ) , style : { x : a [ 0 ] , y : a [ 1 ] , r0 : o , r : s , startAngle : l , endAngle : h , brushType : "both" , color : b , lineWidth : y . borderWidth , strokeColor : y . borderColor , lineJoin : "round" } , highlightStyle : { color : f , lineWidth : g . borderWidth , strokeColor : g . borderColor , lineJoin : "round" } , _seriesIndex : e , _dataIndex : t } ; if ( i ) { var x = ( ( k . style . startAngle + k . style . endAngle ) / 2 ) . toFixed ( 2 ) - 0 ; k . style . _hasSelected = ! 0 , k . style . _x = k . style . x , k . style . _y = k . style . y ; var _ = this . query ( p , "selectedOffset" ) ; k . style . x += V . cos ( x , ! 0 ) * _ , k . style . y -= V . sin ( x , ! 0 ) * _ , this . _selected [ e ] [ t ] = ! 0 } else this . _selected [ e ] [ t ] = ! 1 ; return this . _selectedMode && ( k . onclick = this . shapeHandler . onclick ) , this . deepQuery ( [ c , p , this . option ] , "calculable" ) && ( this . setCalculable ( k ) , k . draggable = ! 0 ) , ( this . _needLabel ( p , c , ! 0 ) || this . _needLabelLine ( p , c , ! 0 ) ) && ( k . onmouseover = this . shapeHandler . onmouseover ) , k = new r ( k ) } , getLabel : function ( e , t , n , a , o , r , s ) { var l = this . series , h = l [ e ] , U = h . data [ t ] ; if ( this . _needLabel ( h , U , s ) ) { var d , p , c , u = s ? "emphasis" : "normal" , y = m . merge ( m . clone ( U . itemStyle ) || { } , h . itemStyle ) , g = y [ u ] . label , b = g . textStyle || { } , f = a [ 0 ] , k = a [ 1 ] , x = this . parseRadius ( this . zr , h . radius ) , _ = "middle" ; g . position = g . position || y . normal . label . position , "center" === g . position ? ( d = f , p = k , c = "center" ) : "inner" === g . position || "inside" === g . position ? ( x = ( x [ 0 ] + x [ 1 ] ) * ( g . distance || . 5 ) , d = Math . round ( f + x * V . cos ( o , ! 0 ) ) , p = Math . round ( k - x * V . sin ( o , ! 0 ) ) , r = "#fff" , c = "center" ) : ( x = x [ 1 ] - - y [ u ] . labelLine . length , d = Math . round ( f + x * V . cos ( o , ! 0 ) ) , p = Math . round ( k - x * V . sin ( o , ! 0 ) ) , c = o >= 90 && 270 >= o ? "right" : "left" ) , "center" != g . position && "inner" != g . position && "inside" != g . position && ( d += "left" === c ? 20 : - 20 ) , U . _ _labelX = d - ( "left" === c ? 5 : - 5 ) , U . _ _labelY = p ; var L = new i ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) + 1 , hoverable : ! 1 , style : { x : d , y : p , color : b . color || r , text : this . getLabelText ( e , t , n , u ) , textAlign : b . align || c , textBaseline : b . baseline || _ , textFont : this . getFont ( b ) } , highlightStyle : { brushType : "fill" } } ) ; return L . _radius = x , L . _labelPosition = g . position || "outer" , L . _rect = L . getRect ( L . style ) , L . _seriesIndex = e , L . _dataIndex = t , L } } , getLabelText : function ( e , t , n , i ) { var a = this . series , o = a [ e ] , r = o . data [ t ] , s = this . deepQuery ( [ r , o ] , "itemStyle." + i + ".label.formatter" ) ; return s ? "function" == typeof s ? s . call ( this . myChart , { seriesIndex : e , seriesName : o . name || "" , series : o , dataIndex : t , data : r , name : r . name , value : r . value , percent : n } ) : "string" == typeof s ? ( s = s . replace ( "{a}" , "{a0}" ) . replace ( "{b}" , "{b0}" ) . replace ( "{c}" , "{c0}" ) . replace ( "{d}" , "{d0}" ) , s = s . replace ( "{a0}" , o . name ) . replace ( "{b0}" , r . name ) . replace ( "{c0}" , r . value ) . replace ( "{d0}" , n ) ) : void 0 : r . name } , getLabelLine : function ( e , t , n , i , a , o , r , l ) { var h = this . series , U = h [ e ] , d = U . data [ t ] ; if ( this . _needLabelLine ( U , d , l ) ) { var p = l ? "emphasis" : "normal" , c = m . merge ( m . clone ( d . itemStyle ) || { } , U . itemStyle ) , u = c [ p ] . labelLine , y = u . lineStyle || { } , g = n [ 0 ] , b = n [ 1 ] , f = a , k = this . parseRadius ( this . zr , U . radius ) [ 1 ] - - u . length , x = V . cos ( o , ! 0 ) , _ = V . sin ( o , ! 0 ) ; return new s ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) + 1 , hoverable : ! 1 , style : { pointList : [ [ g + f * x , b - f * _ ] , [ g + k * x , b - k * _ ] , [ d . _ _labelX , d . _ _labelY ] ] , strokeColor : y . color || r , lineType : y . type , lineWidth : y . width } , _seriesIndex : e , _dataIndex : t } ) } } , _needLabel : function ( e , t , n ) { return this . deepQuery ( [ t , e ] , "itemStyle." + ( n ? "emphasis" : "normal" ) + ".label.show" ) } , _needLabelLine : function ( e , t , n ) { return this . deepQuery ( [ t , e ] , "itemStyle." + ( n ? "emphasis" : "normal" ) + ".labelLine.show" ) } , _autoLabelLayout : function ( e , t , n ) { for ( var i = [ ] , a = [ ] , o = 0 , r = e . length ; r > o ; o ++ ) ( "outer" === e [ o ] . _labelPosition || "outside" === e [ o ] . _lab
y . style . y = u [ 1 ] ) , y . style . textColor = this . deepQuery ( [ e . data , a ] , "itemStyle.normal.label.textStyle.color" ) || "#fff" , y . style . textFont = this . getFont ( this . deepQuery ( [ e . data , a ] , "itemStyle.normal.label.textStyle" ) ) , y = new i ( y ) , this . shapeList . push ( y ) , e . labelShape = y } , this ) } , _buildRibbons : function ( e , t , n , i ) { var a = e [ t ] , o = this . parseCenter ( this . zr , i . center ) , s = this . parseRadius ( this . zr , i . radius ) ; n . eachEdge ( function ( l , h ) { var V , U = n . getEdge ( l . node2 , l . node1 ) ; if ( U && ! l . shape ) { if ( U . shape ) return void ( l . shape = U . shape ) ; var d = l . layout . startAngle / Math . PI * 180 , p = l . layout . endAngle / Math . PI * 180 , c = U . layout . startAngle / Math . PI * 180 , u = U . layout . endAngle / Math . PI * 180 ; V = this . getColor ( 1 === e . length ? l . layout . weight <= U . layout . weight ? l . node1 . id : l . node2 . id : a . name ) ; var y , g , b = this . _getEdgeQueryTarget ( a , l . data ) , f = this . _getEdgeQueryTarget ( a , l . data , "emphasis" ) , k = new r ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , style : { x : o [ 0 ] , y : o [ 1 ] , r : s [ 0 ] , source0 : d , source1 : p , target0 : c , target1 : u , brushType : "both" , opacity : this . deepQuery ( b , "opacity" ) , color : V , lineWidth : this . deepQuery ( b , "borderWidth" ) , strokeColor : this . deepQuery ( b , "borderColor" ) , clockWise : i . clockWise } , clickable : i . clickable , highlightStyle : { brushType : "both" , opacity : this . deepQuery ( f , "opacity" ) , lineWidth : this . deepQuery ( f , "borderWidth" ) , strokeColor : this . deepQuery ( f , "borderColor" ) } } ) ; l . layout . weight <= U . layout . weight ? ( y = U . node1 , g = U . node2 ) : ( y = l . node1 , g = l . node2 ) , m . pack ( k , a , t , l . data , null == l . rawIndex ? h : l . rawIndex , l . data . name || y . id + "-" + g . id , y . id , g . id ) , this . shapeList . push ( k ) , l . shape = k } } , this ) } , _buildEdgeCurves : function ( e , t , n , i , a ) { var o = e [ t ] , r = this . parseCenter ( this . zr , i . center ) ; n . eachEdge ( function ( e , n ) { var i = a . getNodeById ( e . node1 . id ) , s = a . getNodeById ( e . node2 . id ) , h = i . shape , V = s . shape , U = this . _getEdgeQueryTarget ( o , e . data ) , d = this . _getEdgeQueryTarget ( o , e . data , "emphasis" ) , p = new l ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , style : { xStart : h . position [ 0 ] , yStart : h . position [ 1 ] , xEnd : V . position [ 0 ] , yEnd : V . position [ 1 ] , cpX1 : r [ 0 ] , cpY1 : r [ 1 ] , lineWidth : this . deepQuery ( U , "width" ) , strokeColor : this . deepQuery ( U , "color" ) , opacity : this . deepQuery ( U , "opacity" ) } , highlightStyle : { lineWidth : this . deepQuery ( d , "width" ) , strokeColor : this . deepQuery ( d , "color" ) , opacity : this . deepQuery ( d , "opacity" ) } } ) ; m . pack ( p , o , t , e . data , null == e . rawIndex ? n : e . rawIndex , e . data . name || e . node1 . id + "-" + e . node2 . id , e . node1 . id , e . node2 . id ) , this . shapeList . push ( p ) , e . shape = p } , this ) } , _buildScales : function ( e , t , n ) { var o , r , s = e . clockWise , l = this . parseCenter ( this . zr , e . center ) , h = this . parseRadius ( this . zr , e . radius ) , m = s ? 1 : - 1 , V = 0 , d = - ( 1 / 0 ) ; e . showScaleText && ( n . eachNode ( function ( e ) { var t = e . data . value ; t > d && ( d = t ) , V += t } ) , d > 1e10 ? ( o = "b" , r = 1e-9 ) : d > 1e7 ? ( o = "m" , r = 1e-6 ) : d > 1e4 ? ( o = "k" , r = . 001 ) : ( o = "" , r = 1 ) ) ; var p = V / ( 360 - e . padding ) ; n . eachNode ( function ( t ) { for ( var n = t . layout . startAngle / Math . PI * 180 , V = t . layout . endAngle / Math . PI * 180 , d = n ; ; ) { if ( s && d > V || ! s && V > d ) break ; var c = d / 180 * Math . PI , u = [ Math . cos ( c ) , Math . sin ( c ) ] , y = U . scale ( [ ] , u , h [ 1 ] + 1 ) ; U . add ( y , y , l ) ; var g = U . scale ( [ ] , u , h [ 1 ] + this . scaleLineLength ) ; U . add ( g , g , l ) ; var b = new a ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) - 1 , hoverable : ! 1 , style : { xStart : y [ 0 ] , yStart : y [ 1 ] , xEnd : g [ 0 ] , yEnd : g [ 1 ] , lineCap : "round" , brushType : "stroke" , strokeColor : "#666" , lineWidth : 1 } } ) ; this . shapeList . push ( b ) , d += m * this . scaleUnitAngle } if ( e . showScaleText ) for ( var f = n , k = 5 * p * this . scaleUnitAngle , x = 0 ; ; ) { if ( s && f > V || ! s && V > f ) break ; var c = f ; c %= 360 , 0 > c && ( c += 360 ) ; var _ = 90 >= c || c >= 270 , L = new i ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) - 1 , hoverable : ! 1 , style : { x : _ ? h [ 1 ] + this . scaleLineLength + 4 : - h [ 1 ] - this . scaleLineLength - 4 , y : 0 , text : Math . round ( 10 * x ) / 10 + o , textAlign : _ ? "left" : "right" } , position : l . slice ( ) , rotation : _ ? [ - c / 180 * Math . PI , 0 , 0 ] : [ - ( c + 180 ) / 180 * Math . PI , 0 , 0 ] } ) ; this . shapeList . push ( L ) , x += k * r , f += m * this . scaleUnitAngle * 5 } } , this ) } , refresh : function ( e ) { if ( e && ( this . option = e , this . series = e . series ) , this . legend = this . component . legend , this . legend ) this . getColor = function ( e ) { return this . legend . getColor ( e ) } , this . isSelected = function ( e ) { return this . legend . isSelected ( e ) } ; else { var t = { } , n = 0 ; this . getColor = function ( e ) { return t [ e ] ? t [ e ] : ( t [ e ] || ( t [ e ] = this . zr . getColor ( n ++ ) ) , t [ e ] ) } , this . isSelected = function ( ) { return ! 0 } } this . backupShapeList ( ) , this . _init ( ) } , reformOption : function ( e ) { var t = V . merge ; e = t ( t
r . scale ( i . force , i . force , 1 / 30 ) ; var o = r . len ( i . force ) + . 1 , s = Math . min ( o , 500 ) / o ; r . scale ( i . force , i . force , s ) , r . add ( a , a , i . force ) , r . scale ( a , a , this . temperature ) , r . sub ( t , a , i . speedPrev ) ; var l = r . len ( t ) ; if ( l > 0 ) { r . scale ( t , t , 1 / l ) ; var h = r . len ( i . speedPrev ) ; h > 0 && ( l = Math . min ( l / h , this . maxSpeedIncrease ) * h , r . scaleAndAdd ( a , i . speedPrev , t , l ) ) } var m = r . len ( a ) , s = Math . min ( m , 100 ) / ( m + . 1 ) ; r . scale ( a , a , s ) , r . add ( i . position , i . position , a ) } } , a . prototype . updateNodeNodeForce = function ( ) { for ( var e = this . nodes . length , t = 0 ; e > t ; t ++ ) { var n = this . nodes [ t ] ; if ( this . barnesHutOptimize ) this . applyRegionToNodeRepulsion ( this . _rootRegion , n ) ; else for ( var i = t + 1 ; e > i ; i ++ ) { var a = this . nodes [ i ] ; this . applyNodeToNodeRepulsion ( n , a , ! 1 ) } } } , a . prototype . updateGravityForce = function ( ) { for ( var e = 0 ; e < this . nodes . length ; e ++ ) this . applyNodeGravity ( this . nodes [ e ] ) } , a . prototype . updateEdgeForce = function ( ) { for ( var e = 0 ; e < this . edges . length ; e ++ ) this . applyEdgeAttraction ( this . edges [ e ] ) } , a . prototype . updateNodeEdgeForce = function ( ) { for ( var e = 0 ; e < this . nodes . length ; e ++ ) for ( var t = 0 ; t < this . edges . length ; t ++ ) this . applyEdgeToNodeRepulsion ( this . edges [ t ] , this . nodes [ e ] ) } , a . prototype . applyRegionToNodeRepulsion = function ( ) { var e = r . create ( ) ; return function ( t , n ) { if ( t . node ) this . applyNodeToNodeRepulsion ( t . node , n , ! 0 ) ; else { if ( 0 === t . mass && 0 === n . mass ) return ; r . sub ( e , n . position , t . centerOfMass ) ; var i = e [ 0 ] * e [ 0 ] + e [ 1 ] * e [ 1 ] ; if ( i > this . barnesHutTheta * t . size * t . size ) { var a = this . _k * this . _k * ( n . mass + t . mass ) / ( i + 1 ) ; r . scaleAndAdd ( n . force , n . force , e , 2 * a ) } else for ( var o = 0 ; o < t . nSubRegions ; o ++ ) this . applyRegionToNodeRepulsion ( t . subRegions [ o ] , n ) } } } ( ) , a . prototype . applyNodeToNodeRepulsion = function ( ) { var e = r . create ( ) ; return function ( t , n , i ) { if ( t !== n && ( 0 !== t . mass || 0 !== n . mass ) ) { r . sub ( e , t . position , n . position ) ; var a = e [ 0 ] * e [ 0 ] + e [ 1 ] * e [ 1 ] ; if ( 0 !== a ) { var o , s = t . mass + n . mass , l = Math . sqrt ( a ) ; r . scale ( e , e , 1 / l ) , this . preventNodeOverlap ? ( l = l - t . size - n . size , l > 0 ? o = this . nodeToNodeRepulsionFactor ( s , l , this . _k ) : 0 >= l && ( o = this . _k * this . _k * 10 * s ) ) : o = this . nodeToNodeRepulsionFactor ( s , l , this . _k ) , i || r . scaleAndAdd ( t . force , t . force , e , 2 * o ) , r . scaleAndAdd ( n . force , n . force , e , 2 * - o ) } } } } ( ) , a . prototype . applyEdgeAttraction = function ( ) { var e = r . create ( ) ; return function ( t ) { var n = t . node1 , i = t . node2 ; r . sub ( e , n . position , i . position ) ; var a , o = r . len ( e ) ; a = 0 === this . edgeWeightInfluence ? 1 : 1 == this . edgeWeightInfluence ? t . weight : Math . pow ( t . weight , this . edgeWeightInfluence ) ; var s ; if ( ! ( this . preventOverlap && ( o = o - n . size - i . size , 0 >= o ) ) ) { var s = this . attractionFactor ( a , o , this . _k ) ; r . scaleAndAdd ( n . force , n . force , e , - s ) , r . scaleAndAdd ( i . force , i . force , e , s ) } } } ( ) , a . prototype . applyNodeGravity = function ( ) { var e = r . create ( ) ; return function ( t ) { r . sub ( e , this . center , t . position ) , this . width > this . height ? e [ 1 ] *= this . width / this . height : e [ 0 ] *= this . height / this . width ; var n = r . len ( e ) / 100 ; this . strongGravity ? r . scaleAndAdd ( t . force , t . force , e , n * this . gravity * t . mass ) : r . scaleAndAdd ( t . force , t . force , e , this . gravity * t . mass / ( n + 1 ) ) } } ( ) , a . prototype . applyEdgeToNodeRepulsion = function ( ) { var e = r . create ( ) , t = r . create ( ) , n = r . create ( ) ; return function ( i , a ) { var o = i . node1 , s = i . node2 ; if ( o !== a && s !== a ) { r . sub ( e , s . position , o . position ) , r . sub ( t , a . position , o . position ) ; var l = r . len ( e ) ; r . scale ( e , e , 1 / l ) ; var h = r . dot ( e , t ) ; if ( ! ( 0 > h || h > l ) ) { r . scaleAndAdd ( n , o . position , e , h ) ; var m = r . dist ( n , a . position ) - a . size , V = this . edgeToNodeRepulsionFactor ( a . mass , Math . max ( m , . 1 ) , 100 ) ; r . sub ( e , a . position , n ) , r . normalize ( e , e ) , r . scaleAndAdd ( a . force , a . force , e , V ) , r . scaleAndAdd ( o . force , o . force , e , - V ) , r . scaleAndAdd ( s . force , s . force , e , - V ) } } } } ( ) , a . prototype . updateBBox = function ( ) { for ( var e = 1 / 0 , t = 1 / 0 , n = - ( 1 / 0 ) , i = - ( 1 / 0 ) , a = 0 ; a < this . nodes . length ; a ++ ) { var o = this . nodes [ a ] . position ; e = Math . min ( e , o [ 0 ] ) , t = Math . min ( t , o [ 1 ] ) , n = Math . max ( n , o [ 0 ] ) , i = Math . max ( i , o [ 1 ] ) } this . bbox [ 0 ] = e , this . bbox [ 1 ] = t , this . bbox [ 2 ] = n , this . bbox [ 3 ] = i } , a . getWorkerCode = function ( ) { var e = o . toString ( ) ; return e . slice ( e . indexOf ( "{" ) + 1 , e . lastIndexOf ( "return" ) ) } , s ) { var h = null ; self . onmessage = function ( e ) { if ( e . data instanceof ArrayBuffer ) { if ( ! h ) return ; for ( var t = new Float32Array ( e . data ) , n = t . length / 2 , i = 0 ; n > i ; i ++ ) { var o = h . nodes [ i ] ; o . position [ 0 ] = t [ 2 * i ] , o . position [ 1 ] = t [ 2 * i + 1 ] } } else switch ( e . data . cmd ) { case "init" : h || ( h = new a ) , h . initNodes ( e . data . nodesPosition , e . data . nodesMass , e . data . nodesSize ) , h . initEdges ( e . d
this . _buildItem ( ) ; for ( var e = 0 , t = this . shapeList . length ; t > e ; e ++ ) this . zr . addShape ( this . shapeList [ e ] ) } } , _buildItem : function ( ) { this . shapeList . push ( this . _getDirectionShape ( "up" ) ) , this . shapeList . push ( this . _getDirectionShape ( "down" ) ) , this . shapeList . push ( this . _getDirectionShape ( "left" ) ) , this . shapeList . push ( this . _getDirectionShape ( "right" ) ) , this . shapeList . push ( this . _getScaleShape ( "scaleUp" ) ) , this . shapeList . push ( this . _getScaleShape ( "scaleDown" ) ) } , _getDirectionShape : function ( e ) { var t = this . _itemGroupLocation . r , n = this . _itemGroupLocation . x + t , i = this . _itemGroupLocation . y + t , o = { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , style : { x : n , y : i , r : t , startAngle : - 45 , endAngle : 45 , color : this . rcOption . handleColor , text : ">" , textX : n + t / 2 + 4 , textY : i - . 5 , textAlign : "center" , textBaseline : "middle" , textPosition : "specific" , textColor : this . rcOption . fillerColor , textFont : Math . floor ( t / 2 ) + "px arial" } , highlightStyle : { color : l . lift ( this . rcOption . handleColor , - . 2 ) , brushType : "fill" } , clickable : ! 0 } ; switch ( e ) { case "up" : o . rotation = [ Math . PI / 2 , n , i ] ; break ; case "left" : o . rotation = [ Math . PI , n , i ] ; break ; case "down" : o . rotation = [ - Math . PI / 2 , n , i ] } return o = new a ( o ) , o . _roamType = e , o . onmousedown = this . _drictionMouseDown , o . onmouseup = this . _drictionMouseUp , o . onmousemove = this . _drictionMouseMove , o . onmouseout = this . _drictionMouseOut , o } , _getScaleShape : function ( e ) { var t = this . _itemGroupLocation . width , n = this . _itemGroupLocation . height - t ; n = 0 > n ? 20 : n ; var i = Math . min ( t / 2 - 5 , n ) / 2 , a = this . _itemGroupLocation . x + ( "scaleDown" === e ? t - i : i ) , r = this . _itemGroupLocation . y + this . _itemGroupLocation . height - i , s = { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , style : { x : a , y : r , r : i , color : this . rcOption . handleColor , text : "scaleDown" === e ? "-" : "+" , textX : a , textY : r - 2 , textAlign : "center" , textBaseline : "middle" , textPosition : "specific" , textColor : this . rcOption . fillerColor , textFont : Math . floor ( i ) + "px verdana" } , highlightStyle : { color : l . lift ( this . rcOption . handleColor , - . 2 ) , brushType : "fill" } , clickable : ! 0 } ; return s = new o ( s ) , s . _roamType = e , s . onmousedown = this . _scaleHandler , s } , _buildBackground : function ( ) { var e = this . reformCssArray ( this . rcOption . padding ) ; this . shapeList . push ( new i ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) , hoverable : ! 1 , style : { x : this . _itemGroupLocation . x - e [ 3 ] , y : this . _itemGroupLocation . y - e [ 0 ] , width : this . _itemGroupLocation . width + e [ 3 ] + e [ 1 ] , height : this . _itemGroupLocation . height + e [ 0 ] + e [ 2 ] , brushType : 0 === this . rcOption . borderWidth ? "fill" : "both" , color : this . rcOption . backgroundColor , strokeColor : this . rcOption . borderColor , lineWidth : this . rcOption . borderWidth } } ) ) } , _getItemGroupLocation : function ( ) { var e , t = this . reformCssArray ( this . rcOption . padding ) , n = this . rcOption . width , i = this . rcOption . height , a = this . zr . getWidth ( ) , o = this . zr . getHeight ( ) ; switch ( this . rcOption . x ) { case "center" : e = Math . floor ( ( a - n ) / 2 ) ; break ; case "left" : e = t [ 3 ] + this . rcOption . borderWidth ; break ; case "right" : e = a - n - t [ 1 ] - t [ 3 ] - 2 * this . rcOption . borderWidth ; break ; default : e = this . parsePercent ( this . rcOption . x , a ) } var r ; switch ( this . rcOption . y ) { case "top" : r = t [ 0 ] + this . rcOption . borderWidth ; break ; case "bottom" : r = o - i - t [ 0 ] - t [ 2 ] - 2 * this . rcOption . borderWidth ; break ; case "center" : r = Math . floor ( ( o - i ) / 2 ) ; break ; default : r = this . parsePercent ( this . rcOption . y , o ) } return { x : e , y : r , r : n / 2 , width : n , height : i } } , _ _drictionMouseDown : function ( e ) { this . mousedown = ! 0 , this . _drictionHandlerOn ( e ) } , _ _drictionMouseUp : function ( e ) { this . mousedown = ! 1 , this . _drictionHandlerOff ( e ) } , _ _drictionMouseMove : function ( e ) { this . mousedown && this . _drictionHandlerOn ( e ) } , _ _drictionMouseOut : function ( e ) { this . _drictionHandlerOff ( e ) } , _drictionHandlerOn : function ( e ) { this . _dispatchEvent ( e . event , e . target . _roamType ) , clearInterval ( this . dircetionTimer ) ; var t = this ; this . dircetionTimer = setInterval ( function ( ) { t . _dispatchEvent ( e . event , e . target . _roamType ) } , 100 ) , h . stop ( e . event ) } , _drictionHandlerOff : function ( ) { clearInterval ( this . dircetionTimer ) } , _ _scaleHandler : function ( e ) { this . _dispatchEvent ( e . event , e . target . _roamType ) , h . stop ( e . event ) } , _dispatchEvent : function ( e , t ) { this . messageCenter . dispatch ( r . EVENT . ROAMCONTROLLER , e , { roamType : t , mapTypeControl : this . rcOption . mapTypeControl , step : this . rcOption . step } , this . myChart ) } , refresh : function ( e ) { e && ( this . option = e || this . option , this . option . roamController = this . reformOption ( this . opti
encodeOffsets : [ [ 118834 , 41050 ] ] } } , { type : "Feature" , id : "110106" , properties : { name : "丰台区" , cp : [ 116.2683 , 39.8309 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@hMN@NFTQCFRCBJFA@HJ@@HJ@HJ\\FTACD @@UNLXJX@@MA@@IECAQlDFEHBDI~D@GXCFMVDFCH@@NF@ANJC@FnAB@AMF@@EDCDDLGP@LUOAUH@AIABKAAEDCKID@CCACMWA@EGDEILA@OK@AELEJBFEEGL@BSOA@EuAFmMACbG@@EM@ANS@ENFDAHSDCL[BEIUBAII@A[E@OaKD@FAACTGVIACDHDAFGAEDoGEFACM@i g@@QFCMKMU@]SCoBGSMQ DEXXDWPO@MKYGM^AdJJA\\cNB\\G^ DNHFCBFABDBJ@PL^D@DF@T@FDAF^A" ] , encodeOffsets : [ [ 118958 , 40846 ] ] } } , { type : "Feature" , id : "110107" , properties : { name : "石景山区" , cp : [ 116.1887 , 39.9346 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@NQPHLMJBDNJEFCAONSPIFIVODIF@@EKMFEC@DGQCAQZDbCdJ@GEAFC@]@EJ@DCSB[EGII@@GI@@GEBAIQDDESRMEM@gNYTIRKJAJEJ[DFJKLGBGNBJLDCDAHGBJJAFBLEXTLZFBAFDLD" ] , encodeOffsets : [ [ 118940 , 40953 ] ] } } , { type : "Feature" , id : "110102" , properties : { name : "西城区" , cp : [ 116.3631 , 39.9353 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@XBDA@EIACM@IJAD]BC@SFABISAD]H@@O AEDQEW@BLE MD@FLDh@@LDBF@@M`J@fTB@H" ] , encodeOffsets : [ [ 119175 , 40932 ] ] } } , { type : "Feature" , id : "110101" , properties : { name : "东城区" , cp : [ 116.418 , 39.9367 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@DBf@@VDA@OF@@CT@FEH@@GADBMTBBECCRCGG@YS@@gDK@A C@PG@C^TBAJEB@TADC^IB@J" ] , encodeOffsets : [ [ 119182 , 40921 ] ] } } , { type : "Feature" , id : "110104" , properties : { name : "宣武区" , cp : [ 116.3603 , 39.8852 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@RBX@RFFC BFU@aK@WA}CCJGAEFkCBRFD@JB@@N" ] , encodeOffsets : [ [ 119118 , 40855 ] ] } } , { type : "Feature" , id : "110103" , properties : { name : "崇文区" , cp : [ 116.4166 , 39.8811 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@XBL@@bEV D@BX@AC@MHA@EIBCCDSEMmB@EIDBME@@MG@EDUCENWD@H" ] , encodeOffsets : [ [ 119175 , 40829 ] ] } } ] , UTF8Encoding : ! 0 } } ) , n ( "echarts/util/mapData/geoJson/china_geo" , [ ] , function ( ) { return { type : "FeatureCollection" , features : [ { type : "Feature" , id : "xin_jiang" , properties : { name : "新疆" , cp : [ 84.9023 , 41.748 ] , childNum : 18 } , geometry : { type : "Polygon" , coordinates : [ "@@@ρȁôƧƦóəʵסʵóƪԫʵѵͩƧͩړυࡓɛʵ@ȃ@óᇑѵƨɝɚôóНѺͩɜ̏ԭʵôƧɞñ@υƩ݇ȂóƩƧ@ѵȂυƥŌਗ॥ɛóʵѵƧѹ݇̍ࢯəɞυρͩ̏óਙƨƧŋôōó̍ͩóʵןóŋړͪƧѶ@ɜԭԫƦɛȄ̍ɝȄöςƩȂ̏ñȀ̏ƩóóŎə@Ő̎@ɞȀɝŎôƨóנѵȄƧ@óŏɝóɜôŎ̍ͨςŎ@ƨóôƨɞ݈ʶóƨφó̎Ȁƨ̍ԮòѸԮמ@ѺȀ@ƪၬֆòȂñ̐òȂɜóƨ̒Ŏ̑@φρȀ@Ő๐ς̎Ƨφ@ɝφڔ೦Ԯǿࢰ@ƦŏԮƨƨȄƧ۬ɜʶڔŐɚɚóŐôƨôƧƧó̐ƥóŏѺǿƦȁφƧςƨƧ̒@ɜƥƦυ̐ɛƪͩƩəƪʷ̑ə@ȃƨʵנŋྸōਚԭԪ@ɝƨŋ̒օςʵôƧ" ] , encodeOffsets : [ [ 98730 , 43786 ] ] } } , { type : "Feature" , id : "xi_zang" , properties : { name : "西藏" , cp : [ 88.7695 , 31.6846 ] , childNum : 7 } , geometry : { type : "Polygon" , coordinates : [ "@@ôŌנôʶ̎ͪôóŎƨŌਚƧ̐ôςͪφɚɝࢰ݈̎ѺѶƨôʶ०ɜਘƦŋφѶȁ̍ôŏɚŋ@̑ə@ŏò̍ɜóƥôʷƧ̍φѹԪ̍ע@Ѹʷɜ@ôñנ@Ѷɛɞô̐ŏѶƨѸƧƥōƦôŏô@ƧôƩ̒ŋƨŌƦǿô̎ɜȁ̒óʶѶôôО̒ςƥɜНφσɛȁ̎υƨఱƧŏ@ʵƥ@ŌóóóͩƨƧóŋ̑õóɞóɝԩͪɝρôƧ̍ƧѹͨڑŎ̑ōóƧࢭͩ̏ѵɝóఱóóԪυô@̒ƥŌ̏Ƨ̑Ȅ݇ŎƧѵӏ@ɛõŏɛȄôӒƧŌѵǿɝƧŋԫ@̏ʴƥ@óǿ̑Ȁóǿ̍ςóóυô@ʶɛñρƦƩŐó̎óѵó̑ͪࢯОóɜןƧ̏ƥȄ̎̏̐ןŎɝɜöɞƩȀôöɛȀóͪ̐ƨƪ̍̎ȂƥԪυО@φɞôƪ" ] , encodeOffsets : [ [ 80911 , 35146 ] ] } } , { type : "Feature" , id : "nei_meng_gu" , properties : { name : "内蒙古" , cp : [ 117.5977 , 44.3408 ] , childNum : 12 } , geometry : { type : "Polygon" , coordinates : [ " @ @ ኊȁ ö ƩɜɛנñԮɛѶóԮô @ ȁѸóמ ̎ ගѺ ၬ @ ʶԮӒ ̎ @ ŐѹӒ ̒ Ԫƨöග ̑ ѶȄ ̒ ς । ѶɚöɞɜʴڔôôȂ ̎ ѺȀς ƨ ƪóԪ ɜôɛОਕڔԭ ѵ ̍ ѹȂԫ ɛƥ ̍ Ȃóɜ ̎ ô @ ʶ ݊ ੲࢮʵږ ͪ נƨôȂƧ ̐ ͪ @ ŐƦƨφԬѶɜôƦ @ ŐƧôôƦəŐ ̏ @ ŐڒѶԬô ̐ ʳԩНςōôŏɞ @ ƨȂѶəóƧ ̒ ػ ̎ ó ̐ Őנóƨô ̒ @ ƨɚɚ @ עԫɛɛ @ ȁυ ͩ ƥʳòևρ ̑ ࡗƧ ͪ ༃ ॣ Ԯփ ̎ Ʀ @ ôô @ ôō @ @ ȁѵóƨ ̍ υȃóʵɛƨƥóυȂóəƪ ̐ ρ Ƨ ͩ ɜԭڔȄ ̎ عƧȁ ̐ ŏó ̍ ɛ ƥƧ ̑ óρŐ @ Ƨ ̏ ɝəɛ ͩ ̍ ͩ ɝО ̍ ƪƧóóӓƨóƧʳ ݇ @ ɝςƪ @ ʴƩ ƧƦôƨɛȄə Ƨŋυ ó ͩ ѵ @ ɝǿóŌן ̍ ɛ óО <EFBFBD>
encodeOffsets : [ [ 120398 , 25797 ] ] } } , { type : "Feature" , id : "3503" , properties : { name : "莆田市" , cp : [ 119.0918 , 25.3455 ] , childNum : 2 } , geometry : { type : "Polygon" , coordinates : [ "@@VbÞ VVnUlUX@VKVLlKXXlKXL nkV@ÞxlbXUWa b @ bÜ@XK@aWUXmWaX_Wynw@wnwlK bV @aUKWUUI@a mV¯Ŏ¥ô¯ĸU UÆ@n»¯aƿé@ţ¯nĉĬÝK óó@ ÑU¼@è xWô n x KmkkJWI @UKWa UUa amn@lnbW XXWK @VxUVkU V@U LmlnVWXXVmbUbkVVV@bm@UVn @bW@@VXx n@V n@bV UX" ] , encodeOffsets : [ [ 121388 , 26264 ] ] } } , { type : "Feature" , id : "3502" , properties : { name : "厦门市" , cp : [ 118.1689 , 24.6478 ] , childNum : 1 } , geometry : { type : "Polygon" , coordinates : [ "@@@VlUV@nanL@V@V@L@blK@V wl@XalbVKnnl@VL W »È@l V UIVK@a@UUw WUU @ _ a K @ bkkm@U k õÅ xóL l@¦@V b@bk@V nVln@Vb b@xmÆn @x@x x" ] , encodeOffsets : [ [ 120747 , 25465 ] ] } } ] , UTF8Encoding : ! 0 } } ) , n ( "echarts/util/mapData/geoJson/gan_su_geo" , [ ] , function ( ) { return { type : "FeatureCollection" , features : [ { type : "Feature" , id : "6209" , properties : { name : "酒泉市" , cp : [ 96.2622 , 40.4517 ] , childNum : 8 } , geometry : { type : "Polygon" , coordinates : [ "@@ÇnÅaĉ@ U¯¥ UŹ £ WUýUU±JkkUw yÞIČxĊĕĊ¯ ¥ÆUkţ UÅÓ±¼ IUx¯U ÒƑ Ý Å° KÝnğ°ÅU@ @Vn@þ ¼¯ WnŎ°XLWlnVnbWn VXxmb a bóU lǕUUa IUmlU ¥ k ¥ĉwkk Ýɛa@¯ U¯°mV k V nKl ōÑÇÑU@kl Uġ kUŻnUW @ ¯ k» mWV£UKnU mUw w@ UIVaX wm»Èmmwn¯ċ ¯Lĉ U JUal ka±V a@U k@ ÛÑ ¯Wmn Uaɝ¤Û m n ¯m±x@wóxÛLġÒUx¯V È JUbózÝ ÇKĉ¯ōlÝUÅ W l¯nťbÝ@¯ ǩLġ mV@ƯĢkÆm ĊkVťLɃmÝXó°@ ĢbV óVݦɱ@Ƨ aġ UV ĠÇÈV¼UVţwmb JÇwˋ a XmǯKkkm bX m¼V¼ǬŚ²¤ôŰÆƴô̐ŤǪnɆӨ¼ɆLÆłUĊ xŎƞȘǔˎǬǪnƨŮǬö°» ġ ÞÜÆĸÒĊ ǀ bƾèôÈ@¼¯þŤĸƧ °VĀ¯b@lÈĊ ʠń̐ ȘKǀ ֲॗţÿǕý@ ʊǓƨóÆÑǖŃôw@ʈƆÅÈVVĊV óĊÅ@ÞƒĬV@Þī@° V@ĸĢ °XτƜĠ@ÈaÜ¥Őƅ nğóĕVġUůƿŋ ĕ a±V UťÇğÑ" ] , encodeOffsets : [ [ 101892 , 40821 ] ] } } , { type : "Feature" , id : "6207" , properties : { name : "张掖市" , cp : [ 99.7998 , 38.7433 ] , childNum : 9 } , geometry : { type : "Polygon" , coordinates : [ "@@ÈÒŎÒk mLU l U ¯nV° @°ɜb ÞĠaÈ»ĸl LVUÈ@Ċ@ýUm @@ ÆVĠ¯Þm LÆ¯Þ ƒ Ñ°VVw J²»ÆÔ VlŤÅV ¦ĉ°ĉĖċwÝJ zVxll²IVVVþ X ¤ź V°¦ VĊ@ÆbÈmǔLĸ Ġ¯Ģaô¯ĸmÆÛU lÇĸk° XyĊUǔV ǩnmV» a@ýnK° n@l¥@»ż Ċ¤mç @£ČU@m mVkÞUƐ±²¹° Ġw ÅƑŃU ¯ V¯aÈŁ Ç» ġn_°xŎKlx klx @Þw @Æm²b DzLlk WXať¯Ċa Ñ K±w@w UÅçV±Uk @@ ¯ ¯x U ±±UU°ōxVxÅÔō°ó¯U ݦóbÝþ @ĉÈóUV Ux @ V UVÝwÅÈÇ óVkk¯JÇ kmmL@ KÇx@bk @U°ķ²ó` mn¯° UwlÅkU ` ¦ɛô ķz@ ÅnÇ°U¼¯KmVk² J ¼ƏÞķô ¤UL @mnğ` ÇnUxÇ@Ûÿ U@ kŻ @x @m óJkÅ ¥V ŹĉóÒĉlċ°ķ U ƽ Ü @ x" ] , encodeOffsets : [ [ 99720 , 40090 ] ] } } , { type : "Feature" , id : "6230" , properties : { name : "甘南藏族自治州" , cp : [ 102.9199 , 34.6893 ] , childNum : 9 } , geometry : { type : "Polygon" , coordinates : [ "@@Þ nKln wX¥WÝXk xÞUn °aĊVnUUKl Þ ĶWXnĠ¥ô» @ nmVL@¤° Vz J anU@aÆwna@k U¯ yX_ aĉb w éXkWwÅa ¯V¥m ¯ U I@ @ m b°aÈç U ¥@» knwɜƇ°I°ÑÈmVU ¯Xa@w W@w V¯Č¥l¯Uwnm@k aUaóKkk@ Ça b@ ÒWa¯IÇxÛam¼ VU x Òl @zÝÒ¯bÝaĉVĉwÇ W z J mJn²mܯU ¯ĉ@ġ¤Åb@²n ml @@ U LVx V U¼Ålma b@ ° l @WIU ¯@m @ó@U zţy X ÇU ÇVUUVLkbWakVWmUbkk KU Æ»n °Knk@a UVm nk»l¯Ģ lw@_kKVU@ na @lUk@¯¥mV@kmb W b¯Åõa@mkU@ k Ç kU@ `@ óó bl¼Ux n ¼ lVÈ x@blVkVVn `XÈġÈ@Ç K £ÝJmUUnUĖmlU mKUn VÅaUw Uĉ`¯n¯wW¼nxV @bĉn kIċŘkXU ±Ò x È@ X °`l V IȯĊV VVan@Va UVaż Vm blkÈW WIXa alL@wVb V ¦lL@lĠ nÒ U nk L@ÆÞk Þ K bñþW¦Û ċV ULUºkÈlŎUxÆxÞUUx Ò x @Xb L@lÆ@ ÒlXVln@ bm¼ J@ Ån x@bn Ġm xVXmbÈè@ Ċ£ČW w" ] , encodeOffsets : [ [ 105210 , 36349 ] ] } } , { type : "Feature" , id : "6206" , properties : { name : "武威市" , cp : [
encodeOffsets : [ [ 108912 , 26905 ] ] } } , { type : "Feature" , id : "5222" , properties : { name : "铜仁地区" , cp : [ 108.6218 , 28.0096 ] , childNum : 10 } , geometry : { type : "Polygon" , coordinates : [ "@@°a@aÈbVUlU@aVKnVV VU lyX¹lWVa@ U V nUVU@m @mU l@ mÞw @ xnIVbna@KVI J@k wV¥ UXÇVkVW@kkKWU@aXUWmnIVa°VXbmL@VVbnVVVUb Vb JVbVKXkVKVanU@aW nWU Wa@U nk@mVIVK@wXxlLXbVJV lK bl@VI@m aXalVV VbX@@a alnkx@b@V b@Vnx@bVVUXn¤WXn@Vl@Vlzn@ `@I@KUU@ V£nam VkXa@aVK nnU@anVlK a@UUU@amk@»k U¯@a VWnkWmkImU@akaVm@»VUV@UKnkW¯XWlkUKnIWa @nmlIXmWUnwUwWm@wULmaUJkIUa aWa klwkwmJmU@bkJ@XUJ¯ W@XbWbUKUkWJUUVKnn@UmmXUWa@mU@@U I@WmXVykwm@kaULWwU@¯ lKUUVU@mU@UkmaUbmV@b xV nVUJVn @Jn@@bl@@knJVblInV°@nx@ mbU@UWUbm@ULVVVb@LkJmXkm VWIUJUXUKVw V U kLkU @W` Um kVmIU @k @@a¯lÝ¥k mJ U n K ÑmbUb @Wb ak@mWU@Ub UVVkLlbUV kXaWK@LkxÇmk@@X@J@V @@X@VUV@V IWln@mbXVWXkKWbnxVUnV Æ Inl@XUxVl ¼UV@b@b@xlLkV@VmzmV@b@VUVVLXVVbVLXKmVVLU @nnVWXXJ@V ¦UK@LUmkIWbk@@lUImJn VÒVUnVVbVIVĖUxV @bnUVL@WV@@X@V KlXXaV@@b lVxXVVIV@@WkI UVKUkVmlnn bllU VbXVWb blVkb° VInVVV@b nVx@l@bnVVnU Uam UL@b VVÆUbUXU n@ VVUb" ] , encodeOffsets : [ [ 110667 , 29785 ] ] } } , { type : "Feature" , id : "5223" , properties : { name : "黔西南布依族苗族自治州" , cp : [ 105.5347 , 25.3949 ] , childNum : 8 } , geometry : { type : "Polygon" , coordinates : [ "@@VL@Vl@@IXW@kVUVbnW@XlKVVnU VlL@b aVb b@xX °ÔUxV@kbm@VxkxWJ V¦ @Èn VK xW XJmV@n Ò@xVbn@@blLk`VX@b la²JVUlnn@U±lw@wnw@mlwVIX@@m@klKnk a KnwmmXkÆ Vm U ¥l@nb° n@ aVwVmVIV nI@a ¯@m U° l@@VnI@JV@UV@b@IUbVJmXöº zllUbVa@aXUl@ U@llLnKVaUa@UmK@U wV bnKV@VwVK@UX V@Vbn@ w@U WnX @ a@m I @UUKlaUaVk¯ VaVLXK »XaWk¯m kğwmW @mI Vkw JUI ÇVwU UkVKk m@UkmU@WÅwm£ V m¤¯IkJWa _ lUbmJ zÝJk UÇVU @bU Ýn m¯LUb@`mL@VkL@V Ummk@UU± Umka@kU @ ķymUkk@mmkÝmUaUakImV@V@VÅL ¦ JUXmJX Wb@n°Æ x ¼nV@LlbU UbmL¯@ÞbV¤nbVx@bUVlblI @KVVUnVJUn@VlLUlmLUUUxmK@I @@VW@@bU@UJmUkLVVUl@b@V" ] , encodeOffsets : [ [ 107157 , 25965 ] ] } } , { type : "Feature" , id : "5202" , properties : { name : "六盘水市" , cp : [ 104.7546 , 26.0925 ] , childNum : 5 } , geometry : { type : "MultiPolygon" , coordinates : [ [ "@@ôyVL@nXJV Ub x bU l U @ n VbV@naVw a VUXVx x bnaWmXa _@y°aVUkaVI aVamkXa@WVU@aUUlUXwVV@UV bVUnKUwVa°a bVIlan@manw@V klJXI@m LVVVUVK@U Ç k@KUa@UkaVU@UVWV_XWVXVWlLXKlLXaÆK wVL@akKm@Uw @@XUVk@V UI@wWK@aUV I@UkK@ mL W @kImJ UÅVmkXUW@UJkx@nmx@xkxV²m@kmUV±Ikb @aUWl_kK@am@Ua@w Ñ@mnUWIX wULm @Ç U¥ XIlwUwn@laU@Vw¯ÓW @w aUa b@akK UmVUUkL@WmXUaUV@lWX@Jk@@UUKULmLUJmzkKmVX°V UnWKUL L@mU@UnVJ@b@ UV@X `m_@l @@bmbXJmnn @° wnn@ VLX@V @nVl@nk@@b l@nn°WlXzW`XXVKnUlxVbUb@ V Xb@ VxÈbVlnbmn@ kVUL@ mLUVVL" ] , [ "@@@ @UmWUwkU@Um@@VkL@V@ @ V@VkV@nbVa" ] ] , encodeOffsets : [ [ [ 107089 , 27181 ] ] , [ [ 107213 , 27479 ] ] ] } } , { type : "Feature" , id : "5204" , properties : { name : "安顺市" , cp : [ 105.9082 , 25.9882 ] , childNum : 6 } , geometry : { type : "Polygon" , coordinates : [ "@@lL@bUK xÅLWbkKWLkKUXUWWXU`UX@VUVlb@VVb@L l°xXx b bXUVb VnU x KlL° nUlVn@UmVU@kUUVa blVXKV@Æ XþlXUxnU@mVK@_@ml@UU @ blU@KnLVyUw @@Umk WVw@UVK@VXzVK@n VVUUW@kVJn la @nKW kaWL@U õb@J U@mU@@_WW L@l UU@WUUK @lakÅUUlWVa _@`WIU¯mW@InKVVXa@Ll@VaV@@UXUWakUVWUIUW Uk U mV XW@ @amUUm L l@UUa wn@la IVlnLVKUU U@amK@kUK VyUU@aUImK@UXa@aV@VakaW@@UnIVWVaUk b @mW X@V xm@UaU@W @VULUxU@mL aU x@VnL@VVbUbmLkK@k Vk@WV@bUbVakk yõ¹nWUIVa@J@aVUU@@ImJ@Uk@¯ V@n °@bmJU UJUnUx bm@¯ mak@ ¦ VUnÅ Wlnnmx L bmlkL@l@nWVnlÆU VnIlJ @ XnK@ lL@V JVU@bXL@xVJU l@VU@W @Vxn@" ] , encodeOffsets : [ [ 108237 , 26792 ] ] } } , { type : "Feature" , id : "5201" , properties : { name : "贵阳市" , cp : [ 106.6992 , 26.7682 ] , childNum : 5 } , geometry : { type : "Polygon" , coordinates : [ " @ @ n lLX VJ LVblJ n ° ln LlVnKlU @ nUUa @ WlX @ l n @ Vb @ la @ a lJ ° ¦ K wn @ ° x LVkUmmwUmk _la b K @ UlK @ UUm @ w L mnwmw @ U @ ¯ @ KnL @ a a ġX WW @ UK b KWX J IWakJ @ _kW k KUU @ UVKk @ @ Ula mV _X @ WKXK @ WUUnUK @ kU @ WJU @ @ UnK @ LVUVJVkUK @ UUJm _ @ UaVaV @ UU @ W w @ aV @ Xkmmm @ kw @ IVa @ KVLXU @ ` lLX@VKm_@y I@W U@UlV
encodeOffsets : [ [ 116832 , 34527 ] ] } } , { type : "Feature" , id : "4114" , properties : { name : "商丘市" , cp : [ 115.741 , 34.2828 ] , childNum : 8 } , geometry : { type : "Polygon" , coordinates : [ "@@XVl@lLÈ @VkV@V»Uan W X@VaÆÇô@ÈaVX@xVJXUÞU aVLĸbXKl V@ m°Vn_ny XX»mUk¥lK@a _@y InaVKVa°_@WXI@ @K VnIlbnaV@ l @ a@_ w@ lwUKm Xa@UV@ »V w@kUKVUUm@w±VUXUKUwmJUU @ km@@±mXkmUI @mm KUwkbWakLWaUIkJm X@l @@VUX@JWbX@VbULWb lUVULknlV@bVJk mb¯KknWmk@@nmVkx @ VmU¯KUnUL @ JUIV maÅaUm¯X l kk@@lk@WI@yUUU@ b@aUa UmVk@ `nxUXlb@l LVxUbUbVbUll k VlÝVUnkVmKUXm@kl @ nUx@xnx n@`VX@V²x@V@b@ Wl@zU`V UVVb L@V b W@bkXllkLWV@V @VVÈwlV @@X K²Llb WnnÆL@VnJWn" ] , encodeOffsets : [ [ 118024 , 35680 ] ] } } , { type : "Feature" , id : "4112" , properties : { name : "三门峡市" , cp : [ 110.8301 , 34.3158 ] , childNum : 6 } , geometry : { type : "Polygon" , coordinates : [ "@@WKUmUI° U@@UmU@KnK@I aU@makKUa@_ KnmVU L@a @IXm@KWkkKVkUU@aUW@UUIVa ymwkbU@ x LVU WWkk@WUkJk_WWk@WI UKÝ k@WKULka @mwĉ¥mXUK @@b m@k VWwkU@m UU lI Wm@ @Uk@@K kVmn@lwn@@Ul@Xm UXUm VÑ km kV KUaVamaUXn @ykLUK @ Ww KmKn Um@Um aU@mUk@kL@l xċxUnkVmnXxWb@`kzWJ@V LmVUn lmU L@lW@Ub@V XUb `VLUbUJ@nmnUlUUm@@bUJlnU U@lxkb @@X JUn @kb¯VVVmlXXlJlzn@VlkVW @bkK bm k UbVb l XVx KÈn wÞlĊKl VnKlwX@lL@xlUnVn @ l@lmX@Æ Èb°¼ÈwVJlx _°x a l UÈxlUnbVxnL@lll bm n@nb @@V L@V @@ VL JnIVVlKnV _" ] , encodeOffsets : [ [ 114661 , 35911 ] ] } } , { type : "Feature" , id : "4107" , properties : { name : "新乡市" , cp : [ 114.2029 , 35.3595 ] , childNum : 9 } , geometry : { type : "Polygon" , coordinates : [ "@@XVlL K°bUblbUb l@nX@W XVVKVk @@ mb@ Ubn W`kL L V@VVLnKlVXIlV @@a @l£nWl k Va @°bnUlLVlna bnUVUXKlU@ @ lk@a I°y @ôkUU@w mô nkWakml UkVmkUlmUUm@nkUKWanamU LXW@U VnUln `l blL°KXV@ ĠJ@L° J UVw anK@UUImm kK@¯±U m@IVmUmmÅn WaUK¯aUk w@W±k V x U V w nÅJUIWaÝJóI bm`ÝbÅImJUI¯¥¯@mU¯U JmnUVóUkl±V@zXl bWVXL@bm mº @@XmJUXU°llk @nWJk@U @¦U`m ¯ Wx" ] , encodeOffsets : [ [ 116100 , 36349 ] ] } } , { type : "Feature" , id : "4104" , properties : { name : "平顶山市" , cp : [ 112.9724 , 33.739 ] , childNum : 8 } , geometry : { type : "Polygon" , coordinates : [ "@@l¤UbVL@V LVb²VlKlaX@ lb @lxUVUL b ln²VJUbW@@L b@`nL@nVV@LV UbUVm kVl lXbl@Xn° VK@_°`²IVVV@VUVJnInaWK@U @ K LÆ@nmlXXWVUUw@klKVa@knyVkVanI JXUl@XbVUl@@a a@mXk bnK@UlK@UUUVaXaWmkUm¥n WmXaWa kl@VmÞb KVL@aVI@mUwVm @KÅ méUL KVaUk@kUK@U WXI@VlKXU @VVnInVV@VLlK@UU kKU_@ WWUwU @kl n@ @Imb @@m nUKÛ@mKUkWVXxmbVLX VVU²VV@xÅnmWmLU@kbmJ@b¯ IUb J UUxVl@z@bU`W@Ub¯nUJUb @WLUKULkU@aWK @ a bmL @ lmUk@@bUL WJUI ° @ ¯aWLk@mbUb¯b" ] , encodeOffsets : [ [ 114942 , 34527 ] ] } } , { type : "Feature" , id : "4101" , properties : { name : "郑州市" , cp : [ 113.4668 , 34.6234 ] , childNum : 8 } , geometry : { type : "Polygon" , coordinates : [ "@@@nWVUKÅ@W nVnI V@ kÆ wV@ nn@lxÞln ôJ zXJl@nalUČVl l@²UlkôVVUnm I°VnV°@°¦VJnIÆJÞan_VmU @ama @kU ¥kaUklw@ UIV¥kVUI@ mmUÅmU l wVU@amU JWbUakV Vé¯Im` k @ wVWmLkU¯ XkWmLmx @UU bm@@x J@L bW@UUVWUkVK @ka IUamKUkkmmL UkJUVWXkWmnÅ@ K L @@VXLmbmJUIUVU@ULWVkK@nWVXL@lVn@¤ b kôKXKlL@¦²V@J L±@ @VU@WV@X@`XXmb@ bla n@J b@V" ] , encodeOffsets : [ [ 115617 , 35584 ] ] } } , { type : "Feature" , id : "4105" , properties : { name : "安阳市" , cp : [ 114.5325 , 36.0022 ] , childNum : 6 } , geometry : { type : "Polygon" , coordinates : [ "@@°kVaV¥k VmUkWk WVkVKUwkkmKUU@a wWWX WakKWkXmla IVmX¥ U@a @W nK@k V I¯ @KğI@ WU¯LkK ak _kmmV U@VWX KnVmbXbVLmln@VVknlVUnVlk lnXbmlmlXblnÈlWbn@@n K@V L bVV°VVz ln @V x I b U@WLUa¯V UkWõ@¯kk mxk¼l XUlVbVLnlULmU@l LkVUl X@xW@¯mU @UmIUW L@aXa kU ¯an Wk°@k kKmmUIWa ambUkkKmV¯a @Ubl k mXk¤ @@b @UbULWVnb@lUVVnm nVVU J@bWXX@WJkL@blVU°UV@XlWnXUbW@UVkV VWbnLUJWLUK@Lnn@blVU nUblxVUVJXU a @Ub LnUVV@mVIVVn@UbV@ XbmbUV _lVXUWanJVI@WkI@WVIVU°WXXl@la@mX@lLXl kVb m X ylIXJV@@k Kla²UVa IVyÞb°LlVna@UÆKnLVb K@anwU " ] , encodeOffsets : [ [ 117676 , 36917 ] ] } } , { type : "Feature" , id : "4102" , properties : { name : "开封市" , cp : [ 114.5764 , 34.6124 ] , childNum : 6
} } , { type : "Feature" , id : "3201" , properties : { name : "南京市" , cp : [ 118.8062 , 31.9208 ] , childNum : 3 } , geometry : { type : "Polygon" , coordinates : [ "@@k@ma@kUUVmVIUWVUUaVa@Ѳk°Jôk@Wmk¯KmX¯aUakK WU @XU LXaV@@mUaV UUl@VmkaUXm@ WUUna°Il mV m IUW @Uk@@aV@VVX@ V I°»nm U@ VKVan@m»UaU@U_@WlIUa aVaUala@¯n@ kaUkUUWKU@mwkUUmmL@K @ LmUUV K VÅImU J VkVVL èVLVU@W L V @nVÜULV UL@bW@XbWbkJ UUVUxVXmVk@W UUkVmI V@ nbnVWb JU kUUL a@Jma@XkK@VVL@L@J LUVU@V¼ nXl bm@kbUKmn@lVb@VXXV UV@b@LVbÆxXbl@@lV@U VV@XVK²VlI ` UbVbUlVVn@WXn@@VUV@ @KmbVLXÒ LkK V@nX@VVUV@b nVllb mnb IWVXU@`lLlknVnmlLlbUmVInK°nU U@l@VU@Vn@ @alI `VIXaVaVa" ] , encodeOffsets : [ [ 121928 , 33244 ] ] } } , { type : "Feature" , id : "3212" , properties : { name : "泰州市" , cp : [ 120.0586 , 32.5525 ] , childNum : 5 } , geometry : { type : "Polygon" , coordinates : [ "@@lUU@@y@In@WwXal@Þxl@@anVô@ÆX lŎ ôU@ Vw@ÇU U@@m@U JUUWKkL@Vm@@£ aUUmyV@@_kJUUVUUWlUnblL@aUm I@ ULUW@IU@WaUK@£UK@aV@°V@LnUWWXIla VV @£UWlkXĕVLVW b@kUalwUKU¯lU@mk£V ôKÈ VK@w KVaUkķlUI± ğ¥ÝUŹ ¯ôm¦ ĸ @XXK@VVXUJ@nlbUx@blJk mIUV@ÆnL@VmL@b@b@V@J@bnb U@U Jk¦mL@VVJkXk ll@b @@l XXVWlXnml@nÅU@ mbUVlVUXn`mb@zU@V VWX@¤ ¦V@Xb" ] , encodeOffsets : [ [ 122592 , 34015 ] ] } } , { type : "Feature" , id : "3202" , properties : { name : "无锡市" , cp : [ 120.3442 , 31.5527 ] , childNum : 3 } , geometry : { type : "Polygon" , coordinates : [ "@@nL ÒlxUVkL am@ kVWUULUxVVVbUV@bVLU nnź ÞVĠ¦X VUUaôw@KlUVw WUwVa @lUX Wa@_X@WmkI@a@W I@w@KmKUUk@@aVU VVÅmJ _@W@a@I±wÛ@ƑÇkw± ¯£mWĉUóç K¯VkUWK@XkV¯UWa b mUa UUb lln@b@x bX W X`@ VxUblL@bn@Vb@`m@XbWnn@l¤ n@xnVlU VLÆW kV@VbÞJ _n l@nKVU@aU U @mVk°WVLUV¯bV X bXlVn@VmL@x V@bl @ nW@X@VVJ@²VJVU" ] , encodeOffsets : [ [ 123064 , 32513 ] ] } } , { type : "Feature" , id : "3204" , properties : { name : "常州市" , cp : [ 119.4543 , 31.5582 ] , childNum : 3 } , geometry : { type : "Polygon" , coordinates : [ "@@ L nxUbVV L@xnnW nn@VVXn@ y Imx ° L a ¥n@Vk KVw W@nX VJ@b @UVn @UnUV@L b@`VLklVÞn Æ@VaXLl ÈJ mmV UK@aVUUaUUVwVKXVlU n@ blKVUkw ÑmKUVUI@±UI@U@WmX@ k @a U@wnK@UUmWk aW U °aVUUK¯XUl@nV V @bUVmLk@m `ÝIUaU@ lÅXUK kVmU@w mk£m@XmWan@@_Uam@@akKVaUw@ W_X W a@w@akmm@mL@U JmnUK @@XnJWLkKUb@ Vxk W L aWVUImVULUK@L@lkLVVVllb m@@°kbVbUb bVbkJ@XV`V@Vbn¼" ] , encodeOffsets : [ [ 122097 , 32389 ] ] } } , { type : "Feature" , id : "3211" , properties : { name : "镇江市" , cp : [ 119.4763 , 31.9702 ] , childNum : 4 } , geometry : { type : "Polygon" , coordinates : [ "@@ VĊK n VÆUn J@UWKXkVLlKVwX VlbVK nJÆa ķn¥°óÇIk WKUbÅ@m UÝlkUK@_ a@KVUVm @m VU @@aUIW @m XUx LUlm@ ¦ b K¯ nw J zm@UW@UmmX mm@w KUUVamw Km@UbUL@ Vmn¯¼ J UW@UUU@@bl@@V VX J nnU k ¯JmbVV Xn@VWlbUnk@VVU Vb@nU@Wb KWV @XV lLVb°bnW°Lnl@X" ] , encodeOffsets : [ [ 122097 , 32997 ] ] } } ] , UTF8Encoding : ! 0 } } ) , n ( "echarts/util/mapData/geoJson/jiang_xi_geo" , [ ] , function ( ) { return { type : "FeatureCollection" , features : [ { type : "Feature" , id : "3607" , properties : { name : "赣州市" , cp : [ 115.2795 , 25.8124 ] , childNum : 18 } , geometry : { type : "Polygon" , coordinates : [ " @ @ ` l@Èbln @ KVLl@ V@bÈ ln KXkVlVL@ lJnb ¦VKVVnX W@w°@VU mln UV ` U bVUV @ xnKVI ° KXKVkVL @ al @ Xa LVlULWV VVL @ b x @ VXVmb @ x @ V VV @ nn ¤ lb ° b ° KXXWbX ` lbXx z@x ` VIVUnK L x WXLVKVbVLVU @ wnW ° b @ nalX mXVJn @ U²mKkVl U @ @ xln aVmlKn @ JVLl nV l @ XXÆèVlUX @ xVLXV b ° W @ wnUWmXk @ K LVwUmUkUKUw @ wVaVK @ k @ WnkUKW kwlmXL @ KVUlLVKXmWU L @ a L @ m alaVk @ a a a nX @ VVUblb Jn Xa V wn £ K @ UWmUk @ UaWI V @ b JW @ K mmU @ aUUUkmKk VKlUU nKVU lVaV £ Å ¥ WUUK @ UkUUw @ m @ mIk UUW L K ¯ Uw ° ¯ @ wUKUb Km @ kkKUL @ UUKV ¥ U @ manw @ k @ U @ Wm @ @ U @ Wwkm wWaUU @ UUmV ¯ kw @ @ km kKkUW @ UK @ ÅV @ XWWkXa @ Ul @ Va @ KVaUUU @ aXwla @ UkVWaXk @ K @ lmkUmV @ Vmbk @ » XI ¥ VUk VUVU @ anKVU KUalU @ wX @ @ a @ K @ Ýw L @ UnÇlUIkJmn @ bVV b @ VmnkL V ¯ U @ ± l IWm @ kaUI @ aÇU @ K @ KUIkbWb JUIUy X ¯ UbU @ méUUmUk WK xWIkJm @ V ¥ U _UJUwmVk UU @ @ kn wm @ Um kWJkL @ n @ VW @ @ U @ knm @ kUml @ xÅx @ @ XUJlb @ VX JVxn @ lbV @ lULnV @ Vl nV @ bWV @ bXL @ lVLVb V @ blLn @ Vl K @ xln @ bX @ la LVbnKUVVb KlXVVkx V @ nnVUb lV @
type : "Polygon" , coordinates : [ "@@U¯ķó±ÇÛ¯ ķmbXb @kb@Vĉxm@@UkKWXX`m@ @LULV`@L @mU@l U x aÝVUX@VUL x VkLWV @J nVLXVl UV@zl VL@V@b n@lU²WVLlLVbU VxUx@xǀ L xôÒ k K² Va U@wXa@ W ÈĉUa@ bÈk m@¯" ] , encodeOffsets : [ [ 109542 , 39938 ] ] } } ] , UTF8Encoding : ! 0 } } ) , n ( "echarts/util/mapData/geoJson/qing_hai_geo" , [ ] , function ( ) { return { type : "FeatureCollection" , features : [ { type : "Feature" , id : "6328" , properties : { name : "海西蒙古族藏族自治州" , cp : [ 94.9768 , 37.1118 ] , childNum : 7 } , geometry : { type : "MultiPolygon" , coordinates : [ [ "@@ V£° @la Xô±źw ô@ Ul żaÜ n K w@U a a²L mÈLÆ ÈxlaUa wÞmÜbÞU nJ°a kô ÑkwÝVğwÇ@ÝkkV¯¥@ ò » nŤ¥XImw@mVw a@ Åw mLkaW w ¥l»kç ó »@ WÑĉ ğ @ĉ Ń UwóřVóm ĵ» Ý@VǕ¯k ÝĊÅk °ÓUklkU± I ÇÞk ±@ ƽ J @U ġIk@W¦ V ÑșÓÅnťKULn ¯X @ ¯mUÛ@WÅ móKknōb xÝ@ U@kw@ÿÇLţ ÝUk mw k lċVÅ U¦ LkUWlÅÑ@a @ÅѱUóġŹ¼ ÈĉmŻ@@wkw Kl¯U ġ@ lÇU Ó¯_ Waĉ²Åló¼Vbkn KÇ Å@ƧĢō°Ý@ğ W ÅxUUm@ ÝXÛ W ULUè¯@mbUa L bUWġx IUJWz a¯b y @ōÈóLU`ÇXUl UĉV¯n mÛbǕLkl UĉV óaġ ƏbġKţnkbÝmmnÝWȭÈ ÝXţWó kUÇl¯U¯ ġUɅĀ@°¯ ¯ VÆn mJ@ĊķnóJUbÝXUlV kL@lVxnnmb@¤Vz `ÞÞŤ@ Vn ÆJV °b UôJkzl kl@²ó@ÆÇ°kĖ ÇbÛU@lmb XV kz V ɅĀXˢlń ĬŹ@éÅ@ĉńÆ°ğbU l ɜ_° @xŦ kbVbƒKĢ ŤVŎ °@żÈźlĊ ôKôb@nôxŦ Æ@ô ŎL@þÆb@ nn WˌbÈx InaŎxlU@Ѳ± ğVUĢ ƨbɲ@Þ¥ôUU ķWV ô¯ĊWʶnôaŤˁ@£nmnIô ǪK°xUXô@Ŧa°m kX Æ ÞVŎkĊ°ÞLÈ ôyVa IlwX °UVwĢÑÜKôw@nV@ m°nm n Ü ɞ£Vbm Xn °ÜÒ@x x@V b²UlbkxVn JUnVVĊ °KČ m°nxÇnn¤±¦@ UXVV@ lV bmVVÈ Vx Ò ° I bźaČ bVw @ VL ƾÑ@ Ŧ ô¯ĊkôÑ" ] , [ "@@ @ @n òV a w²bVx xÜaČVô_ĊJ IVm L a°@Ŏ¥X lK@ k l KVbUb @nUĢn aÈ@lmǬ»Ġ¯ n mn ƨ Vy Ñǖ Ġ»ɲIn @@ÅĢƳ@¯° ôV KÈbVIÇ¥¯@Ýó@ÑnīWK k k@¥ ¯ Åa X ±V Åw@±Ġ¯@» n Wm w@ @ ¯ V UUWç Kĉ a±Vkk V¯w x@ UJ x@bknÇb mÅ@Uw±U¯¦U Km ¯I¯ ť¼ğĊ @ÇŹÈ¯@Ý»ÇnˡJ bÛèÇn ÅK¯ ġĠŹ W¼Ålm @¤n² Ýb@b ¯l ¯@ ŤW ¼nV@x °@Vx @lbUblbX¼W Dzl U @¼ V¦@bÇlVxUbVxÞbV bm¦ VV " ] ] , encodeOffsets : [ [ [ 100452 , 39719 ] ] , [ [ 91980 , 35742 ] ] ] } } , { type : "Feature" , id : "6327" , properties : { name : "玉树藏族自治州" , cp : [ 93.5925 , 33.9368 ] , childNum : 6 } , geometry : { type : "Polygon" , coordinates : [ " @ @ ɆÿĢV ° ° VÈklVô ŤXÞW ȮÇÞXnmÞnlaŤmĢLƐaĢ ôb ĊU VlkǖKÜa n ° mĊU VVkÈWV _ôKŎÇ @ z ° a bXyVI JĢwVX a KVbna ° @ VçVKX Ü ÞW n @ VVÆwX Ġ Þ @ Ŏ ¯ ƨġÆ @ È LlmUaô » ÆkĊ ± Xb ° ` ÔV kÈ Ģ@V k° Llx@xż@Ċn Çź»ôĢ²VÆÒ @@bÆÒXklV K V¥Æ ČU k l nxl ç ¥ċç@± m¥ wÅJ @ V mÈIléÈa° U¥ @kÞV K²ÑW °w²Ñ K²ñ yÆ Ý Vmw »kkWĉ JWU VÅw L mÅ@@ mw kn¥VÑ »° °@@» ¯ Lla Jô nV Uů U@W¯Umѯ¯k@WykU@¯ wV¥ kVwţ k» wWÇ ĉĶç K Þ Çaĉb I lU @kw W XU °w ±@U Kn£Wĉ KWx k ĕV amwXw @ Wmnk@a Vk bĉL l Imm wU Ç Wx nÝJn @¥Æ kw aX Üĉ ¯ÅV¯¤mk x¯kķÜ ² VWôŹVU @V£ ¥@ °wn @ m @¯@UbUôķ mn@ÆÛ@ÇýVaU ÇĊ V @Çlğ ¯xÝŤ lVÈÈV x ¤Vx kK@ @ x@ kV Ėġ¥kIWbX Ŏx@n xÅUW` _ @ ± Ua LUx K ¯ WbkVlb bm LÛÆWIUw WkwÝV @ kI éUb UUk V ¯ Km ¯ k @ UmÝ ¯ m ¯ m L Þĉ ÛUm ġ £ UxkKm ° L w k @ k Vm K VUk @ ¯ a ¯ Ģ móKUU x ImlÅn ÇbXèVVU ° @ @ xXnm @ ¼ğ ° @ ²ÆxU ² WÆb ° @ ¦ ll XLmĬ @ Ò Þô ° @ È ¦ UJÇa LóU ¯ @ ° ġƴ @ Æ @ m ɱJğ¼Ǖ ÒUzƧ m n mğ ° ǫ¼knÇ @ bġmmV @ VaUa L k l @ kLW ō ¦ ¯ @ b KUn JĉIó ` ċUÛb wUw±a x bñUm @ @ b a bÇ ÅXm ƒÝ ÅôVbÞ bl U ÞVÞ U ° VUx @U V @l ` <EFBFBD>
coordinates : [ "@@²£ yl@ČĖ@bĸ Ģbĸ X a KŤnn@ŎôllÈx nVnÞÇ V@b nXllL°K bVb@J@b @ U xlKXLlKl Xk @Ulk JlkU VKXU ÇVIVm@_nÇ L a l w VnU@UUwma@a aÝa LmUk@@W @U@@X wVWÝUUUk@@VmL KV»nwUw aUL@`mz JUIV UaUw KUaVIlJôanÑlLVUn@ a @VV @@UUwVK°Vn_lJÆL éW@UUUÅ@»lm@aÞIVwXW UUkkm@U@a U@ mwU£VWU_kWm XwW_°yUkkK@UÇK@kkUVym óK U@KWI bUak@mJ@bkbmLk Um kVU W¦@lnb@ @V °ULml@nkV a VmLUnk`±@ X WW@kbǦX ¯ Wx I@xmbmxXlWV @bÅ Uz@J b@bÞb U@Wbk@ xk@WX¯VÛ WÝbÝUkVUU@alI@a@akLWa m@U¯UUmÇL@K@aU@¯VUk KmX@`@ kJ@nV Ub@ lbVÆXVW ULU`VbkLUV@XWl@bXJ @ VbV@Vl" ] , encodeOffsets : [ [ 115335 , 41209 ] ] } } , { type : "Feature" , id : "1404" , properties : { name : "长治市" , cp : [ 112.8625 , 36.4746 ] , childNum : 12 } , geometry : { type : "Polygon" , coordinates : [ "@@Uk Lky@I JVa @mÞaW y@_ W@_W XVlUVw @nw°K@m U Va mV kU@mmmnLVUmKXa U@IlKVUnK@UmWkX@WV_V @akU@a KWIXy IUVmUn Ua@ WaXUVKVmkUWVkU LU@@V b K b IUm @mbVL x WUUkn±V¯w bÅJUbmLkbmKÅK bVnUb V KUb KUbmL Km b a KkUm@U nn VnxU VlUxl¼ k¯JUbU@Vbk@W U@UVóI@`¯nWxkL K@nk`Wn@lUn V nm XU`@ mb@lkV@ VnklVVUblz@`nbWnnJ IVJ@XUVV UV@lÆX xnKlL@m aÈ ll I a LV` UlVV@@b@X JW Ub@ n@L @lJn@@UVKVa UlnlJXb k Wn_@mn@VkVK@a°@XklKVUUwVWU ĊÆ @ U²@@blLVWn@@bVa XllVnnaVm a@¯VLnan@ mVm@knUVJ" ] , encodeOffsets : [ [ 116269 , 37637 ] ] } } , { type : "Feature" , id : "1406" , properties : { name : "朔州市" , cp : [ 113.0713 , 39.6991 ] , childNum : 5 } , geometry : { type : "Polygon" , coordinates : [ "@@XXWVXVWnnlnn@èƼ@ xl V nbl V È UVl @ bln LÜ ĊmUkU@Ua @WI@aXk@WVUlKUaV_VKX WUUÅka@ VaU @mlI@ @_nW LVl°UV@@b@LÈKVn°V@V nXblK@b@bkJ@bVVlUÞVÞa XÜ °UXWl@ wl@XaV@ Ýa@a a@IVyÆ @a XUWknwna@w JXw° W È¥kI@W@kmKm ¯IUmkXWWka bkImJ UkL±a V b@lWXkJ Uk ĉk @UmU@a Kk V UkJlaU_ y @UU@aUU¯LW`kLWnkJó b U bmK@aU@UVVL@V L@ UVUL K@xUL@VUV@nml¯@UkmKUxmbVbUV@X lXVmnVbkxUbU@ bm@@VUlUV b°@VX¯ m " ] , encodeOffsets : [ [ 114615 , 40562 ] ] } } , { type : "Feature" , id : "1405" , properties : { name : "晋城市" , cp : [ 112.7856 , 35.6342 ] , childNum : 6 } , geometry : { type : "Polygon" , coordinates : [ "@@lV L b an LnKVa LVa L UVaUm aÆLnLlanKVaÆI a°x²UlmVV X wUKna @Vn J a L a@UV@@alUkKVKnkmmVwUk w@ @kxWUX W@@m k@aUa@a¯a LkKmwkUm@kL@K@aWIXm V X WkUVakL@UVK w@aUK@UUKmLU@¯n KUwV UIWJ UWmka @UX J k@UkmW@kLWK V x@bmI@VUaVU@a¯@UUmV KmX @±` kÝKVxUL±akL@V b LkKmV @X WVUb VXb@lm@ @lW@@xk lVUbnnmbU lJ@ @L @@V b@ WX UlkxVV@ wn@ÜmnLlVkz `UbmL@V @XL m VnIÞ@VU°x@VnL x V@LU°" ] , encodeOffsets : [ [ 115223 , 36895 ] ] } } , { type : "Feature" , id : "1401" , properties : { name : "太原市" , cp : [ 112.3352 , 37.9413 ] , childNum : 5 } , geometry : { type : "Polygon" , coordinates : [ "@@ @VV@wVKnLVal@na°n aVJ Ulm L°a@b @lx@bULUlmx@Ln@lVkn l @XI w K Vn °aVXVx UaVU°K nUl UVL KÆV ²Ģ lnXalLÈÆ L KUaVkUanmWU a @WwkUWU¯y¯Ñ@anIl@@aVU m I ymU LUUVakaU@@LmJkw±L KmVUI@W¯ VaU_l kbW@kK@m UkaV mVaU IVm alk W@wnIVy@klk WUU V I@ U Vkam@knU@mmmK@b blVUX@VkLV`@n±KU UL UnVVÅ UbÇKmV Imbm@k¼ó@Ul b@VmV@b Xma K @ UUxkV V@ xW UxVnkVVJ@XnJ@XlV²LÆ VbnL@l @°" ] , encodeOffsets : [ [ 114503 , 39134 ] ] } } , { type : "Feature" , id : "1403" , properties : { name : "阳泉市" , cp : [ 113.4778 , 38.0951 ] , childNum : 3 } , geometry : { type : "Polygon" , coordinates : [ "@@°@nb @lb@b b b @ x²al@lb KXU@m kUWkkmUU VwV@XUW @ naVklKXblKnL nLVanImaXKlL a V@U@KUKW al XK@£WKXUV@VU UUVW _V @W@ @K @ U IWmXUm UL n JkImmÝaUb L K@U Wk@mn U @kVWb @Ubmx@l zUx `U ULml@ X Wl @UV@nk@U Vb@X Jm @@Vkn yk@ z J nUV@bk@mJ@b°Ò°zXVlVXx @ bXVmnVbUlVb" ] , encodeOffsets : [ [ 115864 , 39336 ] ] } } ] , UTF8Encoding : ! 0 } } ) , n ( "echarts/util/mapData/geoJson/si_chuan_geo" , [ ] , function ( ) { return { type : "FeatureCollection" , features : [ { type : "Feature" , id : "5133" , properties : { name : "甘孜藏族自治州" , cp : [ 99.9207 , 31.0803 ] , childNum : 18 } , geometry : { type : "Polygon" , coordinates : [ " @ @ aXam ¯ wm @ ± ° wUwV @ UaVw²K U @ U U ¥ a @ £ Þ ôx <EFBFBD>
} } , { type : "Feature" , id : "CHE" , properties : { name : "Switzerland" } , geometry : { type : "Polygon" , coordinates : [ "@@ ƫŹȳϞƵі wá΅χƙةŀǻЏ ơƄ һ ˵Л¡α Ƕ˽ςБſ ^ϠؚҾ ɈϤûɲƞMǦǼ࣒ʱ" ] , encodeOffsets : [ [ 9825 , 48666 ] ] } } , { type : "Feature" , id : "CHL" , properties : { name : "Chile" } , geometry : { type : "MultiPolygon" , coordinates : [ [ "@@Bም࣒@Ԓw˧ͻܛʻ Э ӻä؏ʨ࢟ŨੑҸҎୃशۘǭ̟֗ѢϬ˘ֺޠΎװı " ] , [ "@@͢؆ŘĺɁ ˿ࢍࣵг ඓǫ˓ʦ͡ץԹջ߁̛ރĀ߿ԫࡹϮฏɔƵCޛӑࠍpۯٍշFޙʮࠏԉ̧ɣ ݡȟࡱƚͷǡȞॹϜ ͇ˡΛ϶ǙĚ̓ν ǃ Ĝӱ̫ѽܓĮыˇՑ٣υ ôࢹ̧̐֔ÄgؽΒ ө᎔őުſ ݝPЙȷݷ̣ƉΣoॅ˚१ג@@ਲ਼ӔˁՒʄӰх֒ŅΦ߰ࢴٰౣʔߞݒ˸ඊत̏Ѯგ֝ɠʿՉŠ˂ல˺༒ϮָʍࠎéूΠԨപഎΤబȗ఼ʤۚĵਞӮਆưྺ˒ნˀሤÕ൘ǩќɌɦњЬֱŐѴΡ˅߽Ҍह" ] ] , encodeOffsets : [ [ [ - 70281 , - 53899 ] ] , [ [ - 69857 , - 22010 ] ] ] } } , { type : "Feature" , id : "CHN" , properties : { name : "China" } , geometry : { type : "MultiPolygon" , coordinates : [ [ "@@ԑഓΫۏѷ܂ĩخӶࠜڦَϨʡƣԓ" , "@@ܩЗ ۏʺyܢа ϠࣾɾӚoȊ͍σ σ șӟ" ] , [ "@@ฬˍׯͼ߃౨Cܰͨ൸ʜѳݱ͙̭˽ः ֡ࠇ৵ƪܝ̑ɜܙťѕ wLяթӺͯһ ಙα ƀѹܩ Ѝ˂ ֽऑҋۃա ୭ʑأϽࣝɭ҂ϴǭ͞ږ֠ѹѲܷ̓ॉԫթ࠙¡ѓϻѸ֩یƏ ϕڔʕसݚ͝լuƌѱஓɻϻҏࠇу ћי ࣜҥͦࠝԞޓ֮٥ _دՅɯ Ȫ҃Ӷʻ Żۃɇڗҷ÷ؗࣧڹિޭোିޡୟۻृĩԣύ̃˘Ӈй୭с ࢵŹ˻ࢱҭ·ə؎Ȧ͘ૻː Їƍ ࡍɔЏƄ ӜޏƶЙܑ̀҃ࠇīڡJ҉ȳѥūŶ॥҃x÷Ȣ }Ύ؝ʓεƸر͂ʔۤՏǎȧޜࢱƓĴাߔۮۚ{٠ ν Ȩ˭ӶӭÙࣟŲ˴ Μ ϿԺ׳ Ν ۵ ȸॷއسڳĿο ɦѹrȚґɇرëڌԟǭওĈोȖڿτٵǔ˯Жҽ Ŧࡓո کʴΑ ȩଢ଼ט ࠛՒɽऐő і ͭј Đۆࣙঠ൧ͼʝ٦ةϼƫʌųӎ ͜ԛ Ȕ˟ďɇިʈȔśȠߤЈ ǐࢸő͆՜ંIJͮ̚ҔŠȐãӐּɔݱฦဘͲј Ȉ؆ຒဠˡҲϞ¢ࡆۦĀٖ֔͢èɚו ۸ѽப̿׆ڱ͕ঙ̢ηূƝଆŝ৪ ԻԲġϤޟӲӿऒnჄȉŜࠦůఔԛ ৮Bόʽ ঐҌബ̈ా ঘ̒҈ך˰Ƌˤˍ͔Ѵ ըӀ ùࡺǝ࠸Ѿ͚؞֊נʆŐڐĥĠ̘ݿזګː ٥ ̳ࠣžӇŃɏΆר࠾Цو̓ஆՎQτݸࢾҲː WҪңȦۜмਰƲvసʡ݈̱ࡏ̀α ̊ԩ̶ࠕ" ] ] , encodeOffsets : [ [ [ 124701 , 24980 ] , [ 112988 , 19127 ] ] , [ [ 130722 , 50955 ] ] ] } } , { type : "Feature" , id : "CIV" , properties : { name : "Ivory Coast" } , geometry : { type : "Polygon" , coordinates : [ "@@ϣUו ǒ՟Wহƥʍ̯ࠫNjvÞۖĄŀ}ͨΣΚ ˉÈʕɲǾώčО ʔ Ƅ B¸ ξÝnjĄŜ̸ĶȹڨȗΎæ˸ ǘÞŊúɸųٮOƸʖƢgʎĦžΫȞłΌŰϚǽƦ ˥Ϙǯ̎ɄϾ ֺɏɠΟ ۷ ɕेθܣ ͧ" ] , encodeOffsets : [ [ - 2924 , 5115 ] ] } } , { type : "Feature" , id : "CMR" , properties : { name : "Cameroon" } , geometry : { type : "Polygon" , coordinates : [ "@@Ľ°ӻŇԝ ŒЋÅnŬڒ͟֊ϧƚǟϖɋŦXɶɎתЎ߸ʒRԄӮ͈bҾΉ־˲ĀΔȌͺ žь҆ΊǞךDzȊŢѨɜ՚ ۾ٲ¬˨ĠƲͫͰ ˌʂ¶ͮ՟Ê֏ ֏ҜޅҷTʁÏϥČǻЅ ӸөμƛŠΏˆ ׃ ſ ɩ х ࡛ȫƳÝٳČΝ åʡЈ ѭð̴̟џϨ ˓ ϥĘʏ ÓґڛȤڷɜ " ] , encodeOffsets : [ [ 13390 , 2322 ] ] } } , { type : "Feature" , id : "COD" , properties : { name : "Democratic Republic of the Congo" } , geometry : { type : "Polygon" , coordinates : [ "@@»ঙͶŕˑ̗͓ɟ͍ѫǯϷ±ګț͍Oه ʍɹ ԃŗÝýҟɄϡÂưޝċѧǘӣӤҹҒͥĒ૿ƙɣ ĵʇՙȊχƫষĻࡇɨƫט ͝ɲƴìٟࣟR·Ҧ̳ΨٟŠȋѰԣ˅ڧŞ˫ϢՕ üϽqµʾ ́rϥºԳųι tȻû®ৄ˩̸ÕԬŬԒǝ͖eՊ৳Qò̢ѕ G ƣԵ Ɂ ӧűȿҫŠˣş։ å͏ Ѱȗ˖ʋ Ԍ ȷض៛\\̍ķʑhœşʼ ɊĘ μƎɎ̪ǰɚđ˼͐ҜSÄʃ̼ƩӶՄӨШɆː ۔ θࠆϬўք М Īˌt̰Ǝ̆«ӊŀݖǐԾʦ҈¸ Ԕúה͜ѐҊ˔۔ ˷ؚ̳ĉظǏʦԖŘÞϦčनо ͨDZ˖~ŴȲ̺ðلėբoˤĚԘۙϘķɤƖϲ ÅҶDzȦΫ݊֏" ] , encodeOffsets : [ [ 31574 , 3594 ] ] } } , { type : "Feature" , id : "COG" , properties : { name : "Republic of the Congo" } , geometry : { type : "Polygon" , coordinates : [ "@@̿˾ʩƗͻγ ۏࢸٖҪ̓˾ɂ֦ĺäό҆З ݐ ʴЈ ł֒ĝڀЉӺζȽǘسçɻѢÔξ ڸɛڜȣ ÔҒѰԆѼ֪Ɨդ±·ԓʥ҇ǏԽĿݕ¬Ӊƍ ̅s̯ĩˋ փЛϫѝηࠅ ۓɅˏӧЧӵՃ̻ƪÃʄқT˻͏ əĒ" ] , encodeOffsets : [ [ 13308 , - 4895 ] ] } } , { type : "Feature" , id : "COL" , properties : { name : "Colombia" } , geometry : { type : "Polygon" , coordinates : [ " @ @ ΫȤЭ ˨ ʅƅ ܉ Ŝȱΰƽ _ Ӓŕʺ ̼ Ú тȢ ̦ иÊΞՆ ͐ Ѵ ̳ ȦDŽӦȏސǸɚƃ ܄ ͻ ҄ ņТ ˔ ÑǂʠțӶĺŬѢ ـהΌĚT ˦ ƺ ܂ ӖϸՊfäǪڂéڌъ ͞ ȊОК ̖ » ɚɛǍ ˱ գƕɇп ͗ ʋʓ ̷ Ĺ ɷӭѢÇņϭȄȁâ ij ̵ ǫȸéȨ ̉ ઊĄӦŃעܡͼĚ ӐĪ ̔ ƟƱ <EFBFBD>
properties : { name : "Turkey" } , geometry : { type : "MultiPolygon" , coordinates : [ [ "@@͗ঐżܤõলѬࣆ¢ߴ ЭƜ̑ăУ زȻͨʕֻʇˀ५Ǐʻ ҠڧЕ ƙ̏ɊňίŽॗŽҏbॳ̿ە Eҁǀ ऍɹ˝ǐ¯ҷɣ ǿɣ ǿ̱Ϡ͈͂ԟí۱ ȖֿәౣĥڹҊࣟ ȗΑ ׇij҄ࣻeӽ࠶ؗҰЦٸՓВ ठߨಒ Μ ྀٔŏհ ʄർlุף" ] , [ "@@۫ҏ˃Ϻ\\ǦȦĦʺՂХɞࡦ˄ܤőĴ͓ܼ˓Ƶȵি±Ωʷ" ] ] , encodeOffsets : [ [ [ 37800 , 42328 ] ] , [ [ 27845 , 41668 ] ] ] } } , { type : "Feature" , id : "TZA" , properties : { name : "United Republic of Tanzania" } , geometry : { type : "Polygon" , coordinates : [ "@@ƚġᵂႋÌӣϱਙ¸Ӊՠ̩~ɓɳԓ¶ʭÇГ̌Ճΐ̰ࠡǿڝӣࣿ͛ԋb̙ʥבsɕŃঢ়ʂكåɽଢ˵Ϻ ǛɶࠗƾӉʨՕ ƘͯƘΗ ɈґӣҺǗӤČѨƯޞΎ ̨̦͜ѬȺǮS˘ǷȐ·ͨʐł¶Ӷͫӄ̎Ķऄ[ႎà" ] , encodeOffsets : [ [ 34718 , - 972 ] ] } } , { type : "Feature" , id : "UGA" , properties : { name : "Uganda" } , geometry : { type : "Polygon" , coordinates : [ "@@ः \\̍ĵԇʷȯĐPوȜ ͎²ڬǰϸ͎Ѭ͔ɠ˒̘͵Ŗ¼চΌɮՖȉڰȠעEԬϮЊİс τ९̧ؓЯʉͽTࢹႍß" ] , encodeOffsets : [ [ 32631 , - 1052 ] ] } } , { type : "Feature" , id : "UKR" , properties : { name : "Ukraine" } , geometry : { type : "Polygon" , coordinates : [ "@@̾ ɄȒʮ¥ࢌĆ՞Ӈȿǝêʻ ڠ£̘ηkǑ੪ ̏٢Ƅ ϿӮVఊ˙XʙͿ ѯȆҩƃ˩Õџɻ ύڡã֑˕«ܣ̻¸ ԹЪȭࡨ¼Ǐ̛ँơଛӟұǠȄЂࣽʘƨLjߪ˪ʑȔಯɆË̼ީĻ̷ҧٱةϟƠЁƉϑƺɂĞƦ ˾ɲˎÑƮǬäĊśӸ{ɞØƽĎÐŲ̉ɈŧΘ̩ƐÒ˶ϝɦΉأʾ֑ĉȧŭΟ@Ƀȟا ă˹ŹϷȴ՟HԳĢγ ǵÍɤұɮǐͺ ɸɔȀµɑ ϘބۦиİĜɾх ܼД Ңɪ ٲnࡖßबȫڎi͂ŧ̀Ʀ ɚȝݸ¢ͮąÄцʶȂܞº" ] , encodeOffsets : [ [ 32549 , 53353 ] ] } } , { type : "Feature" , id : "URY" , properties : { name : "Uruguay" } , geometry : { type : "Polygon" , coordinates : [ "@@ղĚࡆٯ̺|ࡺ՟ڈҫӠ ֱχЉɸӇεՇॉұا ǚғěޥΰ֫ ԟҬÞլǾȈS࠸ɤࡺȾڦ" ] , encodeOffsets : [ [ - 59008 , - 30941 ] ] } } , { type : "Feature" , id : "USA" , properties : { name : "United States of America" } , geometry : { type : "MultiPolygon" , coordinates : [ [ "@@ũƕȽŤ|ɾƓ̨¦ĤƤƎÍǔ¸ þÜe͐ƙƬñƌőɊ̍q¯͟ǵˏſ " ] , [ "@@˭ÑƟǮīèQÀĈî̘āɘŹëĵ" ] , [ "@@ĝ҉|Úĸа" ] , [ "@@ µÓŻ ŃȒ ɤŚêÃʐ˥" ] , [ "@@ı ĉ˱ƴªÖŸĈȘijȝ" ] , [ "@@Ƭңʼ ƛז½ƅࠂʹ ڼŊਖɓ˞Tݨʄ߂̧ࠒ͗ں˩ٶˏĈəȢ ĉ½ĉɦ ǎĔ¦ȣ ǜƅɴ@ŬĹĽƫЁǶށǚܳʗӹЁҥȁ̍mēĦť˸ Ɓɂ@ঊ҆ࡾƀસмfĐ÷ʰƉǒϜ ƆࠜHޘAˎ͞ŀàࢶϜ Ƹ౦ NBĎȺː ¦Φž̖Ϣʲٺٚي˨ə֜Ɯώʏ Aଧռ ӅƢ˝࣋Пࡷ̃ࢱʝѻӿƛȋSѽˤѽΒ sė̬ʦȇãʇ֥ƋЗ hةƥλ¥ӥ¥۫ʏ ఀǂʠǃ ୳ʥC|ĺʭɷʚǹؑ٧×Ɏȁª˟ɀǪҍȼƭ^ͅˏ͛ҿڡû ʺֲѕ ͎įۦljεǴՑևƀׂ˓ ߛʊÍĖ̃ŠࡁՕ دࢇʝց ӱнÁэ̱ţ˭इձӁЍЅ ӽŻׯƪˬܗώשLεЊঅ ֥ ͛ȿԡʣŃЯĺƁς͋ȖѻܢϹ ٞű͢ǤɽҦٻ۲͟źࡑϡƭ¦С ϼՃȺोŁݗĤٙÍΏſ ƲɟaͽǴǓLJō̵Ů́ǃ ؍ طѺܻĿ؏ȚԹÏۻȝއح࠳γ ҝБȕϗUׅ¨Е DŽ˹͝{ȂٽʺɽЄȁט ӷӐ̃Ӱу ֺףͲۉgՉڑۣʦѡ ʪȽҦ˧Ѯӿτїˈ ̩̖ป@Cڗ@ဩOቿפТ Āǒ੩ĝॕÝƙі խӚϻĴğʌһ ¦̝ɪ ޭĊɉƌĹҢࠁࡊ۩ୠ Țχˤٯ۴řۆ҃ҞȀۢ
ܜˍ٢͠ߊ ĸނĺނƱૼˇܘʓ϶ĸǐ˷҂ߋȺɜƇې˷ێᛸ@᠂@ࠜ@ᢢ@៚@ᡀ@ᡄ@᭰@ᮞBაAF͔˴ J" ] , [ "@@࠽͋ѕɐŽЀބ̘҆ŸÉΤʻܫЍ" ] , [ "@@ԧŽսƾԛɮࠦƞښùĂ͑" ] , [ "@@DžԾĒڸɛ࠲őéĝُDZٕǾ͋Ʋݍµȧôº̈́" ] , [ "@@؊ϛώnjහ»¹ȕ౾ƛࡨČᄚ˅ྤā٨ʼn૦Ǝౢʧࣲŝ@@MᷱIⷍࠠ{ࠌɵהρ ݜց ࠈҺࡈ˖Ҁѡ ֤·ޒϙՂय़ේxՋұЙҥ͂ݍˌʃܺએںҍߎ߯ÄrটʌࢎߩDŽ̜íϬৃΨटǯǦҫÁঁǫ݉˱झdzťӶϚࠚࣀʶɱɂੱҵֵ֑ױؚС ߏࣗΗ ࡁʱȻωಽѡ ˅ϿছΫֽÞɻ˹ۧ˫ʉſ ƘऀϾࠔʸࣆҠਬĨвΈԊȈǚب̒ƢْђӸॹʫ˓Ơҕ̧շюɧ̝̽мͳԩBïԄƲ̮ե̚થLJ܁ ЀַȬIӈ٩Ϊ͘ӘۆҸ̚њںÖ־ƇڴМ ؎ï٘ʼ ƻϨ ҹưج͖ԩWࢻǽʯȃڏȄஏĥ௷ȬΛӦΘመШ۔ @ŕнᄢڽԶਕ͌ױр߫ΨଽˈҺѲਗ਼ϦȨФЎࠊĪཪώޜÉಐ҄ౚǭ" ] ] , encodeOffsets : [ [ [ - 159275 , 19542 ] ] , [ [ - 159825 , 21140 ] ] , [ [ - 160520 , 21686 ] ] , [ [ - 161436 , 21834 ] ] , [ [ - 163169 , 22510 ] ] , [ [ - 97093 , 50575 ] ] , [ [ - 156678 , 58487 ] ] , [ [ - 169553 , 61348 ] ] , [ [ - 175853 , 65314 ] ] , [ [ - 158789 , 72856 ] ] ] } } , { type : "Feature" , id : "UZB" , properties : { name : "Uzbekistan" } , geometry : { type : "Polygon" , coordinates : [ " @ @ xԦ ૣ ά ࢝ ЪշЄ ॥ Яࡾ ˭ ƴ ࣥ ͏ ǤěڢଅѺ ۽ ӥܕ ́ Ɛх ॅ [ ᶾᓘӺƾïದ ی ͅ ߤݵঢŪ <EFBFBD> <EFBFBD>
encodeOffsets : [ [ 123379 , 31500 ] ] } } ] , UTF8Encoding : ! 0 } } ) , n ( "echarts/chart/gauge" , [ "require" , "./base" , "../util/shape/GaugePointer" , "zrender/shape/Text" , "zrender/shape/Line" , "zrender/shape/Rectangle" , "zrender/shape/Circle" , "zrender/shape/Sector" , "../config" , "../util/ecData" , "../util/accMath" , "zrender/tool/util" , "../chart" ] , function ( e ) { function t ( e , t , i , a , o ) { n . call ( this , e , t , i , a , o ) , this . refresh ( a ) } var n = e ( "./base" ) , i = e ( "../util/shape/GaugePointer" ) , a = e ( "zrender/shape/Text" ) , o = e ( "zrender/shape/Line" ) , r = e ( "zrender/shape/Rectangle" ) , s = e ( "zrender/shape/Circle" ) , l = e ( "zrender/shape/Sector" ) , h = e ( "../config" ) ; h . gauge = { zlevel : 0 , z : 2 , center : [ "50%" , "50%" ] , clickable : ! 0 , legendHoverLink : ! 0 , radius : "75%" , startAngle : 225 , endAngle : - 45 , min : 0 , max : 100 , splitNumber : 10 , axisLine : { show : ! 0 , lineStyle : { color : [ [ . 2 , "#228b22" ] , [ . 8 , "#48b" ] , [ 1 , "#ff4500" ] ] , width : 30 } } , axisTick : { show : ! 0 , splitNumber : 5 , length : 8 , lineStyle : { color : "#eee" , width : 1 , type : "solid" } } , axisLabel : { show : ! 0 , textStyle : { color : "auto" } } , splitLine : { show : ! 0 , length : 30 , lineStyle : { color : "#eee" , width : 2 , type : "solid" } } , pointer : { show : ! 0 , length : "80%" , width : 8 , color : "auto" } , title : { show : ! 0 , offsetCenter : [ 0 , "-40%" ] , textStyle : { color : "#333" , fontSize : 15 } } , detail : { show : ! 0 , backgroundColor : "rgba(0,0,0,0)" , borderWidth : 0 , borderColor : "#ccc" , width : 100 , height : 40 , offsetCenter : [ 0 , "40%" ] , textStyle : { color : "auto" , fontSize : 30 } } } ; var m = e ( "../util/ecData" ) , V = e ( "../util/accMath" ) , U = e ( "zrender/tool/util" ) ; return t . prototype = { type : h . CHART _TYPE _GAUGE , _buildShape : function ( ) { var e = this . series ; this . _paramsMap = { } ; for ( var t = 0 , n = e . length ; n > t ; t ++ ) e [ t ] . type === h . CHART _TYPE _GAUGE && ( e [ t ] = this . reformOption ( e [ t ] ) , this . legendHoverLink = e [ t ] . legendHoverLink || this . legendHoverLink , this . _buildSingleGauge ( t ) , this . buildMark ( t ) ) ; this . addShapeList ( ) } , _buildSingleGauge : function ( e ) { var t = this . series [ e ] ; this . _paramsMap [ e ] = { center : this . parseCenter ( this . zr , t . center ) , radius : this . parseRadius ( this . zr , t . radius ) , startAngle : t . startAngle . toFixed ( 2 ) - 0 , endAngle : t . endAngle . toFixed ( 2 ) - 0 } , this . _paramsMap [ e ] . totalAngle = this . _paramsMap [ e ] . startAngle - this . _paramsMap [ e ] . endAngle , this . _colorMap ( e ) , this . _buildAxisLine ( e ) , this . _buildSplitLine ( e ) , this . _buildAxisTick ( e ) , this . _buildAxisLabel ( e ) , this . _buildPointer ( e ) , this . _buildTitle ( e ) , this . _buildDetail ( e ) } , _buildAxisLine : function ( e ) { var t = this . series [ e ] ; if ( t . axisLine . show ) for ( var n , i , a = t . min , o = t . max - a , r = this . _paramsMap [ e ] , s = r . center , l = r . startAngle , h = r . totalAngle , V = r . colorArray , U = t . axisLine . lineStyle , d = this . parsePercent ( U . width , r . radius [ 1 ] ) , p = r . radius [ 1 ] , c = p - d , u = l , y = 0 , g = V . length ; g > y ; y ++ ) i = l - h * ( V [ y ] [ 0 ] - a ) / o , n = this . _getSector ( s , c , p , i , u , V [ y ] [ 1 ] , U ) , u = i , n . _animationAdd = "r" , m . set ( n , "seriesIndex" , e ) , m . set ( n , "dataIndex" , y ) , this . shapeList . push ( n ) } , _buildSplitLine : function ( e ) { var t = this . series [ e ] ; if ( t . splitLine . show ) for ( var n , i , a , r = this . _paramsMap [ e ] , s = t . splitNumber , l = t . min , h = t . max - l , m = t . splitLine , V = this . parsePercent ( m . length , r . radius [ 1 ] ) , U = m . lineStyle , d = U . color , p = r . center , c = r . startAngle * Math . PI / 180 , u = r . totalAngle * Math . PI / 180 , y = r . radius [ 1 ] , g = y - V , b = 0 ; s >= b ; b ++ ) n = c - u / s * b , i = Math . sin ( n ) , a = Math . cos ( n ) , this . shapeList . push ( new o ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) + 1 , hoverable : ! 1 , style : { xStart : p [ 0 ] + a * y , yStart : p [ 1 ] - i * y , xEnd : p [ 0 ] + a * g , yEnd : p [ 1 ] - i * g , strokeColor : "auto" === d ? this . _getColor ( e , l + h / s * b ) : d , lineType : U . type , lineWidth : U . width , shadowColor : U . shadowColor , shadowBlur : U . shadowBlur , shadowOffsetX : U . shadowOffsetX , shadowOffsetY : U . shadowOffsetY } } ) ) } , _buildAxisTick : function ( e ) { var t = this . series [ e ] ; if ( t . axisTick . show ) for ( var n , i , a , r = this . _paramsMap [ e ] , s = t . splitNumber , l = t . min , h = t . max - l , m = t . axisTick , V = m . splitNumber , U = this . parsePercent ( m . length , r . radius [ 1 ] ) , d = m . lineStyle , p = d . color , c = r . center , u = r . startAngle * Math . PI / 180 , y = r . totalAngle * Math . PI / 180 , g = r . radius [ 1 ] , b = g - U , f = 0 , k = s * V ; k >= f ; f ++ ) f % V !== 0 && ( n = u - y / k * f , i = Math . sin ( n ) , a = Math . cos ( n ) , this . shapeList . push ( new o ( { zlevel : this . getZlevelBase ( ) , z : this . getZBase ( ) + 1 , hoverable : ! 1 , style : { xStart : c [ 0 ] + a * g , yStart : c [ 1 ] - i * g , xEnd : c [ 0 ] + a * b , yEnd : c [ 1 ] - i * b , strokeColor : "auto" === p ? this . _getColor ( e , l + h / k * f ) : p , lineType : d . type , lineWidth : d . width , shadowColor : d . shadowColor , shadowBlur : d . shadowBlur , shadowOffsetX : d . shadowOffsetX , shadowOffsetY : d . s
2022-11-14 15:49:28 +00:00
x : o [ m ] . y + t . x , y : o [ m ] . x + t . y , width : o [ m ] . height , height : o [ m ] . width } ) ; l = { x : t . x , y : t . y + o [ 0 ] . width , width : t . width , height : t . height - o [ 0 ] . width } } var V = e . slice ( o . length ) ; 0 !== V . length && this . squarify ( V , l ) } , e . prototype . getShapeListInAbstractRow = function ( e , t , n ) { if ( 1 === e . length ) return [ { width : t , height : n } ] ; for ( var i = 1 ; i < e . length ; i ++ ) { var a = this . placeFixedNumberRectangles ( e . slice ( 0 , i ) , t , n ) , o = this . placeFixedNumberRectangles ( e . slice ( 0 , i + 1 ) , t , n ) ; if ( this . isFirstBetter ( a , o ) ) return a } } , e . prototype . placeFixedNumberRectangles = function ( e , t , n ) { for ( var i = e . length , a = [ ] , o = 0 , r = 0 ; r < e . length ; r ++ ) o += e [ r ] ; for ( var s = o / n , l = 0 ; i > l ; l ++ ) { var h = n * e [ l ] / o ; a . push ( { width : s , height : h } ) } return a } , e . prototype . isFirstBetter = function ( e , t ) { var n = e [ 0 ] . height / e [ 0 ] . width ; n = n > 1 ? 1 / n : n ; var i = t [ 0 ] . height / t [ 0 ] . width ; return i = i > 1 ? 1 / i : i , Math . abs ( n - 1 ) <= Math . abs ( i - 1 ) ? ! 0 : ! 1 } , e } ) ; var i = t ( "zrender" ) ; i . tool = { color : t ( "zrender/tool/color" ) , math : t ( "zrender/tool/math" ) , util : t ( "zrender/tool/util" ) , vector : t ( "zrender/tool/vector" ) , area : t ( "zrender/tool/area" ) , event : t ( "zrender/tool/event" ) } , i . animation = { Animation : t ( "zrender/animation/Animation" ) , Cip : t ( "zrender/animation/Clip" ) , easing : t ( "zrender/animation/easing" ) } ; var a = t ( "echarts" ) ; a . config = t ( "echarts/config" ) , a . util = { mapData : { params : t ( "echarts/util/mapData/params" ) } } , t ( "echarts/chart/line" ) , t ( "echarts/chart/bar" ) , t ( "echarts/chart/scatter" ) , t ( "echarts/chart/k" ) , t ( "echarts/chart/pie" ) , t ( "echarts/chart/radar" ) , t ( "echarts/chart/chord" ) , t ( "echarts/chart/force" ) , t ( "echarts/chart/map" ) , t ( "echarts/chart/gauge" ) , t ( "echarts/chart/funnel" ) , t ( "echarts/chart/eventRiver" ) , t ( "echarts/chart/venn" ) , t ( "echarts/chart/treemap" ) , e . echarts = a , e . zrender = i } ( window ) ;