{"version":3,"sources":["webpack:///./node_modules/echarts/lib/chart/parallel/ParallelSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseView.js","webpack:///./node_modules/echarts/lib/component/tooltip.js","webpack:///./node_modules/echarts/lib/chart/funnel/FunnelSeries.js","webpack:///./node_modules/echarts/lib/coord/geo/prepareCustom.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/echarts/lib/coord/geo/Geo.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack:///./node_modules/echarts/lib/component/gridSimple.js","webpack:///./node_modules/echarts/lib/component/helper/roamHelper.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/echarts/lib/component/dataset.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/zrender/lib/core/timsort.js","webpack:///./node_modules/@jiaminghi/charts/lib/class/charts.class.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/@jiaminghi/bezier-curve/lib/index.js","webpack:///./node_modules/zrender/lib/contain/polygon.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/axis.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/zrender/lib/animation/Animator.js","webpack:///./node_modules/echarts/lib/data/Tree.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipContent.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/echarts/lib/chart/gauge.js","webpack:///./node_modules/echarts/lib/chart/parallel.js","webpack:///./node_modules/echarts/lib/chart/candlestick.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineAxis.js","webpack:///./node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js","webpack:///./node_modules/core-js/modules/es7.math.clamp.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/echarts/lib/component/dataZoom.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/zrender/lib/core/GestureMgr.js","webpack:///./node_modules/echarts/lib/component/legendScroll.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/es7.math.deg-per-rad.js","webpack:///./node_modules/zrender/lib/core/arrayDiff2.js","webpack:///./node_modules/core-js/modules/es7.global.js","webpack:///./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js","webpack:///./node_modules/echarts/lib/component/helper/MapDraw.js","webpack:///./node_modules/@jiaminghi/charts/lib/extend/index.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/radarAxis.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/zrender/lib/mixin/Transformable.js","webpack:///./node_modules/core-js/modules/es7.asap.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/zrender/lib/graphic/Image.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyVisual.js","webpack:///./node_modules/throttle-debounce/debounce.js","webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendView.js","webpack:///./node_modules/echarts/lib/coord/parallel/ParallelAxis.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/echarts/lib/data/helper/sourceHelper.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectLine.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/echarts/lib/component/brush/visualEncoding.js","webpack:///./node_modules/echarts/lib/chart/effectScatter.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/element-ui/lib/mixins/focus.js","webpack:///./node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","webpack:///./node_modules/es6-promise/dist/es6-promise.js","webpack:///./node_modules/echarts/lib/chart/helper/Symbol.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarView.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/echarts/lib/component/axis/RadiusAxisView.js","webpack:///./node_modules/element-ui/lib/scrollbar.js","webpack:///./node_modules/echarts/lib/helper.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/echarts/lib/chart/scatter.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/zrender/lib/core/matrix.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/echarts/lib/coord/radar/RadarModel.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/textCoord.js","webpack:///./node_modules/echarts/lib/chart/bar/BarSeries.js","webpack:///./node_modules/echarts/lib/component/axisPointer/globalListener.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/@jiaminghi/charts/lib/class/updater.class.js","webpack:///./node_modules/echarts/lib/scale/Ordinal.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/echarts/lib/component/marker/MarkLineModel.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickView.js","webpack:///./node_modules/zrender/lib/graphic/Displayable.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/echarts/lib/chart/pie/PieView.js","webpack:///./node_modules/core-js/library/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js","webpack:///./node_modules/echarts/lib/coord/polar/polarCreator.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/echarts/lib/layout/barPolar.js","webpack:///./node_modules/vue-echarts/components/ECharts.vue?619e","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/echarts/lib/chart/gauge/PointerPath.js","webpack:///./node_modules/core-js/modules/es7.math.rad-per-deg.js","webpack:///./node_modules/echarts/lib/coord/geo/GeoModel.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/gauge.js","webpack:///./node_modules/core-js/modules/es7.math.fscale.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/zrender/lib/mixin/Eventful.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/echarts/lib/coord/axisModelCommonMixin.js","webpack:///./node_modules/echarts/lib/CoordinateSystem.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/bar.js","webpack:///./node_modules/zrender/lib/core/PathProxy.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/echarts/lib/component/toolbox/featureManager.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/echarts/lib/chart/tree/TreeSeries.js","webpack:///./node_modules/echarts/lib/scale/Time.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/echarts/lib/chart/line/LineSeries.js","webpack:///./node_modules/echarts/lib/coord/parallel/ParallelModel.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/pie.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/zrender/lib/core/env.js","webpack:///./node_modules/echarts/lib/chart/tree/layoutHelper.js","webpack:///./node_modules/echarts/lib/util/graphic.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js","webpack:///./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es7.string.trim-left.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/echarts/lib/coord/radar/Radar.js","webpack:///./node_modules/echarts/lib/chart/graph.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/echarts/lib/component/marker/MarkerModel.js","webpack:///./node_modules/echarts/lib/chart/funnel/funnelLayout.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/line.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/echarts/lib/preprocessor/helper/compatStyle.js","webpack:///./node_modules/core-js/modules/es7.math.degrees.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/echarts/lib/model/mixin/makeStyleMapper.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/_set-collection-from.js","webpack:///./node_modules/echarts/lib/chart/pie/pieLayout.js","webpack:///./node_modules/echarts/lib/chart/graph/categoryVisual.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/element-ui/lib/tooltip.js","webpack:///./node_modules/echarts/lib/lang.js","webpack:///./node_modules/echarts/lib/component/visualMapPiecewise.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/element-ui/lib/utils/scroll-into-view.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/echarts/lib/data/helper/dataProvider.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/zrender/lib/graphic/Style.js","webpack:///./node_modules/echarts/lib/visual/visualSolution.js","webpack:///./node_modules/element-ui/lib/mixins/migrating.js","webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/zrender/lib/config.js","webpack:///./node_modules/echarts/lib/component/singleAxis.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/@jiaminghi/bezier-curve/lib/core/bezierCurveToPolyline.js","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/echarts/lib/component/brush.js","webpack:///./node_modules/echarts/lib/data/helper/dimensionHelper.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/echarts/lib/component/polar.js","webpack:///./node_modules/core-js/modules/es7.math.isubh.js","webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/echarts/lib/chart/bar/BaseBarSeries.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/zrender/lib/tool/parseSVG.js","webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousModel.js","webpack:///./node_modules/echarts/lib/coord/single/prepareCustom.js","webpack:///./node_modules/echarts/lib/component/marker/MarkLineView.js","webpack:///./node_modules/zrender/lib/animation/Animation.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/echarts/lib/chart/sankey.js","webpack:///./node_modules/echarts/index.js","webpack:///./node_modules/echarts/lib/data/helper/linkList.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/nanhai.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/echarts/lib/chart/helper/createListFromArray.js","webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarView.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstView.js","webpack:///./node_modules/zrender/lib/tool/path.js","webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineView.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es7.string.at.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/es7.observable.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/echarts/lib/util/number.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/echarts/lib/model/mixin/dataFormat.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/echarts/lib/model/mixin/lineStyle.js","webpack:///./node_modules/zrender/lib/graphic/IncrementalDisplayable.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/radar.js","webpack:///./node_modules/echarts/lib/component/timeline/timelineAction.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousView.js","webpack:///./node_modules/echarts/lib/echarts.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/zrender/lib/svg/graphic.js","webpack:///./node_modules/element-ui/lib/utils/resize-event.js","webpack:///./node_modules/zrender/lib/core/vector.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js","webpack:///./node_modules/core-js/modules/es7.map.from.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/element-ui/lib/utils/clickoutside.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/babel-runtime/helpers/extends.js","webpack:///./node_modules/zrender/lib/tool/color.js","webpack:///./node_modules/element-ui/lib/utils/vdom.js","webpack:///./node_modules/core-js/modules/es7.error.is-error.js","webpack:///./node_modules/zrender/lib/graphic/Gradient.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipView.js","webpack:///./node_modules/echarts/lib/model/Model.js","webpack:///./node_modules/echarts/lib/coord/single/singleCreator.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/echarts/lib/component/marker/MarkAreaModel.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapAction.js","webpack:///./node_modules/zrender/lib/animation/Clip.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/core-js/modules/_collection-to-json.js","webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstAction.js","webpack:///./node_modules/core-js/modules/es7.object.define-getter.js","webpack:///./node_modules/echarts/lib/chart/helper/Polyline.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/zrender/lib/graphic/shape/Ring.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/echarts/lib/component/legend/legendAction.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/library/fn/get-iterator.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/grid.js","webpack:///./node_modules/core-js/modules/es7.map.to-json.js","webpack:///./node_modules/echarts/lib/coord/calendar/prepareCustom.js","webpack:///./node_modules/element-ui/lib/cascader-panel.js","webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js","webpack:///./node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapView.js","webpack:///./node_modules/echarts/lib/chart/graph/adjustEdge.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/element-ui/lib/locale/index.js","webpack:///./node_modules/zrender/lib/graphic/LinearGradient.js","webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/zrender/lib/core/log.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/grid.js","webpack:///./node_modules/echarts/lib/action/geoRoam.js","webpack:///./node_modules/echarts/lib/component/helper/RoamController.js","webpack:///./node_modules/zrender/lib/core/curve.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack:///./node_modules/zrender/lib/graphic/shape/Sector.js","webpack:///./node_modules/zrender/lib/svg/helper/Definable.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js","webpack:///./node_modules/element-ui/lib/utils/popup/popup-manager.js","webpack:///./node_modules/echarts/lib/coord/single/Single.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/echarts/lib/coord/geo/geoJSONLoader.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js","webpack:///./node_modules/echarts/lib/chart/funnel/FunnelView.js","webpack:///./node_modules/echarts/lib/chart/gauge/GaugeSeries.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/echarts/lib/config.js","webpack:///./node_modules/echarts/lib/chart/map/MapSeries.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js","webpack:///./node_modules/element-ui/lib/select.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/radar.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/echarts/lib/model/Series.js","webpack:///./node_modules/zrender/lib/graphic/helper/poly.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/echarts/lib/component/dataZoom/helper.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/element-ui/lib/utils/popup/index.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/@jiaminghi/color/lib/index.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/echarts/lib/chart/graph/graphHelper.js","webpack:///./node_modules/echarts/lib/component/visualMap.js","webpack:///./node_modules/element-ui/lib/transitions/collapse-transition.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/core-js/library/fn/is-iterable.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/echarts/lib/chart/map/mapVisual.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/echarts/lib/model/mixin/itemStyle.js","webpack:///./node_modules/echarts/lib/component/radar.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/@jiaminghi/c-render/lib/plugin/util.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/echarts/lib/component/dataZoom/roams.js","webpack:///./node_modules/echarts/lib/chart/helper/treeHelper.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/echarts/lib/data/DataDimensionInfo.js","webpack:///./node_modules/zrender/lib/graphic/helper/roundRect.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/echarts/lib/chart/graph/forceLayout.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/echarts/lib/component/axis/axisSplitHelper.js","webpack:///./node_modules/element-ui/lib/utils/dom.js","webpack:///./node_modules/throttle-debounce/throttle.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Grid.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/echarts/lib/chart/sankey/SankeyView.js","webpack:///./node_modules/echarts/lib/coord/geo/geoSourceManager.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/element-ui/lib/element-ui.common.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/echarts/lib/chart/heatmap.js","webpack:///./node_modules/core-js/modules/es7.weak-map.from.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/get-iterator.js","webpack:///./node_modules/core-js/modules/es7.weak-set.from.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/zrender/lib/Layer.js","webpack:///./node_modules/zrender/lib/graphic/helper/image.js","webpack:///./node_modules/echarts/lib/component/legend/LegendView.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/echarts/lib/visual/VisualMapping.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/zrender/lib/core/event.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/echarts/lib/chart/parallel/ParallelView.js","webpack:///./node_modules/echarts/lib/visual/visualDefault.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/legend.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/legend.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/element-ui/lib/utils/popper.js","webpack:///./node_modules/echarts/lib/data/List.js","webpack:///./node_modules/zrender/lib/graphic/helper/smoothSpline.js","webpack:///./node_modules/echarts/lib/util/clazz.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/echarts/lib/component/title.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-setter.js","webpack:///./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/echarts/lib/chart/lines/linesLayout.js","webpack:///./node_modules/zrender/lib/core/dom.js","webpack:///./node_modules/echarts/lib/component/axis/AxisView.js","webpack:///./node_modules/echarts/lib/component/timeline/preprocessor.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/shim.js","webpack:///./node_modules/echarts/lib/coord/single/SingleAxis.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/echarts/lib/chart/graph/categoryFilter.js","webpack:///./node_modules/echarts/lib/chart/map.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/symbol.js","webpack:///./node_modules/echarts/lib/chart/bar/BarView.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/zrender/lib/contain/quadratic.js","webpack:///./node_modules/core-js/modules/es7.math.radians.js","webpack:///./node_modules/echarts/lib/component/dataZoom/typeDefaulter.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/echarts/lib/coord/axisHelper.js","webpack:///./node_modules/zrender/lib/zrender.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/echarts/lib/stream/Scheduler.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectPolyline.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/element-ui/lib/popover.js","webpack:///./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/element-ui/lib/mixins/locale.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/geoCoord.js","webpack:///./node_modules/@jiaminghi/charts/lib/index.js","webpack:///./node_modules/echarts/lib/component/radar/RadarView.js","webpack:///./node_modules/echarts/lib/chart/themeRiver.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/activeRingChart/src/main.vue?d0b5","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/digitalFlop/src/main.vue?e995","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/slicedToArray.js","webpack:///node_modules/@jiaminghi/data-view/lib/components/digitalFlop/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/digitalFlop/src/main.vue?b3c4","webpack:///./node_modules/@jiaminghi/data-view/lib/components/digitalFlop/src/main.vue","webpack:///node_modules/@jiaminghi/data-view/lib/components/activeRingChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/activeRingChart/src/main.vue?aebe","webpack:///./node_modules/@jiaminghi/data-view/lib/components/activeRingChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/activeRingChart/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox1/src/main.vue?75a2","webpack:///./node_modules/@jiaminghi/data-view/lib/util/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/mixin/autoResize.js","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox1/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox1/src/main.vue?7dca","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox1/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox1/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox10/src/main.vue?8d83","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox10/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox10/src/main.vue?5ffd","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox10/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox10/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox11/src/main.vue?86b2","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox11/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox11/src/main.vue?e380","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox11/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox11/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox12/src/main.vue?7e49","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox12/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox12/src/main.vue?6fda","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox12/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox12/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox13/src/main.vue?96bd","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox13/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox13/src/main.vue?3425","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox13/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox13/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox2/src/main.vue?73d7","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox2/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox2/src/main.vue?2294","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox2/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox2/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox3/src/main.vue?cdce","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox3/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox3/src/main.vue?13dc","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox3/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox3/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox4/src/main.vue?ee6d","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox4/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox4/src/main.vue?093d","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox4/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox4/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox5/src/main.vue?1c7f","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox5/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox5/src/main.vue?05d0","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox5/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox5/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox6/src/main.vue?bd7a","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox6/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox6/src/main.vue?728a","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox6/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox6/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox7/src/main.vue?9125","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox7/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox7/src/main.vue?2c38","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox7/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox7/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox8/src/main.vue?9266","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox8/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox8/src/main.vue?7916","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox8/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox8/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox9/src/main.vue?5127","webpack:///node_modules/@jiaminghi/data-view/lib/components/borderBox9/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox9/src/main.vue?6809","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox9/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/borderBox9/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/capsuleChart/src/main.vue?277d","webpack:///node_modules/@jiaminghi/data-view/lib/components/capsuleChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/capsuleChart/src/main.vue?6b96","webpack:///./node_modules/@jiaminghi/data-view/lib/components/capsuleChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/capsuleChart/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/charts/src/main.vue?eb0b","webpack:///node_modules/@jiaminghi/data-view/lib/components/charts/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/charts/src/main.vue?1876","webpack:///./node_modules/@jiaminghi/data-view/lib/components/charts/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/charts/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/conicalColumnChart/src/main.vue?f446","webpack:///node_modules/@jiaminghi/data-view/lib/components/conicalColumnChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/conicalColumnChart/src/main.vue?6980","webpack:///./node_modules/@jiaminghi/data-view/lib/components/conicalColumnChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/conicalColumnChart/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration1/src/main.vue?5eec","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration1/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration1/src/main.vue?0591","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration1/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration1/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration10/src/main.vue?7598","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration10/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration10/src/main.vue?f0e9","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration10/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration10/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration11/src/main.vue?61f7","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration11/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration11/src/main.vue?11ee","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration11/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration11/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration12/src/main.vue?e5ca","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration12/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration12/src/main.vue?6895","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration12/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration12/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration2/src/main.vue?905f","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration2/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration2/src/main.vue?16bc","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration2/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration2/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration3/src/main.vue?b96f","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration3/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration3/src/main.vue?f07d","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration3/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration3/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration4/src/main.vue?2045","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration4/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration4/src/main.vue?a82f","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration4/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration4/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration5/src/main.vue?0f07","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration5/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration5/src/main.vue?bbdc","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration5/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration5/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration6/src/main.vue?b245","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration6/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration6/src/main.vue?c0dd","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration6/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration6/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration7/src/main.vue?a084","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration7/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration7/src/main.vue?8ce8","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration7/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration7/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration8/src/main.vue?235e","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration8/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration8/src/main.vue?c034","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration8/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration8/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration9/src/main.vue?17a6","webpack:///node_modules/@jiaminghi/data-view/lib/components/decoration9/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration9/src/main.vue?6e13","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration9/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/decoration9/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/digitalFlop/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChart/src/main.vue?8740","webpack:///node_modules/@jiaminghi/data-view/lib/components/flylineChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChart/src/main.vue?0fcb","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChart/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChart/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChartEnhanced/src/main.vue?acc3","webpack:///node_modules/@jiaminghi/data-view/lib/components/flylineChartEnhanced/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChartEnhanced/src/main.vue?97a7","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChartEnhanced/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/flylineChartEnhanced/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/fullScreenContainer/src/main.vue?3a35","webpack:///node_modules/@jiaminghi/data-view/lib/components/fullScreenContainer/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/fullScreenContainer/src/main.vue?bc3d","webpack:///./node_modules/@jiaminghi/data-view/lib/components/fullScreenContainer/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/fullScreenContainer/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/loading/src/main.vue?7b30","webpack:///node_modules/@jiaminghi/data-view/lib/components/loading/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/loading/src/main.vue?c0b4","webpack:///./node_modules/@jiaminghi/data-view/lib/components/loading/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/loading/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/percentPond/src/main.vue?1e6f","webpack:///node_modules/@jiaminghi/data-view/lib/components/percentPond/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/percentPond/src/main.vue?d0c3","webpack:///./node_modules/@jiaminghi/data-view/lib/components/percentPond/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/percentPond/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollBoard/src/main.vue?0f52","webpack:///node_modules/@jiaminghi/data-view/lib/components/scrollBoard/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollBoard/src/main.vue?54d7","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollBoard/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollBoard/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollRankingBoard/src/main.vue?79bc","webpack:///node_modules/@jiaminghi/data-view/lib/components/scrollRankingBoard/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollRankingBoard/src/main.vue?5285","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollRankingBoard/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/scrollRankingBoard/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/components/waterLevelPond/src/main.vue?36ec","webpack:///node_modules/@jiaminghi/data-view/lib/components/waterLevelPond/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/waterLevelPond/src/main.vue?a4c2","webpack:///./node_modules/@jiaminghi/data-view/lib/components/waterLevelPond/src/main.vue","webpack:///./node_modules/@jiaminghi/data-view/lib/components/waterLevelPond/index.js","webpack:///./node_modules/@jiaminghi/data-view/lib/index.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/echarts/lib/model/Component.js","webpack:///./node_modules/echarts/lib/coord/View.js","webpack:///./node_modules/echarts/lib/chart/tree/TreeView.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/zrender/lib/core/util.js","webpack:///./node_modules/echarts/lib/chart/tree/traversalHelper.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/line.js","webpack:///./node_modules/echarts/lib/component/dataZoom/history.js","webpack:///./node_modules/echarts/lib/component/helper/selectableMixin.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/echarts/lib/coord/axisDefault.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverVisual.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/modules/es7.array.flatten.js","webpack:///./node_modules/element-ui/lib/utils/aria-dialog.js","webpack:///./node_modules/echarts/lib/chart/lines/LinesSeries.js","webpack:///./node_modules/core-js/modules/es7.map.of.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/pie.js","webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapView.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/echarts/lib/data/Graph.js","webpack:///./node_modules/echarts/lib/chart/helper/LineDraw.js","webpack:///./node_modules/echarts/lib/component/visualMapContinuous.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/zrender/lib/animation/easing.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/typeof.js","webpack:///./node_modules/core-js/modules/es7.weak-map.of.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/echarts/lib/component/geo/GeoView.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataView.js","webpack:///./node_modules/zrender/lib/graphic/Text.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/array/from.js","webpack:///./node_modules/echarts/lib/action/createDataSelectAction.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/echarts/lib/coord/radar/IndicatorAxis.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/echarts/lib/chart/radar/backwardCompat.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/echarts/lib/coord/polar/PolarModel.js","webpack:///./node_modules/echarts/lib/component/helper/listComponent.js","webpack:///./node_modules/echarts/lib/component/radiusAxis.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/promise.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/echarts/lib/chart/graph/createView.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/normalize-wheel/src/isEventSupported.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/es7.string.trim-right.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/zrender/lib/graphic/helper/fixShadow.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator.js","webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomView.js","webpack:///./node_modules/echarts/lib/component/markArea.js","webpack:///./node_modules/echarts/lib/chart/helper/Line.js","webpack:///./node_modules/echarts/lib/model/Global.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/element-ui/lib/utils/merge.js","webpack:///./node_modules/echarts/lib/component/graphic.js","webpack:///./node_modules/echarts/lib/component/dataZoomInside.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/echarts/lib/chart/helper/LinePath.js","webpack:///./node_modules/echarts/lib/visual/symbol.js","webpack:///./node_modules/element-ui/lib/checkbox-group.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/echarts/lib/data/DataDiffer.js","webpack:///./node_modules/element-ui/lib/utils/util.js","webpack:///./node_modules/echarts/theme/macarons.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyLayout.js","webpack:///./node_modules/zrender/lib/graphic/constant.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","webpack:///./node_modules/echarts/lib/component/marker/MarkPointView.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/echarts/lib/coord/calendar/CalendarModel.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/echarts/lib/ExtensionAPI.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/echarts/lib/component/axis/parallelAxisAction.js","webpack:///./node_modules/element-ui/lib/button-group.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/echarts/lib/coord/parallel/parallelCreator.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/echarts/lib/coord/Axis.js","webpack:///./node_modules/echarts/lib/component/legend/LegendModel.js","webpack:///./node_modules/zrender/lib/core/fourPointsTransform.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/zrender/lib/contain/util.js","webpack:///./node_modules/@jiaminghi/c-render/lib/class/crender.class.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/echarts/lib/data/helper/completeDimensions.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/echarts/lib/chart/radar/radarLayout.js","webpack:///./node_modules/zrender/lib/svg/core.js","webpack:///./node_modules/zrender/lib/contain/windingLine.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/title.js","webpack:///./node_modules/echarts/lib/chart/graph/GraphSeries.js","webpack:///./node_modules/zrender/lib/graphic/shape/Polygon.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/echarts/lib/layout/points.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/title.js","webpack:///./node_modules/echarts/lib/util/throttle.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/echarts/lib/component/marker/MarkerView.js","webpack:///./node_modules/echarts/lib/util/component.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/echarts/lib/model/globalDefault.js","webpack:///./node_modules/zrender/lib/graphic/helper/fixClipWithShadow.js","webpack:///./node_modules/echarts/lib/scale/Interval.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/mergeColor.js","webpack:///./node_modules/core-js/modules/es7.math.umulh.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/echarts/lib/model/referHelper.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/element-ui/lib/tag.js","webpack:///./node_modules/echarts/lib/scale/Log.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/zrender/lib/graphic/shape/Arc.js","webpack:///./node_modules/echarts/lib/chart/radar.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/echarts/lib/data/OrdinalMeta.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/echarts/lib/component/marker/MarkAreaView.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js","webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxModel.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack:///./node_modules/zrender/lib/svg/svg.js","webpack:///./node_modules/@jiaminghi/transition/lib/index.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/echarts/lib/component/legend/legendFilter.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapVisual.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/echarts/lib/component/marker/markerHelper.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/echarts/lib/coord/polar/RadiusAxis.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/echarts/lib/chart/treemap/TreemapSeries.js","webpack:///./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineView.js","webpack:///./node_modules/echarts/lib/component/calendar.js","webpack:///./node_modules/echarts/lib/data/helper/sourceType.js","webpack:///./node_modules/echarts/lib/chart/map/backwardCompat.js","webpack:///./node_modules/echarts/lib/scale/helper.js","webpack:///./node_modules/vue-elementui-bigdata-table/dist/vue-elementui-bigdata-table.js","webpack:///./node_modules/echarts/lib/chart/bar.js","webpack:///./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/echarts/lib/component/markLine.js","webpack:///./node_modules/core-js/library/modules/core.is-iterable.js","webpack:///./node_modules/throttle-debounce/index.js","webpack:///./node_modules/_vue-cropper@0.5.8@vue-cropper/dist/index.js","webpack:///./node_modules/zrender/lib/contain/line.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/echarts/lib/chart/graph/GraphView.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/zrender/lib/core/BoundingRect.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/@jiaminghi/c-render/lib/index.js","webpack:///./node_modules/core-js/modules/es7.string.match-all.js","webpack:///./node_modules/zrender/lib/animation/requestAnimationFrame.js","webpack:///./node_modules/echarts/lib/visual/dataColor.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/echarts/lib/loading/default.js","webpack:///./node_modules/core-js/modules/es7.set.of.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/echarts/lib/model/mixin/areaStyle.js","webpack:///./node_modules/core-js/modules/es7.math.iaddh.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/zrender/lib/graphic/helper/smoothBezier.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/vue-echarts/components/ECharts.vue?8e19","webpack:///./node_modules/resize-detector/esm/index.js","webpack:///node_modules/vue-echarts/components/ECharts.vue","webpack:///./node_modules/vue-echarts/components/ECharts.vue?12fa","webpack:///./node_modules/vue-echarts/components/ECharts.vue","webpack:///./node_modules/echarts/lib/chart/treemap/treemapLayout.js","webpack:///./node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","webpack:///./node_modules/echarts/lib/layout/barGrid.js","webpack:///./node_modules/element-ui/lib/locale/format.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/index.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/zrender/lib/graphic/mixin/RectText.js","webpack:///./node_modules/echarts/lib/coord/axisModelCreator.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/zrender/lib/contain/arc.js","webpack:///./node_modules/echarts/lib/chart/line/helper.js","webpack:///./node_modules/zrender/lib/svg/helper/ClippathManager.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarSeries.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/echarts/lib/component/timeline/typeDefaulter.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/radarAxis.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/echarts/lib/util/symbol.js","webpack:///./node_modules/async-validator/es/util.js","webpack:///./node_modules/async-validator/es/rule/required.js","webpack:///./node_modules/async-validator/es/rule/whitespace.js","webpack:///./node_modules/async-validator/es/rule/type.js","webpack:///./node_modules/async-validator/es/rule/range.js","webpack:///./node_modules/async-validator/es/rule/enum.js","webpack:///./node_modules/async-validator/es/rule/pattern.js","webpack:///./node_modules/async-validator/es/rule/index.js","webpack:///./node_modules/async-validator/es/validator/string.js","webpack:///./node_modules/async-validator/es/validator/method.js","webpack:///./node_modules/async-validator/es/validator/number.js","webpack:///./node_modules/async-validator/es/validator/boolean.js","webpack:///./node_modules/async-validator/es/validator/regexp.js","webpack:///./node_modules/async-validator/es/validator/integer.js","webpack:///./node_modules/async-validator/es/validator/float.js","webpack:///./node_modules/async-validator/es/validator/array.js","webpack:///./node_modules/async-validator/es/validator/object.js","webpack:///./node_modules/async-validator/es/validator/enum.js","webpack:///./node_modules/async-validator/es/validator/pattern.js","webpack:///./node_modules/async-validator/es/validator/date.js","webpack:///./node_modules/async-validator/es/validator/required.js","webpack:///./node_modules/async-validator/es/validator/type.js","webpack:///./node_modules/async-validator/es/validator/index.js","webpack:///./node_modules/async-validator/es/messages.js","webpack:///./node_modules/async-validator/es/index.js","webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/modules/es7.system.global.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/echarts/lib/chart/helper/LargeLineDraw.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/normalize-wheel/src/ExecutionEnvironment.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/echarts/lib/chart/funnel.js","webpack:///./node_modules/echarts/lib/component/helper/interactionMutex.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/echarts/lib/chart/map/MapView.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/@jiaminghi/charts/lib/core/index.js","webpack:///./node_modules/zrender/lib/graphic/helper/text.js","webpack:///./node_modules/element-ui/lib/utils/types.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/array/is-array.js","webpack:///./node_modules/echarts/lib/chart/gauge/GaugeView.js","webpack:///./node_modules/echarts/lib/chart/lines.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js","webpack:///./node_modules/zrender/lib/vml/graphic.js","webpack:///./node_modules/echarts/lib/component/brush/selector.js","webpack:///./node_modules/echarts/lib/component/marker/MarkPointModel.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipModel.js","webpack:///./node_modules/echarts/lib/coord/polar/AngleAxis.js","webpack:///./node_modules/core-js/modules/es7.promise.try.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js","webpack:///./node_modules/echarts/lib/coord/cartesian/prepareCustom.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/echarts/lib/chart/pictorialBar.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/echarts/lib/component/visualMap/visualEncoding.js","webpack:///./node_modules/echarts/lib/chart/parallel/parallelVisual.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/modules/_replacer.js","webpack:///./node_modules/echarts/lib/chart/scatter/ScatterView.js","webpack:///./node_modules/zrender/lib/graphic/shape/BezierCurve.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/echarts/lib/chart/graph/circularLayout.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js","webpack:///./node_modules/@jiaminghi/bezier-curve/lib/core/polylineToBezierCurve.js","webpack:///./node_modules/echarts/lib/chart/lines/LinesView.js","webpack:///./node_modules/zrender/lib/graphic/shape/Ellipse.js","webpack:///./node_modules/echarts/lib/component/brush/preprocessor.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/echarts/lib/component/axis.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/zrender/lib/Storage.js","webpack:///./node_modules/echarts/lib/component/axis/ParallelAxisView.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/@jiaminghi/c-render/lib/config/graphs.js","webpack:///./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/echarts/lib/component/toolbox.js","webpack:///./node_modules/echarts/lib/view/Component.js","webpack:///./node_modules/zrender/lib/svg/helper/GradientManager.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/echarts/lib/data/helper/createDimensions.js","webpack:///./node_modules/echarts/lib/component/visualMap/preprocessor.js","webpack:///./node_modules/echarts/lib/chart/treemap/TreemapView.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/echarts/lib/component/axis/AngleAxisView.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/core-js/modules/es7.math.imulh.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/echarts/lib/chart/bar/barItemStyle.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/echarts/lib/export.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/@jiaminghi/color/lib/config/keywords.js","webpack:///./node_modules/echarts/lib/visual/aria.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/echarts/lib/component/brush/brushAction.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-getter.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/echarts/lib/chart/pie/labelLayout.js","webpack:///./node_modules/core-js/library/modules/_user-agent.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/echarts/lib/component/visualMap/typeDefaulter.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/zrender/lib/svg/helper/ShadowManager.js","webpack:///./node_modules/echarts/lib/component/axis/SingleAxisView.js","webpack:///./node_modules/zrender/lib/mixin/Animatable.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js","webpack:///./node_modules/echarts/lib/component/helper/BrushTargetManager.js","webpack:///./node_modules/echarts/lib/coord/geo/parseGeoJson.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyAction.js","webpack:///./node_modules/core-js/modules/es7.weak-set.of.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/@jiaminghi/charts/lib/util/index.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/echarts/lib/chart/tree/treeAction.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/echarts/lib/chart/pie.js","webpack:///./node_modules/normalize-wheel/index.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/element-ui/lib/progress.js","webpack:///./node_modules/echarts/lib/util/shape/sausage.js","webpack:///./node_modules/echarts/lib/component/brush/BrushView.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/modules/_flatten-into-array.js","webpack:///./node_modules/echarts/lib/visual/LegendVisualProvider.js","webpack:///./node_modules/echarts/lib/component/parallelAxis.js","webpack:///./node_modules/echarts/lib/component/helper/cursorHelper.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/echarts/lib/theme/light.js","webpack:///./node_modules/element-ui/lib/utils/after-leave.js","webpack:///./node_modules/core-js/modules/_object-forced-pam.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/echarts/lib/coord/single/AxisModel.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_set-collection-of.js","webpack:///./node_modules/echarts/lib/chart/helper/labelHelper.js","webpack:///./node_modules/core-js/modules/es7.math.scale.js","webpack:///./node_modules/zrender/lib/graphic/shape/Rect.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es7.symbol.observable.js","webpack:///./node_modules/axios/node_modules/is-buffer/index.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/is-iterable.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectSymbol.js","webpack:///./node_modules/echarts/lib/coord/geo/geoSVGLoader.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/axis.js","webpack:///./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/echarts/lib/chart/tree/treeLayout.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/echarts/lib/model/OptionManager.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/zrender/lib/graphic/shape/Line.js","webpack:///./node_modules/echarts/lib/chart/scatter/ScatterSeries.js","webpack:///./node_modules/zrender/lib/mixin/Draggable.js","webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/echarts/lib/component/axisPointer.js","webpack:///./node_modules/echarts/lib/component/visualMap/helper.js","webpack:///./node_modules/zrender/lib/graphic/Path.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///./node_modules/echarts/lib/component/dataZoom/AxisProxy.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/gauge.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/echarts/lib/chart/helper/createRenderPlanner.js","webpack:///./node_modules/echarts/lib/component/grid.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/echarts/lib/component/axisPointer/modelHelper.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js","webpack:///./node_modules/zrender/lib/dom/HandlerProxy.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/echarts/lib/chart/map/mapSymbolLayout.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack:///./node_modules/element-ui/lib/mixins/emitter.js","webpack:///./node_modules/echarts/lib/chart/sankey/SankeySeries.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/echarts/lib/component/geo.js","webpack:///./node_modules/echarts/lib/coord/calendar/Calendar.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/@jiaminghi/c-render/lib/class/style.class.js","webpack:///./node_modules/core-js/modules/core.regexp.escape.js","webpack:///./node_modules/echarts/lib/processor/dataStack.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/echarts/lib/component/legend.js","webpack:///./node_modules/echarts/lib/chart/helper/focusNodeAdjacencyAction.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/zrender/lib/Handler.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./node_modules/echarts/lib/chart/graph/simpleLayout.js","webpack:///./node_modules/element-ui/lib/utils/shared.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/MagicType.js","webpack:///./node_modules/zrender/lib/vml/core.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/echarts/lib/processor/dataFilter.js","webpack:///./node_modules/zrender/lib/graphic/shape/Polyline.js","webpack:///./node_modules/normalize-wheel/src/normalizeWheel.js","webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/zrender/lib/graphic/CompoundPath.js","webpack:///./node_modules/echarts/lib/chart/line/poly.js","webpack:///./node_modules/zrender/lib/core/LRU.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/zrender/lib/Element.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/visualMapAction.js","webpack:///./node_modules/echarts/lib/chart/sunburst.js","webpack:///./node_modules/echarts/lib/chart/graph/graphAction.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/element-ui/lib/utils/date.js","webpack:///./node_modules/echarts/lib/action/roamHelper.js","webpack:///./node_modules/zrender/lib/contain/path.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/element-ui/lib/utils/date-util.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/echarts/lib/coord/parallel/Parallel.js","webpack:///./node_modules/echarts/lib/coord/polar/AxisModel.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/zrender/lib/graphic/shape/Circle.js","webpack:///./node_modules/echarts/lib/chart/treemap.js","webpack:///./node_modules/echarts/lib/component/markPoint.js","webpack:///./node_modules/babel-polyfill/lib/index.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es7.set.to-json.js","webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxView.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/zrender/lib/svg/Painter.js","webpack:///./node_modules/zrender/lib/graphic/Pattern.js","webpack:///./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/element-ui/lib/checkbox.js","webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotView.js","webpack:///./node_modules/echarts/lib/component/dataZoomSelect.js","webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js","webpack:///./node_modules/core-js/modules/es7.set.from.js","webpack:///./node_modules/zrender/lib/graphic/RadialGradient.js","webpack:///./node_modules/zrender/lib/core/guid.js","webpack:///./node_modules/echarts/lib/model/mixin/boxLayout.js","webpack:///./node_modules/echarts/lib/chart/graph/edgeVisual.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/echarts/lib/coord/parallel/AxisModel.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/Restore.js","webpack:///./node_modules/@jiaminghi/transition/lib/config/curves.js","webpack:///./node_modules/echarts/lib/chart/custom.js","webpack:///./node_modules/echarts/lib/coord/axisTickLabelBuilder.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/echarts/lib/util/model.js","webpack:///./node_modules/echarts/lib/scale/Scale.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/@jiaminghi/c-render/lib/plugin/canvas.js","webpack:///./node_modules/zrender/lib/container/Group.js","webpack:///./node_modules/zrender/lib/core/bbox.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/element-ui/lib/input-number.js","webpack:///./node_modules/element-ui/lib/utils/aria-utils.js","webpack:///./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js","webpack:///./node_modules/echarts/lib/chart/helper/createListSimply.js","webpack:///./node_modules/echarts/lib/model/mixin/colorPalette.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/echarts/lib/component/dataZoomSlider.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/element-ui/lib/utils/scrollbar-width.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/echarts/lib/util/animation.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/element-ui/lib/option.js","webpack:///./node_modules/echarts/lib/chart/bar/helper.js","webpack:///./node_modules/zrender/lib/contain/cubic.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/zrender/lib/contain/text.js","webpack:///./node_modules/echarts/lib/view/Chart.js","webpack:///./node_modules/core-js/modules/es7.array.flat-map.js","webpack:///./node_modules/element-ui/lib/utils/vue-popper.js","webpack:///./node_modules/core-js/modules/_math-scale.js","webpack:///./node_modules/zrender/lib/vml/Painter.js","webpack:///./node_modules/echarts/lib/chart/candlestick/preprocessor.js","webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapModel.js","webpack:///./node_modules/echarts/lib/coord/polar/prepareCustom.js","webpack:///./node_modules/@jiaminghi/c-render/lib/class/graph.class.js","webpack:///./node_modules/echarts/lib/component/axisPointer/axisTrigger.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/echarts/lib/component/legend/scrollableLegendAction.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/echarts/lib/coord/geo/mapDataStorage.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/echarts/lib/data/Source.js","webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/zrender/lib/Painter.js","webpack:///./node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/core-js/modules/es7.math.signbit.js","webpack:///./node_modules/echarts/lib/util/format.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineModel.js","webpack:///./node_modules/echarts/lib/coord/single/singleAxisHelper.js","webpack:///./node_modules/echarts/lib/data/helper/dataStackHelper.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/echarts/lib/component/calendar/CalendarView.js","webpack:///./node_modules/zrender/lib/tool/transformPath.js","webpack:///./node_modules/echarts/lib/component/timeline.js","webpack:///./node_modules/echarts/lib/chart/lines/linesVisual.js","webpack:///./node_modules/element-ui/lib/button.js","webpack:///./node_modules/echarts/lib/coord/geo/geoCreator.js","webpack:///./node_modules/echarts/lib/chart/graph/forceHelper.js","webpack:///./node_modules/echarts/lib/component/helper/sliderMove.js","webpack:///./node_modules/echarts/lib/chart/line.js","webpack:///./node_modules/echarts/lib/chart/tree.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/element-ui/lib/locale/lang/zh-CN.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/bar.js","webpack:///./node_modules/echarts/lib/chart/line/lineAnimationDiff.js","webpack:///./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js","webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js","webpack:///./node_modules/zrender/lib/vml/vml.js","webpack:///./node_modules/echarts/lib/chart/line/LineView.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/echarts/lib/theme/dark.js","webpack:///./node_modules/echarts/lib/component/axis/CartesianAxisView.js","webpack:///./node_modules/echarts/lib/coord/geo/Region.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/echarts/lib/component/parallel.js","webpack:///./node_modules/echarts/lib/component/brush/BrushModel.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/element-ui/lib/input.js","webpack:///./node_modules/@jiaminghi/charts/lib/config/color.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/library/fn/array/is-array.js","webpack:///./node_modules/echarts/lib/stream/task.js","webpack:///./node_modules/element-ui/lib/radio.js","webpack:///./node_modules/echarts/lib/component/helper/brushHelper.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/echarts/lib/component/angleAxis.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/echarts/lib/chart/treemap/Breadcrumb.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/echarts/lib/chart/map/mapDataStatistic.js","webpack:///./node_modules/echarts/lib/chart/helper/SymbolDraw.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/echarts/lib/chart/pie/PieSeries.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/echarts/lib/util/layout.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/echarts/lib/chart/boxplot.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/echarts/lib/component/axis/AxisBuilder.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/echarts/lib/preprocessor/backwardCompat.js","webpack:///./node_modules/echarts/lib/component/helper/BrushController.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/echarts/lib/coord/polar/Polar.js","webpack:///./node_modules/core-js/fn/regexp/escape.js","webpack:///./node_modules/echarts/lib/visual/seriesColor.js","webpack:///./node_modules/echarts/lib/processor/dataSample.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/echarts/lib/model/mixin/textStyle.js","webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/Brush.js","webpack:///./node_modules/core-js/modules/es7.object.define-setter.js","webpack:///./node_modules/echarts/lib/component/axisPointer/viewHelper.js","webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/lodash/isSymbol.js"],"names":["_util","each","createHashMap","SeriesModel","createListFromArray","_default","extend","type","dependencies","visualColorAccessPath","getInitialData","option","ecModel","source","this","getSource","setEncodeAndDimensions","getRawIndicesByActiveState","activeState","coordSys","coordinateSystem","data","getData","indices","eachActiveState","theActiveState","dataIndex","push","getRawIndex","defaultOption","zlevel","z","parallelIndex","label","show","inactiveOpacity","activeOpacity","lineStyle","width","opacity","emphasis","progressive","smooth","animationEasing","seriesModel","encodeDefine","parallelModel","getComponent","get","dimensions","axisDim","dataDimIndex","convertDimNameToNumber","set","dimName","replace","module","exports","zrUtil","VisualMapView","graphic","_symbol","createSymbol","layout","helper","PiecewiseVisualMapView","doRender","thisGroup","group","removeAll","visualMapModel","textGap","textStyleModel","textFont","getFont","textFill","getTextColor","itemAlign","_getItemAlign","itemSize","viewData","_getViewData","endsText","showLabel","retrieve","renderItem","item","piece","itemGroup","Group","onclick","bind","_onItemClick","_enableHoverLink","indexInModelPieceList","representValue","getRepresentValue","_createItemSymbol","visualState","getValueState","add","Text","style","x","y","text","textVerticalAlign","textAlign","_renderEndsText","viewPieceList","box","renderBackground","positionGroup","pieceIndex","onHoverLink","method","hoverLink","api","dispatchAction","batch","makeHighDownBatch","findTargetDataIndices","on","modelOption","orient","getItemAlign","align","map","getPieceList","index","inverse","reverse","slice","shapeParam","getControllerVisual","selected","clone","newKey","getSelectedMapKey","selectedMode","o","key","from","uid","visualMapId","id","echarts","registerAction","event","update","createListSimply","_model","defaultEmphasis","_sourceHelper","makeSeriesEncodeForNameBased","LegendVisualProvider","FunnelSeries","extendSeriesModel","init","superApply","arguments","legendVisualProvider","getRawData","_defaultLabelLine","coordDimensions","encodeDefaulter","curry","labelLineNormalOpt","labelLine","labelLineEmphasisOpt","getDataParams","params","superCall","valueDim","mapDimension","sum","getSum","percent","toFixed","$vars","legendHoverLink","left","top","right","bottom","minSize","maxSize","sort","gap","funnelAlign","position","length","itemStyle","borderColor","borderWidth","dataToCoordSize","dataSize","dataItem","dimIdx","val","halfSize","p1","p2","Math","abs","dataToPoint","rect","getBoundingRect","height","zoom","getZoom","coord","size","Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","BoundingRect","View","geoSourceManager","Geo","name","nameMap","invertLongitute","load","_nameCoordMap","nameCoordMap","_regionsMap","regionsMap","_invertLongitute","regions","_rect","boundingRect","doConvert","methodName","finder","geoModel","getReferringComponents","constructor","containCoord","i","contain","transformTo","rawTransformable","_rawTransformable","transform","calculateTransform","decomposeTransform","scale","updateTransform","_updateTransform","getRegion","getRegionByCoord","addGeoCoord","geoCoord","getGeoCoord","noRoam","out","convertToPixel","convertFromPixel","mixin","global","has","DESCRIPTORS","$export","redefine","META","KEY","$fails","shared","setToStringTag","wks","wksExt","wksDefine","enumKeys","isArray","anObject","isObject","toObject","toIObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$GOPS","$DP","$keys","gOPD","f","dP","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","a","it","D","protoDesc","wrap","sym","_k","isSymbol","iterator","$defineProperty","enumerable","$defineProperties","P","keys","l","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","$getOwnPropertySymbols","IS_OP","TypeError","$set","configurable","G","W","F","es6Symbols","split","j","wellKnownSymbols","store","k","S","keyFor","useSetter","useSimple","create","defineProperty","defineProperties","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","FAILS_ON_PRIMITIVES","replacer","$replacer","args","apply","valueOf","gridModel","axisModel","opt","grid","axis","otherAxisOnZeroOf","getAxesOnZeroOf","rawAxisPosition","axisPosition","dim","getRect","rectBound","idx","onZero","axisOffset","posBound","onZeroCoord","toGlobalCoord","dataToCoord","max","min","rotation","PI","dirMap","labelDirection","tickDirection","nameDirection","labelOffset","labelInside","labelRotate","z2","extendComponentView","render","Rect","shape","defaults","fill","getItemStyle","silent","registerPreprocessor","xAxis","yAxis","updateViewOnPan","controllerHost","dx","dy","target","pos","dirty","updateViewOnZoom","zoomDelta","zoomX","zoomY","zoomLimit","newZoom","zoomMin","zoomMax","Infinity","zoomScale","LIBRARY","hide","Iterators","$iterCreate","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","Date","NaN","toJSON","toISOString","O","pv","isFinite","toInteger","defined","TO_STRING","that","b","s","String","charCodeAt","charAt","ComponentModel","ComponentView","detectSourceFormat","_sourceType","SERIES_LAYOUT_BY_COLUMN","seriesLayoutBy","sourceHeader","optionUpdated","aNumberValue","repeat","$toFixed","floor","ERROR","ZERO","multiply","n","c","c2","divide","numToString","t","pow","acc","log","x2","fractionDigits","m","RangeError","at","unicode","windowNames","window","getWindowNames","fround","log1p","DEFAULT_MIN_MERGE","DEFAULT_MIN_GALLOPING","minRunLength","r","makeAscendingRun","array","lo","hi","compare","runHi","reverseRun","binaryInsertionSort","start","mid","pivot","gallopLeft","hint","lastOffset","maxOffset","offset","tmp","gallopRight","TimSort","runStart","runLength","minGallop","stackSize","pushRun","_runStart","_runLength","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","mergeLow","mergeHigh","cursor1","cursor2","dest","count1","count2","exit","_minGallop","Error","customCursor","customDest","remaining","ts","minRun","force","_interopRequireDefault","_typeof2","_classCallCheck2","_cRender","_core","Charts","dom","console","error","clientWidth","clientHeight","canvas","document","createElement","setAttribute","appendChild","attribute","container","assign","setOption","animationEnd","graphs","forEach","graph","optionCloned","deepClone","mergeColor","radarAxis","title","bar","line","pie","radar","gauge","legend","launchAnimation","resize","area","$parseInt","Number","parseInt","_bezierCurveToPolyline","bezierCurveToPolyline","getBezierCurveLength","_polylineToBezierCurve","polylineToBezierCurve","windingLine","EPSILON","isAroundEqual","points","w","p","p0","_nonIterableSpread","_slicedToArray2","_defineProperty2","_toConsumableArray2","_updater","_config","_util2","ownKeys","object","enumerableOnly","symbols","filter","_objectSpread","getOwnPropertyDescriptors","axisConfig","xAxisConfig","yAxisConfig","chart","series","allAxis","getAllAxis","mergeDefaultAxisConfig","_ref","mergeDefaultBoundaryGap","calcAxisLabelData","setAxisPosition","calcAxisLinePosition","calcAxisTickPosition","calcAxisNamePosition","calcSplitLinePosition","doUpdate","getGraphConfig","getLineConfig","getTickConfig","getLabelConfig","getNameConfig","getSplitLineConfig","axisData","_allXAxis","_allYAxis","allXAxis","allYAxis","Array","splice","concat","_ref2","_ref3","deepMerge","valueAxis","_ref4","labelAxis","_ref5","boundaryGap","_ref6","_ref7","calcValueAxisLabelData","calcLabelAxisLabelData","minMaxValue","getValueAxisMaxMinValue","_getTrueMinMax","getTrueMinMax","_getTrueMinMax2","interval","getValueInterval","formatter","axisLabel","getValueAxisLabelFromZero","getValueAxisLabelFromMin","parseFloat","maxValue","minValue","getAfterFormatterLabel","_ref8","axisType","mergeStackData","axisName","valueSeries","getSeriesMinMaxValue","_ref9","filterNonNumber","_ref10","seriesCloned","mergeSameStackData","_ref11","_ref12","_ref13","minType","maxType","testMinMaxType","lever","getValueLever","_lever","valueString","valueLength","firstZeroIndex","indexOf","pow10Num","valType","isValidString","test","isValidNumber","negative","positive","currentNegative","currentPositive","currentValue","minInterval","maxInterval","splitNumber","config","valueInterval","_ref14","_ref15","_chart$gridArea","gridArea","h","linePosition","axisItem","labelNum","_linePosition","_linePosition$","startX","startY","_linePosition$2","endX","endY","gapLength","tickPosition","foo","tickLinePosition","getTickLinePosition","tickGap","plus","lineStart","lineEnd","_ref16","_ref17","nameGap","nameLocation","_linePosition2","namePosition","_chart$gridArea2","splitLinePosition","_ref18","_ref19","startPoint","endPoint","shift","animationCurve","animationFrame","rLevel","visible","axisLine","getLineShape","getLineStyle","shapes","getTickShapes","getTickStyle","axisTick","getLabelShapes","styles","getLabelStyle","setGraphCenter","point","getLabelRealPosition","content","getAxisLabelRealAlign","_ref20","graphCenter","textBaseline","getNameShape","getNameStyle","nameTextStyle","getNameRealAlign","location","getSplitLineShapes","getSplitLineStyle","splitLine","metadata","ordinaryGetOwnMetadata","toMetaKey","exp","getOwnMetadata","metadataKey","Clip","color","isArrayLike","arraySlice","defaultGetter","defaultSetter","interpolateNumber","interpolateString","interpolateArray","arrDim","len","len2","fillArr","arr0","arr1","arr0Len","arr1Len","isPreviousLarger","isNaN","isArraySame","catmullRomInterpolateArray","p3","t2","t3","catmullRomInterpolate","v0","v1","cloneValue","ret","rgba2String","rgba","join","getArrayDim","keyframes","lastValue","createTrackClip","animator","easing","oneTrackDone","propName","forceAnimate","getter","_getter","_setter","useSpline","trackLen","trackMaxTime","firstVal","isValueArray","isValueColor","isValueString","time","kfPercents","kfValues","prevValue","isAllValueEqual","colorArray","parse","_target","lastFrame","lastFramePercent","onframe","frame","range","clip","life","loop","_loop","delay","_delay","ondestroy","Animator","_tracks","_clipCount","_doneList","_onframeList","_clipList","when","props","tracks","during","callback","pause","_paused","resume","isPaused","_doneCallback","doneList","lastClip","self","clipCount","animation","addClip","oldOnFrame","stop","forwardToLast","clipList","removeClip","done","cb","getClips","linkList","List","createDimensions","TreeNode","hostTree","depth","parentNode","children","viewChildren","Tree","hostModel","root","_nodes","addChild","child","node","isRemoved","eachNode","options","context","isString","order","suppressVisitSub","attr","updateDepthAndHeight","getNodeById","getId","res","contains","getAncestors","includeSelf","ancestors","getValue","dimension","getDimension","setLayout","merge","setItemLayout","getLayout","getItemLayout","getModel","path","itemModel","getItemModel","setVisual","setItemVisual","getVisual","ignoreParent","getItemVisual","isAncestorOf","parent","isDescendantOf","getNodeByDataIndex","rawIndex","getNodeByName","nodes","count","clearLayouts","clearItemLayouts","createTree","dataRoot","beforeLink","tree","listData","dimMax","buildHierarchy","dataNode","dimensionsInfo","dimensionsCount","list","initData","mainData","struct","structAttr","classof","__DEV__","VisualMapModel","VisualMapping","visualDefault","_number","reformIntervals","PiecewiseModel","minOpen","maxOpen","itemWidth","itemHeight","itemSymbol","pieceList","categories","itemGap","newOption","isInit","_pieceList","resetExtent","mode","_mode","_determineMode","resetMethods","_resetSelected","resetVisual","mappingOption","state","mappingMethod","dataExtent","getExtent","visual","completeVisualOption","visualTypesInPieces","visualTypes","listVisualTypes","isCategory","obj","visualType","pieces","v","exists","stateList","thisOption","hasSel","setSelected","findPieceIndex","eachTargetSeries","dataIndices","getDataDimension","pIdx","seriesId","pieceInterval","getVisualMeta","getColorVisual","stops","outerColors","edge","unshift","curr","setStop","valueState","precision","splitStep","close","formatValueText","cate","normalizeReverse","pieceListItem","closeList","infinityList","useMinMax","lg","retrieveVisuals","edgeSymbols","zrColor","eventUtil","domUtil","env","formatUtil","toCamelCase","vendors","gCssText","assembleTransition","duration","transitionCurve","transitionText","vendorPrefix","assembleFont","cssText","fontSize","lineHeight","round","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","assembleCssText","tooltipModel","transitionDuration","backgroundColor","padding","canvasSupported","toHex","borderName","camelCase","normalizeCssArray","makeStyleCoord","zr","appendToBody","zrX","zrY","zrPainter","painter","zrViewportRoot","getViewportRoot","transformLocalCoord","body","viewportRootOffset","getViewportRootOffset","offsetLeft","offsetTop","getWidth","getHeight","TooltipContent","wxa","el","domBelongToZr","_zr","getZr","_appendToBody","_styleCoord","_container","_show","_hideTimeout","onmouseenter","_enterable","clearTimeout","_inContent","onmousemove","handler","normalizeEvent","dispatch","onmouseleave","hideLater","_hideDelay","stl","currentStyle","defaultView","getComputedStyle","domStyle","alwaysShowContent","_moveTooltipIfResized","ratioX","ratioY","realX","realY","moveTo","styleCoord","display","innerHTML","pointerEvents","setContent","setEnterable","enterable","getSize","setTimeout","isShow","dispose","removeChild","getOuterSize","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","parallelVisual","registerVisual","preprocessor","candlestickVisual","candlestickLayout","registerLayout","Axis","TimelineAxis","coordExtent","model","getLabelModel","isHorizontal","inherits","core","speciesConstructor","promiseResolve","R","onFinally","C","Promise","isFunction","then","_graphic","subPixelOptimize","createRenderPlanner","parsePercent","retrieve2","LargeArr","Float32Array","seriesType","plan","reset","candleWidth","calculateCandleWidth","cDimIdx","vDimIdx","coordDims","cDim","vDims","openDim","closeDim","lowestDim","highestDim","isSimpleBox","progress","pipelineContext","large","largeProgress","normalProgress","axisDimVal","openVal","closeVal","lowestVal","highestVal","ocLow","ocHigh","ocLowPoint","getPoint","ocHighPoint","lowestPoint","highestPoint","ends","addBodyEnd","subPixelOptimizePoint","sign","getSign","initBaseline","brushRect","makeBrushRect","point1","point2","pmin","pmax","tmpIn","tmpOut","extent","baseAxis","getBaseAxis","bandWidth","getBandWidth","barMaxWidth","barMinWidth","barWidth","clamp","lower","upper","toLength","number","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","interceptors","request","response","url","toLowerCase","chain","promise","resolve","interceptor","fulfilled","rejected","getUri","paramsSerializer","ctx","IObject","asc","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","GestureMgr","_track","dist","pointPair","sqrt","center","recognize","_doTrack","_recognize","clear","touches","trackItem","touch","clientToLocal","eventName","recognizers","gestureInfo","pinch","track","pinchEnd","pinchPre","pinchScale","pinchCenter","pinchX","pinchY","ignoreCase","multiline","sticky","DEG_PER_RAD","Diff","buildValues","diff","components","newArr","oldArr","componentPos","componentLen","newPos","oldPos","component","removed","added","clonePath","equals","newLen","oldLen","editLength","maxEditLength","bestPath","extractCommon","execEditLength","diagonalPath","basePath","addPath","removePath","canAdd","canRemove","pushComponent","last","commonCount","tokenize","arrayDiff","KEY_DELIMITER","getAutoCurvenessParams","createCurveness","appendLength","autoCurvenessParmas","curvenessList","__curvenessList","getKeyOfEdges","n1","n2","getOppositeKey","getEdgeFromMap","node1","node2","__edgeMap","getTotalLengthBetweenNodes","getEdgeMapLengthWithKey","lenV","edgeMap","initCurvenessList","createEdgeMapForCurveness","oppositeEdges","isForward","getCurvenessForEdge","needReverse","autoCurvenessParams","isArrayParam","edgeArray","edgeIndex","totalLen","curKey","parityCorrection","oppositeKey","resValue","RoamController","roamHelper","_cursorHelper","onIrrelevantElement","_component","getUID","Transformable","getFixedItemStyle","areaColor","updateMapSelectHandler","mapDraw","mapOrGeoModel","regionsGroup","fromView","off","_mouseDownFlag","__regions","action","mainType","region","updateMapSelected","eachChild","otherRegionEl","trigger","isSelected","MapDraw","updateGroup","_controller","_controllerHost","_updateGroup","_mapName","_initialized","_regionsGroup","_backgroundGroup","draw","payload","isGeo","eachComponent","subType","mapSeries","getHostGeoModel","geo","_updateBackground","targetScale","transformInfo","getTransformInfo","isFirstDraw","childAt","roamTransform","updateProps","rawScale","rawPosition","itemStyleAccessPath","hoverItemStyleAccessPath","labelAccessPath","hoverLabelAccessPath","regionGroup","compoundPath","CompoundPath","segmentIgnoreThreshold","paths","dataIdx","regionModel","getRegionModel","itemStyleModel","hoverItemStyleModel","hoverItemStyle","labelModel","hoverLabelModel","indexOfName","visualColor","transformPoint","geometries","geometry","exterior","Polygon","interiors","interior","setStyle","strokeNoScale","culling","hoverShowLabel","isDataNaN","itemLayout","labelFetcher","query","textEl","setLabelStyle","hoverStyle","labelDataIndex","defaultText","useInsideStyle","textScale","setItemGraphicEl","eventData","componentType","componentIndex","geoIndex","groupRegions","highDownSilentOnTouch","setHoverStyle","_updateController","remove","removeGraphic","mapName","makeGraphic","controller","enable","makeActionBase","originX","originY","traverse","setPointerChecker","getViewRectAfterRoam","_graphs","_color","_index","rx","ry","ir","or","startAngle","endAngle","clockWise","validator","find","beginPath","arc","connectPoint1","getCircleRadianPoint","connectPoint2","lineTo","closePath","stroke","agArc","gradientStartAngle","gradientEndAngle","gradient","cv","getColorFromRgbValue","gradientArcNum","angleGap","getLinearGradientColor","arcStartAngle","arcEndAngle","doBreak","strokeStyle","numberText","rowGap","textSegments","textString","currentNumber","lineIcon","halfH","fillStyle","lineWidth","radius","hoverCheck","checkPointIsInRect","extendNewGraph","radarAxisConfig","splitNum","polygon","labelGap","splitArea","animationFrane","$reduce","reduce","matrix","vector","mIdentity","identity","isNotAroundZero","opts","origin","transformableProto","needLocalTransform","scaleTmp","parentHasTransform","getLocalTransform","mul","copy","globalScaleRatio","getGlobalScale","relX","relY","sx","sy","invTransform","invert","setTransform","dpr","restoreTransform","tmpTransform","originTransform","setLocalTransform","atan2","transformCoordToLocal","v2","applyTransform","transformCoordToGlobal","rotate","microtask","process","isNode","asap","fn","domain","enumBugKeys","meta","onFreeze","$freeze","Displayable","imageHelper","ZImage","brush","prevEl","src","image","_image","createOrUpdateImage","onload","isImageReady","aspect","sWidth","sHeight","drawImage","drawRectText","arr","eachSeriesByType","getGraph","nodeValue","mapping","mapValueToColor","mapValueToVisual","customColor","throttle","atBegin","layoutUtil","LegendView","WH","XY","ScrollableLegendView","newlineDisabled","_currentIndex","_containerGroup","getContentGroup","_controllerGroup","_showController","resetInner","removeClipPath","__rectSize","renderInner","legendModel","selector","selectorPosition","me","controllerGroup","pageIconSize","createPageButton","pageTextStyleModel","iconIdx","pageDataIndexName","icon","createIcon","getOrient","_pageGo","font","layoutInner","isFirstRender","selectorGroup","getSelectorGroup","orientIdx","wh","xy","hw","yx","selectorButtonGap","selectorRect","selectorPos","processMaxSize","mainRect","_layoutContentAndController","contentGroup","containerGroup","contentRect","controllerRect","showController","contentPos","containerPos","controllerPos","pageButtonGap","pageButtonPosition","clipShape","setClipPath","invisible","pageInfo","_getPageInfo","pageIndex","contentPosition","_updatePageInfoView","to","scrollDataIndex","legendId","canJump","childOfName","cursor","pageText","pageFormatter","current","total","pageCount","containerRectSize","targetItemIndex","_findTargetItemIndex","targetItem","itemCount","pCount","pagePrevDataIndex","pageNextDataIndex","targetItemInfo","getItemInfo","winStartItemInfo","winEndItemInfo","currItemInfo","intersect","itemRect","__legendDataIndex","itemInfo","winStart","targetDataIndex","defaultIndex","legendDataIdx","ParallelAxis","axisIndex","Typed","TYPED","VIEW","ABV","ArrayBuffer","DataView","CONSTR","TypedArrayConstructors","makeInner","getDataItemValue","isTypedArray","Source","assert","SOURCE_FORMAT_ORIGINAL","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","SOURCE_FORMAT_KEYED_COLUMNS","SOURCE_FORMAT_UNKNOWN","SOURCE_FORMAT_TYPED_ARRAY","SERIES_LAYOUT_BY_ROW","BE_ORDINAL","Must","Might","Not","inner","datasetModel","sourceFormat","resetSourceDefaulter","datasetMap","prepareSource","seriesOption","fromDataset","dimensionsDefine","getDatasetModel","datasetOption","completeResult","completeBySourceData","startIndex","dimensionsDetectCount","encode","normalizeDimensionsDefine","arrayRowsTravelFirst","objectRowsCollectDimensions","colArr","value0","displayName","exist","maxLoop","firstIndex","makeSeriesEncodeForAxisCoordSys","baseCategoryDimIndex","categoryWayValueDimStart","encodeItemName","encodeSeriesName","coordDimInfo","coordDimIdx","getDataDimCountOnCoordDim","datasetRecord","categoryWayDim","valueWayDim","pushDim","dimIdxArr","idxFrom","idxCount","dimsDef","coordDimName","itemName","seriesName","dimCount","potentialNameDimIndex","idxResult","idxRes0","idxRes1","guessRecords","guessResult","doGuessOrdinal","isPureNumber","nameDimIndex","thisData","datasetIndex","guessOrdinal","dimIndex","dimType","dimDefItem","sample","detectValue","row","beStr","Line","vec2","curveUtil","EffectLine","lineData","seriesScope","createLine","_updateEffectSymbol","effectLineProto","effectModel","symbolType","symbol","_symbolType","setColor","_symbolScale","_updateEffectAnimation","period","constantSpeed","delayExpr","isDelayFunc","ignore","updateAnimationPoints","getLineLength","_period","stopAnimation","__t","animate","updateSymbolPosition","__p1","__cp1","__p2","updateData","cp1","lastPos","quadraticAt","quadraticDerivativeAt","tx","ty","__lastT","scaleY","updateLayout","__esModule","_iterator","_iterator2","_symbol2","_typeof","default","InternalMap","weak","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","wrapper","_i","def","$WeakMap","getConstructor","NEED","_f","visualSolution","throttleUtil","BrushTargetManager","STATE_LIST","DISPATCH_METHOD","DISPATCH_FLAG","PRIORITY_BRUSH","PRIORITY","VISUAL","BRUSH","layoutCovers","brushModel","brushTargetManager","setInputRanges","areas","throttleType","throttleDelay","brushSelected","doDispatch","createOrUpdate","isDisposed","checkInRange","selectorsByBrushType","rangeInfoList","brushType","selectors","getSelectorsByBrushType","brushSelector","sels","selectorsByElementType","bSelector","sel","brushModelNotControll","seriesIndex","seriesIndices","bindSelector","selFn","elType","setBrushOption","brushOption","brushIndex","thisBrushSelected","brushId","brushName","brushLink","linkedSeriesMap","selectedDataIndexForLink","rangeInfoBySeries","hasBrushExists","boundingRectBuilders","visualMappings","createVisualMappings","linkOthers","brushed","stepAParallel","hasAxisBrushed","stepAOthers","controlSeries","eachSeries","seriesBrushSelected","applyVisual","lineX","noop","lineY","getBoundingRectFromMinMax","minMax","rg","visualSymbol","layoutPoints","factory","noGlobal","getProto","class2type","hasOwn","fnToString","ObjectFunctionString","support","nodeType","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","code","doc","script","getAttribute","head","toType","version","jQuery","rtrim","jquery","toArray","num","pushStack","elems","prevObject","elem","first","eq","end","copyIsArray","deep","isPlainObject","expando","random","isReady","msg","Ctor","isEmptyObject","globalEval","trim","makeArray","results","inArray","second","grep","callbackInverse","matches","callbackExpect","arg","guid","Sizzle","Expr","getText","isXML","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pop","push_native","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","childNodes","els","seed","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","getElementsByTagName","getElementsByClassName","qsa","toSelector","testContext","querySelectorAll","qsaError","removeAttribute","cache","cacheLength","markFunction","addHandle","attrs","attrHandle","siblingCheck","cur","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","sortDetached","aup","ap","bp","expr","elements","specified","escape","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","useCache","lastChild","uniqueID","pseudo","setFilters","matched","matcher","unmatched","lang","elemLang","hash","activeElement","hasFocus","href","tabIndex","checked","selectedIndex","radio","checkbox","file","password","submit","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","filters","parseOnly","soFar","preFilters","cached","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","contents","prev","sibling","targets","closest","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","createOptions","flag","Identity","Thrower","ex","adoptValue","reject","noValue","fail","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","empty","disable","lock","fireWith","Deferred","func","tuples","always","deferred","pipe","fns","newDefer","tuple","returned","notify","onFulfilled","onRejected","onProgress","maxDepth","special","mightThrow","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","singleValue","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","warn","message","readyException","readyList","completed","removeEventListener","catch","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","string","acceptData","owner","Data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","clearQueue","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","css","swap","old","adjustCSS","valueParts","tween","adjusted","maxIterations","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","thead","col","tr","td","getAll","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","buildFragment","scripts","selection","ignored","attached","fragment","createDocumentFragment","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","err","types","one","origFn","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","Event","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","button","addProp","hook","originalEvent","writable","noBubble","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","which","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","rboxStyle","curCSS","computed","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","measure","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","cssPrefixes","emptyStyle","vendorProps","vendorPropName","capName","finalPropName","final","cssProps","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","isBorderBox","computedVal","extra","delta","ceil","getWidthOrHeight","boxSizingNeeded","valueIsBorderBox","offsetProp","getClientRects","Tween","cssHooks","origName","isCustomProp","setProperty","getBoundingClientRect","scrollboxSizeBuggy","margin","border","prefix","suffix","expand","expanded","parts","propHooks","run","eased","step","fx","scrollTop","scrollLeft","linear","swing","cos","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","tick","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","defaultPrefilter","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","complete","timer","tweener","prefilter","speed","speeds","fadeTo","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","timeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","isSuccess","conv2","conv","responseFields","dataFilter","throws","active","lastModified","etag","isLocal","protocol","processData","async","contentType","accepts","json","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","_jQuery","_$","$","noConflict","cof","forbiddenField","_iterableToArray","iter","pIE","IE8_DOM_DEFINE","ref","$refs","$task","B","setImmediate","clearImmediate","isObjectLike","modelUtil","getSeriesByIndex","queryDataIndex","getItemGraphicEl","getTooltipPosition","getValues","objectOrFunction","_isArray","vertxNext","customSchedulerFn","flush","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useNextTick","nextTick","useVertxTimer","useSetTimeout","useMutationObserver","iterations","observer","observe","characterData","useMessageChannel","channel","port1","onmessage","port2","postMessage","globalSetTimeout","attemptVertx","vertx","Function","require","runOnLoop","runOnContext","onFulfillment","onRejection","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","substring","PENDING","FULFILLED","REJECTED","selfFulfillment","cannotReturnOwn","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_label","handleOwnThenable","handleMaybeThenable","maybeThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","hasCallback","succeeded","initializePromise","resolver","nextId","validationError","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","entry","resolve$$1","_then","didError","_settledAt","Promise$1","_willSettleAt","enumerator","race","reject$1","needsResolver","needsNew","finally","polyfill","local","promiseToString","cast","_setScheduler","_setAsap","_asap","_labelHelper","getDefaultLabel","SymbolClz","symbolProto","getSymbolSize","symbolSize","getScale","driftSymbol","drift","_createSymbol","keepAspect","symbolPath","stopSymbolAnimation","toLastFrame","getSymbolPath","highlight","downplay","setZ","setDraggable","draggable","_updateCommon","initProps","_seriesModel","normalStyleAccessPath","emphasisStyleAccessPath","normalLabelAccessPath","emphasisLabelAccessPath","highDownOnUpdate","fromState","toState","incremental","useHoverLayer","__symbolOriginalScale","ratio","emphasisOpt","animateTo","useStyle","symbolOffset","hoverAnimation","cursorStyle","hasItemOption","getShallow","elStyle","symbolRotate","symbolInnerColor","liftZ","z2Origin","__z2Origin","useNameLabel","getLabelDefaultText","getName","isRectText","autoColor","isAnimationEnabled","keepLabel","createHTML","symbolUtil","normalizeSymbolSize","extendChartView","polar","oldData","updateSymbols","oldPoints","newPoints","symbolGroup","__dimIdx","getInitialPoints","pt","cx","cy","polyline","Polyline","newIdx","oldIdx","execute","eachItemGraphicEl","areaStyleModel","hoverAreaStyleModel","polygonIgnore","isEmpty","parentModel","hoverPolygonIgnore","getAreaStyle","itemHoverStyle","labelHoverModel","labelDimIndex","getKeys","Properties","AxisBuilder","AxisView","axisBuilderAttrs","selfBuilderAttrs","axisPointerClass","radiusAxisModel","radiusAxis","angleAxis","getAngleAxis","ticksCoords","getTicksCoords","minorTicksCoords","getMinorTicksCoords","axisAngle","radiusExtent","layoutAxis","axisBuilder","getGroup","isBlank","_splitLine","splitLineModel","lineStyleModel","lineColors","lineCount","splitLines","colorIndex","Circle","mergePath","_minorSplitLine","minorSplitLineModel","lines","_splitArea","splitAreaModel","areaColors","splitAreas","prevRadius","Sector","r0","modules","installedModules","__webpack_require__","moduleId","d","ns","property","132","__webpack_exports__","resize_event_","scrollbar_width_","scrollbar_width_default","util_","dom_","BAR_MAP","vertical","scroll","scrollSize","client","direction","horizontal","renderThumbStyle","move","translate","msTransform","webkitTransform","src_bar","Boolean","$parent","clickTrackHandler","clickThumbHandler","startDrag","thumbHalf","thumb","thumbPositionPercentage","$el","cursorDown","mouseMoveDocumentHandler","mouseUpDocumentHandler","onselectstart","prevPage","thumbClickPosition","destroyed","main","Bar","native","wrapStyle","wrapClass","viewClass","viewStyle","noresize","sizeWidth","sizeHeight","moveX","moveY","gutter","gutterWith","gutterStyle","marginRight","marginBottom","class","$slots","handleScroll","heightPercentage","widthPercentage","scrollHeight","scrollWidth","mounted","$nextTick","beforeDestroy","Vue","16","2","3","38","axisHelper","axisModelCommonMixin","Model","_layout","getLayoutRect","_dataStackHelper","enableDataStack","isDimensionStacked","getStackedDimension","_completeDimensions","completeDimensions","_createDimensions","createList","dataStack","createScale","isInstance","createScaleByModel","setExtent","niceScaleExtent","mixinAxisModelCommonMethods","byteOffset","$at","iterated","_t","$isExtensible","ArrayCtor","m1","m2","out0","out1","out2","out3","out4","out5","rad","aa","ac","atx","ab","ad","aty","st","sin","vx","vy","det","axisDefault","valueAxisDefault","defaultsShow","RadarModel","extendComponentModel","showName","nameFormatter","triggerEvent","indicatorModels","indicatorOpt","iNameTextStyle","indName","getIndicatorModels","indicator","coordsOffsetMap","mapType","coordFix","cp","BaseBarSeries","getProgressive","getProgressiveThreshold","progressiveThreshold","largeThreshold","roundCap","showBackground","backgroundStyle","borderType","borderRadius","register","records","initGlobalListeners","record","useHandler","eventType","dis","makeDispatchAction","dispatchTooltipFinally","pendings","initialized","doEnter","onLeave","actuallyPayload","showLen","showTip","hideLen","hideTip","currTrigger","pendingList","unregister","Updater","delRedundanceGraph","updater","cacheGraphNum","needGraphNum","needDelGraphs","g","delGraph","changeGraphs","seriesItem","beforeChange","configs","balanceGraphsNum","updateGraphConfigByKey","graphConfig","lastCacheGraph","needAddGraphNum","needAddGraphs","needDelCache","addGraphs","getStartGraphConfig","startConfigs","afterAddGraph","beforeUpdate","_this","beforeUpdateType","Scale","OrdinalMeta","scaleProto","OrdinalScale","ordinalMeta","_ordinalMeta","_extent","getOrdinal","rank","normalize","getTicks","ticks","getLabel","unionExtentFromData","unionExtent","getApproximateExtent","getOrdinalMeta","niceTicks","niceExtent","MarkerModel","tooltip","distance","port","invoke","cel","setTask","clearTask","Dispatch","counter","ONREADYSTATECHANGE","listener","ChartView","Path","_createClipPathFromCoordSys","createClipPath","NORMAL_ITEM_STYLE_PATH","EMPHASIS_ITEM_STYLE_PATH","SKIP_PROPS","CandlestickView","_updateDrawMode","_isLargeDraw","_renderLarge","_renderNormal","incrementalPrepareRender","_clear","incrementalRender","_incrementalRenderLarge","_incrementalRenderNormal","isLargeDraw","needsClip","clipArea","getArea","hasValue","isNormalBoxClipped","createNormalBox","setBoxCommon","createLarge","clipPath","NormalBoxPath","buildPath","__simpleBox","transInit","clipped","normalItemStyleModel","LargeBoxPath","__sign","largePoints","elP","elN","setLargeStyle","Style","Element","RectText","__clipPaths","__dirty","dragging","rectHover","beforeBrush","afterBrush","rectContain","__dirtyText","__zr","refresh","animateStyle","attrKV","calculateTextPosition","updateDataSelected","hasAnimation","selectedOffset","toggleItemSelected","midAngle","PiePiece","sector","piePieceProto","firstCreate","labelText","sectorShape","animationTypeUpdate","setShape","animationType","lineJoin","withAnimation","_updateLabel","hoverIgnore","normalIgnore","labelLayout","targetLineShape","linePoints","targetTextStyle","labelLineModel","labelLineHoverModel","inside","verticalAlign","PieView","sectorGroup","_sectorGroup","onSectorClick","piePiece","_createClipPath","clockwise","initOrUpdate","containPoint","isArrayIter","createProperty","getIterFn","arrayLike","aLen","mapfn","iterFn","_multipleGraphEdgeHelper","simpleLayout","simpleLayoutEdge","eachEdge","curveness","retrieve3","Polar","_axisHelper","CoordinateSystem","resizePolar","polarModel","getRadiusAxis","updatePolarScale","onBand","setAxis","polarCreator","polarList","findAxisModel","angleAxisModel","queryComponents","thisArg","getSeriesStackId","getAxisKey","barLayoutPolar","lastStackCoords","barWidthAndOffset","calRadialBar","getSeriesByType","isSeriesFiltered","axisKey","stackId","columnLayoutInfo","columnOffset","columnWidth","getOtherAxis","barMinHeight","barMinAngle","baseDim","stacked","clampLayout","valueAxisStart","dataToRadius","dataToAngle","baseValue","baseCoord","radiusSpan","angle","angleSpan","barSeries","columnsMap","axisExtent","columnsOnAxis","remainedWidth","autoWidthCount","categoryGap","stacks","barGap","barCategoryGap","coordSysName","barGapPercent","autoWidth","column","lastColumn","widthSum","mathCos","mathSin","RAD_PER_DEG","selectableMixin","geoCreator","GeoModel","layoutMode","getFilledRegions","_optionModelMap","optionModelMap","regionOpt","updateSelectedMap","aspectScale","boundingCoords","scaleLimit","getFormattedLabel","setZoom","setCenter","_gauge","gauges","initNeedSeries","gaugeConfig","calcGaugesCenter","calcGaugesRadius","calcGaugesDataRadiusAndLineWidth","calcGaugesDataAngles","calcGaugesDataGradient","calcGaugesAxisTickPosition","calcGaugesLabelPositionAndAlign","calcGaugesLabelData","calcGaugesDetailsPosition","calcGaugesDetailsContent","getAxisTickConfig","getAxisLabelConfig","getBackgroundArcConfig","getStartBackgroundArcConfig","getArcConfig","getStartArcConfig","beforeChangeArc","getPointerConfig","getStartPointerConfig","getDetailsConfig","gaugeItem","maxRadius","arcLineWidth","arcRadius","angleMinus","valueMinus","itemAngle","tickLength","angles","outerRadius","innerRadius","arcLength","tickAngles","tickInnerRadius","labelPosition","labelAlign","valueGap","formatterType","details","detailsPosition","getOffsetedPoint","detailsContent","ox","oy","getAxisTickShape","getAxisTickStyle","getAxisLabelShape","getAxisLabelStyle","backgroundArc","getGaugeBackgroundArcShape","getGaugeBackgroundArcStyle","getGaugeArcShape","getGaugeArcStyle","_data$i","localGradient","dataItemStyle","_data$i2","getRgbaValue","graphGradient","cacheNum","needNum","pointer","getPointerShape","getPointerStyle","getPointerPoints","valueIndex","radianToAngle","point3","point4","getDetailsShape","getDetailsStyle","dataValue","valueToFixed","fscale","inLow","inHigh","outLow","outHigh","arrySlice","Eventful","eventProcessor","_$handlers","_$eventProcessor","normalizeQuery","eventful","isOnce","_h","callAtLast","zrEventfulCallAtLast","lastIndex","lastWrap","isSilent","newList","argLen","hItem","afterTrigger","triggerWithContext","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","output","extraBytes","maxChunkLength","getMin","rangeStart","eqNaN","getMax","rangeEnd","getNeedCrossZero","getCoordSysModel","setRange","resetRange","coordinateSystemCreators","CoordinateSystemManager","_coordinateSystems","coordinateSystems","creater","getCoordinateSystems","coordinateSystemCreator","bars","barConfig","setBarAxis","setBarPositionData","calcBarsPosition","getBackgroundBarConfig","getBarConfig","getStartBarConfig","beforeUpdateBar","xAxisIndex","yAxisIndex","valueAxisIndex","findIndex","labelBarGroup","groupBarByLabelAxis","setBarIndex","setBarNum","setBarCategoryWidth","setBarWidthAndGap","setBarAllWidthAndGap","getBarStack","currentIndex","stackData","barIndex","_ref5$labelAxis","Set","_ref6$labelAxis","barNum","lastBar","barCategoryWidth","_bars$slice$","widthAndGap","getBarWidthAndGapWithPercentOrNumber","getBarWidthAndGapWidthAuto","_widthAndGap","_widthAndGap2","barItemWidth","_bars$slice$2","barAllWidthAndGap","calcBarValueAxisCoordinate","calcBarLabelAxisCoordinate","eliminateNullBarLabelAxis","keepSameNumBetweenBarAndData","coordinateIndex","barLabelAxisPos","barCategoryStartPos","barItemsStartPos","eliminateNonNumberData","_bar$valueAxis","startPos","getValuePos","endPos","barValueAxisPos","barItem","barData","dataNum","axisPosNum","posMinus","getBackgroundBarShapes","getBackgroundBarStyle","backgroundBar","getBackgroundBarWidth","haltWidth","posIndex","centerPos","getBarName","getBarShape","getBarStyle","shapeType","getLeftEchelonShape","getRightEchelonShape","getNormalBarShape","echelonOffset","_barValueAxisPos$i","labelAxisPos","halfWidth","_barValueAxisPos$i2","_barValueAxisPos$i3","barStyle","independentColor","independentColors","fillColor","gradientColor","idtColor","gradientParams","getGradientParams","gradientType","gradientWith","_barItem$valueAxis","_barValueAxisPos$i4","getStartLeftEchelonShape","getStartRightEchelonShape","getStartNormalBarShape","_shape","_shape2","getFormatterLabels","getLabelsPosition","gc","curve","bbox","devicePixelRatio","CMD","M","L","Q","A","Z","min2","max2","mathMin","mathMax","mathSqrt","mathAbs","hasTypedArray","PathProxy","notSaveData","_saveData","_ctx","_xi","_yi","_x0","_y0","_ux","_uy","_len","_lineDash","_dashOffset","_dashIdx","_dashSum","setScale","getContext","addData","exceedUnit","_needsDash","_dashedLineTo","bezierCurveTo","x1","y1","y2","x3","y3","_dashedBezierTo","quadraticCurveTo","_dashedQuadraticTo","anticlockwise","arcTo","x0","y0","toStatic","setLineDash","lineDash","lineDashSum","setLineDashOffset","setData","appendPath","appendSize","appendPathData","cmd","_expandData","_prevCmd","newData","dash","dashSum","nDash","cubicAt","bezierLen","tmpLen","MAX_VALUE","xi","yi","fromLine","fromCubic","fromQuadratic","fromArc","rebuildPath","ux","uy","theta","dTheta","psi","fs","scaleX","isEllipse","$find","forced","features","ctor","fails","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","_format","encodeHTML","layoutInfo","leaves","leavesModel","nodeData","wrapMethod","isExpand","treeDepth","expandAndCollapse","expandTreeDepth","initialTreeDepth","getRawDataItem","collapsed","formatTooltip","realRoot","edgeShape","edgeForkPosition","roam","nodeScaleRatio","animationDuration","animationDurationUpdate","numberUtil","scaleHelper","IntervalScale","intervalScaleProto","mathCeil","mathFloor","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","bisect","TimeScale","stepLvl","_stepLvl","date","formatTime","getSetting","getFullYear","getMonth","getDate","_interval","fixMin","fixMax","approxTickNum","span","approxInterval","scaleLevelsLen","scaleLevels","level","yearSpan","yearStep","nice","timezoneOffset","getTimezoneOffset","fixExtent","_niceExtent","parseDate","useUTC","HAS_INSTANCE","FunctionProto","useEncodeDefaulter","smoothMonotone","showSymbol","showAllSymbol","connectNulls","sampling","hoverLayerThreshold","Component","parallelAxisIndex","axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandRate","axisExpandDebounce","axisExpandSlideTriggerArea","axisExpandTriggerOn","parallelAxisDefault","mergeOption","_initDimensions","setAxisExpand","axisModels","dependentModels","parallelAxis","pieConfig","roseType","roseSort","roseIncrement","insideLabel","outsideLabel","labelLineBendGap","labelLineEndLength","labelLineStyle","pieStyle","percentToFixed","animationDelayGap","startAnimationCurve","_arrayWithoutHoles","arr2","wx","getSystemInfoSync","browser","os","svgSupported","touchEventsSupported","domSupported","worker","navigator","detect","userAgent","ua","firefox","ie","weChat","SVGRect","pointerEventsSupported","hierNode","defaultAncestor","ancestor","prelim","modifier","change","thread","firstWalk","separation","subtreeW","executeShifts","midPoint","apportion","secondWalk","nodeX","defaultSeparation","radialCoordinate","radialCoor","getViewRect","getBoxLayoutParams","subtreeV","nodeOutRight","nodeInRight","nodeOutLeft","nodeInLeft","sumOutRight","sumInRight","sumOutLeft","sumInLeft","nextRight","nextLeft","moveSubtree","nextAncestor","wl","wr","pathTool","colorTool","Image","Ring","BezierCurve","Arc","LinearGradient","RadialGradient","IncrementalDisplayable","subPixelOptimizeUtil","EMPTY_OBJ","Z2_EMPHASIS_LIFT","CACHED_LABEL_STYLE_PROPERTIES","textBorderColor","textBorderWidth","EMPHASIS","NORMAL","_highlightNextDigit","_highlightKeyMap","_customShapeMap","extendShape","extendPath","pathData","extendFromString","registerShape","ShapeClass","getShapeClass","makePath","createFromString","centerGraphic","resizePath","makeImage","imageUrl","img","pathRect","subPixelOptimizeLine","subPixelOptimizeRect","hasFillOrStroke","fillOrStroke","liftedColorMap","liftedColorCount","liftColor","liftedColor","lift","cacheElementStl","__hoverStlDirty","__hoverStl","normalStyle","__cachedNormalStl","__cachedNormalZ2","singleEnterEmphasis","hoverStl","__highlighted","isGroup","elTarget","targetStyle","addHover","rollbackDefaultTextStyle","extendFrom","setDefaultHoverFillStroke","applyDefaultTextStyle","singleEnterNormal","highlighted","removeHover","normalStl","normalZ2","traverseUpdate","commonParam","__highDownOnUpdate","setElementHoverStyle","onElementMouseOver","shouldSilent","__highByOuter","onElementMouseOut","onElementEmphasisEvent","highlightDigit","onElementNormalEvent","__highDownSilentOnTouch","zrByTouch","setAsHighDownDispatcher","asDispatcher","__highDownDispatcher","isHighDownDispatcher","getHighlightDigit","highlightKey","emphasisStyle","normalModel","emphasisModel","normalSpecified","emphasisSpecified","baseText","labelProp","showNormal","showEmphasis","normalStyleText","emphasisStyleText","setTextStyle","modifyLabelStyle","normalStyleProps","emphasisStyleProps","textStyle","specifiedTextStyle","isEmphasis","setTextStyleCommon","setText","defaultColor","textPosition","getTextPosition","textOffset","textRotation","textDistance","richResult","globalTextStyle","richItemNames","getRichItemNames","richTextStyle","setTokenTextStyle","rich","forceRich","richItemNameMap","isBlock","getAutoColor","textStroke","textStrokeWidth","insideRollbackOpt","fontStyle","fontFamily","textLineHeight","textWidth","textHeight","textTag","disableBox","textBackgroundColor","textPadding","textBorderRadius","textBoxShadowColor","textBoxShadowBlur","textBoxShadowOffsetX","textBoxShadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","insideRollback","useInsideStyleCache","useAutoColorCache","gTextStyleModel","animateOrSetProps","isUpdate","animatableModel","animationEnabled","postfix","animationDelay","getAnimationDelayParams","getTransform","mat","transformDirection","hBase","vBase","vertex","groupTransition","g1","g2","elMap1","getElMap","anid","oldEl","newProp","getAnimatableProps","elMap","clipPointsByRect","clipRectByRect","targetRect","iconStr","linePolygonIntersect","a1x","a1y","a2x","a2y","lineLineIntersect","b1x","b1y","b2x","b2y","mx","my","nx","ny","nmCrossProduct","crossProduct2d","nearZero","b1a1x","b1a1y","q","eventTool","DataZoomView","sliderMove","linearMap","DEFAULT_LOCATION_EDGE_GAP","DEFAULT_FRAME_BORDER_WIDTH","DEFAULT_FILLER_SIZE","HORIZONTAL","VERTICAL","LABEL_GAP","SHOW_DATA_SHADOW_SERIES_TYPE","SliderZoomView","_displayables","_orient","_range","_handleEnds","_size","_handleWidth","_handleHeight","_location","_dragging","_dataShadowInfo","dataZoomModel","_buildView","_updateView","_resetLocation","_resetInterval","barGroup","_renderBackground","_renderHandle","_renderDataShadow","_positionGroup","coordRect","_findCoordRect","ecSize","positionInfo","layoutParams","getLayoutParams","layoutRect","targetAxisModel","getFirstTargetAxisModel","otherAxisInverse","_getViewExtent","_onClickPanelClick","info","_prepareDataShadowInfo","otherDim","getShadowDim","otherDataExtent","getDataExtent","otherOffset","lastIsEmpty","otherShadowExtent","thisShadowExtent","areaPoints","thisCoord","stride","otherCoord","showDataShadow","eachTargetAxis","dimNames","seriesModels","getAxisProxy","getTargetSeriesModels","thisAxis","getOtherDim","thisDim","displaybles","handles","handleLabels","filler","getCursor","_onDragMove","ondragstart","_showDataInfo","ondragend","_onDragEnd","onmouseover","onmouseout","handleIndex","bRect","handleColor","getPercentRange","viewExtent","_updateInterval","handleEnds","viewExtend","minMaxSpan","findRepresentativeAxisProxy","getMinMaxSpan","percentExtent","minSpan","maxSpan","lastRange","nonRealtime","handleInterval","handleHeight","_updateDataInfo","labelTexts","axisProxy","getAxisModel","dataInterval","calculateDataWindow","valueWindow","getDataValueWindow","_formatLabel","orderedHandleEnds","setLabel","barTransform","textPoint","labelFormatter","labelPrecision","getPixelPrecision","valueStr","showOrHide","changed","realtime","_dispatchZoomAction","localPoint","dataZoomId","getTargetCoordInfo","coordInfoList","Graph","edges","directed","addNode","linkNameList","validEdges","linkCount","link","addEdge","coordSysCtor","dimensionNames","edgeData","datas","datasAttr","aFunction","rConstruct","Reflect","construct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","instance","$trim","toAbsoluteIndex","begin","klass","upTo","cloned","ARG","tryGet","T","callee","IndicatorAxis","getScaleExtent","LogScale","Radar","radarModel","_indicatorAxes","indicatorModel","indicatorAxis","getIndicatorAxes","indicatorIndex","coordToPoint","pointToData","closestAxis","radian","minRadianDiff","closestAxisIdx","coordToData","viewWidth","viewHeight","viewSize","indicatorAxes","radarSeries","increaseInterval","exp10","LN10","rawExtent","fixedMin","fixedMax","getInterval","setInterval","nicedSplitNumber","radarList","categoryFilter","categoryVisual","edgeVisual","circularLayout","forceLayout","createView","registerProcessor","POST_CHART_LAYOUT","registerCoordinateSystem","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","getDefaultAdapter","adapter","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","common","dataFormatMixin","addCommas","fillLabel","mergeDefaultAndTheme","_mergeOption","hostSeries","__hostSeries","newOpt","createdBySelf","modelPropName","markerOpt","markerModel","multipleSeries","renderMode","getRawValue","formattedValue","newLine","getSortedIndices","valueArr","mapArray","isAscending","textX","textY","isLabelInside","labelLineLen","viewRect","sizeExtent","getLinePoints","nextIdx","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","task","newPromiseCapabilityModule","perform","PROMISE","versions","v8","$Promise","newPromiseCapability","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","_c","_v","ok","_s","reaction","exited","onHandleUnhandled","enter","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","_a","onrejectionhandled","$reject","_d","_w","$resolve","executor","capability","$$reject","iterable","$index","alreadyCalled","_bezierCurve","lineConfig","calcLinesPosition","getLineAreaConfig","getStartLineAreaConfig","beforeUpdateLineAndArea","beforeChangeLineAndArea","getStartLineConfig","getPointConfig","getStartPointConfig","lineItem","mergeNonNumber","lineAxis","getLineAxis","getLinePosition","lineFillBottomPos","getLineFillBottomPos","tickNum","valueAxisPosIndex","valueAxisStartPos","valueAxisEndPos","valueAxisPosMinus","valuePercent","vPos","changeIndex","changeValue","getLineGraphName","lineArea","getLineAndAreaShape","getLineAreaStyle","drawed","lineAreaDrawed","mainPos","maxPos","minPos","beginPos","linePoint1","linePoint2","currentName","delAll","graphPoints","graphPointsNum","pointsNum","lastPoint","newAddPoints","lineLength","getPolylineLength","realLineDash","getPointShapes","getPointStyle","linePoint","formatterLabel","getLabelPosition","getCenterLabelPoint","ax","ay","bx","by","_poly","DataDiffer","_layers","layerSeries","getLayerSeries","keyGetter","dataDiffer","_layersSeries","newLayersGroups","oldLayersGroups","points0","points1","textLayout","layerGroup","stackedOnPoints","stackedOnSmooth","smoothConstraint","createGridClipShape","rectEl","cosh","POSSIBLE_STYLES","compatEC2ItemStyle","itemStyleOpt","styleName","normalItemStyleOpt","normal","emphasisItemStyleOpt","convertNormalEmphasis","optType","useExtend","normalOpt","removeEC3NormalStatus","compatTextStyle","labelOptSingle","TEXT_STYLE_OPTIONS","compatEC3CommonStyles","processSeries","seriesOpt","markPoint","markLine","markArea","links","mpData","mlData","breadcrumb","levels","toArr","toObj","isTheme","axes","axisOpt","axisPointer","parallel","parallelOpt","calendar","calendarOpt","radarOpt","geoOpt","regionObj","timeline","timelineOpt","toolbox","toolboxOpt","feature","featureOpt","degrees","radians","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_slicedToArray","getIteratorMethod","excludes","includes","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","isRegExp","advanceStringIndex","callRegExpExec","$min","$push","$SPLIT","LENGTH","LAST_INDEX","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","maybeCallNative","internalSplit","separator","limit","lastLength","flags","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","COLLECTION","mapFn","nextItem","PI2","RADIAN","minAngle","validDataCount","unitRadian","stillShowZeroSum","restAngle","valueSumLargerThanMinAngle","currentAngle","paletteScope","categoriesData","getCategoriesData","categoryNameIdxMap","getColorFromPalette","itemStyleList","category","140","vue_popper_","vue_popper_default","debounce_","debounce_default","external_vue_","external_vue_default","mixins","openDelay","manual","effect","arrowOffset","popperClass","visibleArrow","transition","popperOptions","boundariesPadding","gpuAcceleration","hideAfter","tooltipId","timeoutPending","focusing","$isServer","popperVM","$mount","debounceClose","handleClosePopper","_this2","doDestroy","setExpectedState","role","showPopper","directives","firstElement","getFirstElement","staticClass","addTooltipClass","_this3","referenceElm","componentInstance","handleFocus","handleBlur","removeFocusing","updatePopper","watch","handleShowPopper","_this4","expectedState","slots","element","$destroy","reference","18","5","7","keep","dataView","dataZoom","back","magicType","tiled","restore","saveAsImage","typeNames","scatter","effectScatter","treemap","boxplot","candlestick","heatmap","sankey","funnel","pictorialBar","themeRiver","sunburst","aria","general","withTitle","withoutTitle","single","withName","withoutName","multiple","middle","allData","partialData","objectToString","scrollIntoView","_vue","_vue2","offsetParents","viewRectTop","viewRectBottom","SRC","$toString","TPL","inspectSource","safe","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","contentWindow","write","emptyObject","freeze","isUndef","isDef","isTrue","isFalse","isPrimitive","_toString","isValidArrayIndex","isPromise","toNumber","makeMap","expectsLowerCase","isReservedAttribute","hit","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","_from","no","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","getTime","keysA","keysB","looseIndexOf","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","supportsPassive","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","hasSymbol","Dep","subs","addSub","sub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","VNode","elm","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","prototypeAccessors","createEmptyVNode","createTextVNode","cloneVNode","vnode","arrayProto","arrayMethods","methodsToPatch","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","__proto__","asRootData","_isVue","defineReactive$$1","customSetter","shallow","childOb","dependArray","newVal","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","mergeAssets","key$1","inject","provide","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","def$$1","mergeOptions","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","getType","isSameType","expectedTypes","handleError","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","textNode","_resolve","seenObjects","_traverse","seen","isA","isFrozen","depId","passive","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","renderSlot","fallback","bindObject","scopedSlotFn","$scopedSlots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_l","_q","_m","_b","_e","_u","_g","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","_isMounted","callHook","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","_render","ensureCtor","comp","errorComp","resolved","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","$forceUpdate","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","$emit","setActiveInstance","prevActiveInstance","initLifecycle","$children","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevVnode","restoreActiveInstance","__patch__","__vue__","_watchers","mountComponent","updateComponent","Watcher","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","direct","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","createEvent","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","lazy","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initMethods","initComputed","initWatch","propsOptions","isRoot","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$delete","immediate","uid$3","initMixin","_init","_uid","initInternalComponent","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","latest","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","include","exclude","created","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","delete","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","querySelector","createElement$1","tagName","createElementNS","newNode","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","activate","ref$$1","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","updateClass","cls","transitionClass","_transitionClasses","_prevClass","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","cssVarRE","importantRE","setProp","normalizedName","vendorNames","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","classList","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","directive","binding","_vOptions","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","moved","WebkitTransform","_moveCb","propertyName","_hasMove","platformComponents","isDataItemOption","DefaultDataProvider","dimSize","seriesDataToSource","_source","_offset","_dimSize","providerMethods","providerProto","pure","persistent","getItem","appendData","appendDataSimply","countSimply","getItemSimply","dims","newCol","oldCol","clean","rawValueGetters","arrayRows","getRawValueSimply","objectRows","keyedColumns","typedArray","defaultDimValueGetters","getDimValueSimply","converDataValue","_dimensionInfos","_rawData","dimInfo","parseAndCollect","retrieveRawValue","getProvider","getDimensionInfo","retrieveRawAttr","freeGlobal","freeSelf","USE_SYMBOL","$exports","fixShadow","_constant","ContextCachedBy","STYLE_COMMON_PROPS","createLinearGradient","canvasGradient","createRadialGradient","fillOpacity","strokeOpacity","lineDashOffset","textRect","transformText","textOrigin","blend","prevStyle","notCheckCache","__attrCachedBy","STYLE_BIND","globalAlpha","globalCompositeOperation","hasStroke","getLineScale","hasFill","otherStyle","overwrite","getGradient","colorStops","addColorStop","styleProto","hasKeys","supplementVisualOption","mappings","createMappings","visualData","isValidType","__hidden","__alphaForOpacity","Creater","replaceVisualOption","scope","visualTypesMap","eachItem","valueOrIndex","rawDataItem","visualMap","prepareVisualTypes","incrementalApplyVisual","getMigratingConfig","getTargetSeries","seriesModelMap","modifyOutputEnd","overallReset","filterData","percentRange","getDataPercentWindow","valueRange","setCalculatedRange","startValue","endValue","debugMode","$expm1","expm1","enhanceError","defaultSegmentPointsNum","abstractBezierCurveToPolyline","bezierCurve","segmentsNum","getSegmentTPointFuns","seg","beginPoint","createGetBezierCurveTPointFun","segmentPointsNum","segmentPoints","getSegmentPointsByNum","calcUniformPointsByIteration","controlPoint1","controlPoint2","tSubed1","tSubed1Pow3","tSubed1Pow2","tPow3","tPow2","getTwoPointDistance","getNumsSum","nums","getSegmentPointsDistance","getSegmentTPointFun","tGap","getAllDeviations","segmentPointsDistance","avgLength","rounds","cycles","totalPointsNum","lineSegmentNum","segmentlength","totalLength","allDeviations","segmentPointsForLength","stepSize","currentSegmentPointsNum","deviations","_ret","_abstractBezierCurveT","_abstractBezierCurveT2","pointsDistance","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","__CANCEL__","OTHER_DIMENSIONS","summarizeDimensions","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","userOutput","dimItem","coordDim","coordDimIndex","getOrCreateEncodeArr","isExtraCoord","mayLabelDimType","defaultTooltip","encodeArr","otherDims","dataDimsOnCoord","encodeFirstDimNotExtra","dimArr","encodeLabel","encodeTooltip","getDimensionTypeByAxis","applyMixin","vuexInit","$store","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","mutation","forEachValue","partial","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","getChild","actions","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","targetModule","newModule","getNamespace","rawChildModule","Store","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_watcherVM","commit","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","_vm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","makeLocalContext","namespacedType","registerMutation","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","_Vue","subscribeAction","registerModule","preserveState","unregisterModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","barPolar","isubh","$x0","$x1","$y0","borderColorQuery","globalColors","eachRawSeriesByType","defaulColor","legendSymbol","INCLUDES","searchString","getMarkerPosition","clampData","offsetIndex","progressiveChunkMode","un","Ellipse","_path","DILIMITER_REG","parser","SVGParser","_defs","_root","_isDefine","_isText","viewBox","parseAttributes","viewBoxRect","viewBoxTransform","_parseNode","viewBoxArr","makeViewBoxTransform","ignoreViewBox","elRoot","ignoreRootClip","xmlNode","parentGroup","defineParsers","nodeParsers","_parseText","_textX","_textY","inheritStyle","circle","ellipse","parsePoints","_parseGradientColorStops","stopColor","__inheritedStyle","pointsString","attributesMap","defs","onlyInlineStyle","zrStyle","isTextEl","parseTransformAttribute","parseStyleAttribute","svgAttrName","attrValue","elFillProp","elStrokeProp","getPaint","elPropName","urlRegex","urlMatch","transformRegex","transformOps","styleRegex","styleRegResult","styleList","viewBoxScale","viewBoxPosition","parseSVG","DEFAULT_BAR_BOUND","ContinuousModel","calculable","hoverLinkDataSize","hoverLinkOnHandle","_resetRange","resetItemSize","auto","getSelected","oVals","getColorStopValues","iVals","iIdx","oIdx","iLen","oLen","stopsLen","stopValues","getAxis","markerHelper","LineDraw","MarkerView","markLineTransform","mlModel","mlType","axisInfo","getAxisInfo","valueDataDim","numCalculate","baseIndex","mlFrom","mlTo","dataTransform","isInifinity","ifMarkLineHasOnlyDim","fromCoord","toCoord","otherDimIndex","containData","markLineFilter","updateSingleMarkerEndLayout","isFrom","xPx","yPx","markLineModel","fromData","__from","toData","__to","markerGroupMap","renderSeries","seriesData","lineDrawMap","lineDraw","updateDataVisualAndLayout","lineColor","dataModel","__keep","coordDimsInfos","optData","dimValueGetter","_event","Dispatcher","stage","_clips","_running","_time","_pausedTime","_pauseStart","addAnimator","clips","removeAnimator","deferredEvents","deferredClips","_needsRemove","_startLoop","isFinished","serializedParams","isDate","hashmarkIndex","sankeyLayout","sankeyVisual","_echarts","_export","DATAS","MAIN_DATA","linkAll","TRANSFERABLE_METHODS","transferInjection","cloneShallowInjection","CHANGABLE_METHODS","changeInjection","isMainData","linkSingle","cloneShallow","getLinkedData","Region","NProgress","Settings","minimum","positionUsing","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","template","toBarPerc","barPositionCSS","ease","barCSS","configure","started","isStarted","getPositioningCSS","work","inc","amount","$promise","fromStart","isRendered","spinner","perc","removeElement","bodyStyle","getVendorProp","vendorName","getStyleProp","applyCss","oldList","roams","InsideZoomView","allCoordIds","coordInfo","generateCoordId","coordModel","getRange","roamHandlers","coordId","containsPoint","directionInfo","getDirectionInfo","percentPoint","signal","pixelStart","pixelLength","pixel","pan","makeMover","oldX","oldY","newX","newY","scrollMove","scrollDelta","getPercentDelta","percentDelta","oldPoint","newPoint","angleExtent","pointToCoord","singleAxis","clz32","LOG2E","_dimensionHelper","_referHelper","getCoordSysInfoBySeries","coordSysDimDefs","registeredCoordSys","coordSysInfo","coordSysDims","axisMap","getDimensionsInfo","firstCategoryDimIndex","hasNameEncode","dimInfoList","generateCoord","categoryAxisModel","categoryAxisMap","stackCalculationInfo","setCalculationInfo","isNeedCompleteOrdinalData","itemOpt","defaultDimValueGetter","sampleItem","firstDataNotNull","_helper","BAR_BORDER_WIDTH_QUERY","LAYOUT_ATTRS","posDesc","pathForLineWidth","BarView","cartesian","coordSysRect","coordSysExtent","categoryDim","symbolMeta","getSymbolMeta","createBar","updateCommon","newIndex","oldIndex","pictorialShapeStr","getShapeStr","__pictorialShapeStr","updateBar","__pictorialSymbolMeta","removeBar","animationModel","symbolRepeat","symbolClip","symbolPosition","symbolPatternSize","symbolRepeatDirection","prepareBarLength","prepareSymbolSize","boundingLength","pxSign","prepareLineWidth","symbolScale","prepareLayoutInfo","valueLineWidth","repeatCutLength","symbolBoundingData","zeroPx","pxSignIdx","symbolBoundingExtent","convertToCoordOnAxis","categorySize","unitLength","pathLen","absBoundingLength","symbolMargin","hasEndGap","lastIndexOf","uLenWithMargin","endFix","repeatSpecified","repeatTimes","toIntTimes","mDiff","sizeFix","pathPosition","bundlePosition","barRectShape","createPath","createOrUpdateRepeatSymbols","bundle","__pictorialBundle","eachPath","__pictorialAnimationIndex","__pictorialRepeatTimes","updateAttr","makeTarget","updateHoverAnimation","onMouseOver","onMouseOut","createOrUpdateSingleSymbol","mainPath","__pictorialMainPath","createOrUpdateBarRect","rectShape","barRect","__pictorialBarRect","createOrUpdateClip","__pictorialClipPath","labelRect","pathes","immediateAttrs","animationAttrs","barRectHoverStyle","barPositionOutside","times","roundedTimes","ArrayProto","SunburstPiece","windowOpen","ROOT_TO_NODE_ACTION","SunburstView","virtualRoot","newRoot","getViewRoot","renderLabelForZeroData","newChildren","oldChildren","_oldChildren","dualTravel","renderRollUp","highlightPolicy","onEmphasis","unhighlight","virtualPiece","onNormal","getKey","processNode","newId","oldId","oldNode","doRenderNode","viewRoot","_onclickEvent","_rootToNode","_initEvents","targetFound","nodeClick","linkTarget","targetNode","treeRoot","transformPath","vMag","vRatio","u","vAngle","acos","processArc","fa","psiDeg","xp","yp","lambda","cxp","cyp","commandReg","numberReg","createPathProxyFromString","prevCmd","cpx","cpy","subpathX","subpathY","cmdList","cmdText","cmdStr","pLen","ctlPtx","ctlPty","createPathOptions","pathProxy","pathEls","pathList","pathEl","createPathProxy","__dirtyPath","pathBundle","TimelineView","_axis","_viewRect","_timer","_currentPointer","_mainGroup","_labelGroup","timelineModel","mainGroup","_createGroup","labelGroup","_createAxis","_renderAxisLabel","_position","_doPlayStop","_clearTimer","labelPosOpt","playPosition","prevBtnPosition","nextBtnPosition","labelAlignMap","labelBaselineMap","rotationMap","mainLength","controlModel","showControl","controlSize","controlGap","sizePlusGap","labelRotation","controlPosition","showPlayBtn","showPrevBtn","showNextBtn","xLeft","xRight","labelBaseline","rotateOriginX","rotateOriginY","viewBound","getBound","mainBound","labelBound","mainPosition","labelsPosition","mainBoundIdx","toBound","setOrigin","targetGroup","fromPos","boundIdx","newGroup","_renderAxisLine","lineCap","_renderAxisTick","tickCoord","hoverStyleModel","symbolOpt","_changeTimeline","giveSymbol","labels","getViewLabels","labelItem","tickValue","normalLabelModel","formattedLabel","_renderControl","playState","getPlayState","makeBtn","iconPath","willRotate","btn","makeIcon","_handlePlayClick","_renderCurrentPointer","getCurrentIndex","pointerModel","onCreate","_handlePointerDrag","_handlePointerDragend","pointerMoveTo","onUpdate","nextState","_pointerChangeTimeline","mousePos","_toAxisCoord","_findNearestTick","handleFrame","trans","axisCoord","nextIndex","objPath","noAnimation","nullTag","undefinedTag","baseGetTag","arrayJoin","DataZoomModel","SliderZoomModel","dataBackground","areaStyle","fillerColor","handleIcon","handleSize","handleStyle","showDetail","zoomLock","Map","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryDefineOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","OBSERVABLE","redefineAll","RETURN","cleanupSubscription","subscription","cleanup","subscriptionClosed","closeSubscription","Subscription","subscriber","SubscriptionObserver","unsubscribe","$Observable","of","Observable","RADIAN_EPSILON","_trim","subDomain","subRange","returnStr","getPrecision","getPrecisionSafe","eIndex","dotIndex","pixelExtent","dataQuantity","sizeQuantity","getPercentWithPrecision","valueList","digits","votesPerQuota","targetSeats","seats","votes","currentSum","remainder","NEGATIVE_INFINITY","maxId","MAX_SAFE_INTEGER","remRadian","pi2","isRadianAroundZero","TIME_REG","hour","UTC","quantity","quantityExponent","nf","exponent","quantile","ascArr","H","littleThan","currClose","quot","sameValue","regExpExec","SEARCH","$search","previousLastIndex","isAxiosError","description","fileName","lineNumber","columnNumber","_dataProvider","getTooltipMarker","formatTpl","getTooltipRenderMode","DIMENSION_LABEL_REG","rawValue","rawDataIndex","renderModeOption","isSeries","componentSubType","marker","dimensionIndex","makeStyleMapper","getLineDash","lineType","dotSize","dashSize","Displayble","IncrementalDisplayble","_temporaryDisplayables","_cursor","notClear","clearDisplaybles","addDisplayable","displayable","notPersistent","addDisplayables","displayables","eachPendingDisplayable","childRect","union","localPos","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","search","hostname","pathname","requestURL","radarConfig","radarStyle","setCurrentIndex","isIndexMax","setPlayState","resetOption","preventIncremental","coordSysCreator","blurSize","pointSize","maxOpacity","minOpacity","AxisProxy","eachAxisDim","filterMode","minValueSpan","maxValueSpan","rangeMode","_dataIntervalByAxis","_dataInfo","_axisProxies","_autoThrottle","_rangePropMode","inputRawOption","retrieveRawOption","settledOption","doInit","_setDefaultThrottle","updateRangeUse","_resetTarget","_giveAxisProxies","axisProxies","__dzAxisProxy","autoMode","_judgeAutoMode","axisIndexName","normalizeToArray","_autoSetAxisIndex","_autoSetOrient","hasIndexSpecified","autoAxisIndex","singleAxisModel","singleAxisIndex","axisIndices","_isSeriesHasAllAxesTypeOf","axisId","seriesAxisIndex","globalOption","firstAxisModel","setRawRange","getValueRange","axisDimName","hostedBy","getRangePropMode","rangePropMode","rangeModeInOption","percentSpecified","valueSpecified","$metadata","metadataValue","inheritIfRequired","$flags","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","__webpack_amd_options__","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","for","REACT_ELEMENT_TYPE","$$typeof","emptyTarget","cloneIfNecessary","optionsArgument","deepmerge","defaultArrayMerge","destination","mergeObject","sourceIsArray","targetIsArray","arrayMerge","sourceAndTargetTypesMatch","deepmerge_1","ws","hex","radix","HOVER_LINK_SIZE","HOVER_LINK_OUT","ContinuousView","_shapes","_dataInterval","_useHandle","_hoverLinkDataIndices","_hovering","_renderBar","dataRangeText","_enableHoverLinkToSeries","_enableHoverLinkFromSeries","endsIndex","_applyTransform","useHandle","_createBarGroup","outOfRange","createPolygon","inRange","_dragHandle","getTextRect","textSize","handleThumbs","handleLabelPoints","_createHandle","_createIndicator","onDrift","onDragEnd","handleThumb","createHandlePoints","handleLabel","handleLabelPoint","indicatorLabel","indicatorLabelPoint","isEnd","_clearHoverLinkToSeries","useHoverLinkOnHandle","_doHoverLinkToSeries","forSketch","outOfRangeHandleEnds","inRangeHandleEnds","visualInRange","_createBarVisual","visualOutOfRange","barColor","barPoints","_updateHandle","forceState","convertOpacityToAlpha","_makeColorGradient","symbolSizes","_createBarPoints","handlesColor","sampleNumber","currValue","_showIndicator","cursorValue","textValue","rangeSymbol","halfHoverLinkSize","createIndicatorPoints","_hoverLinkFromSeriesMouseOver","_hideIndicator","_clearHoverLinkFromSeries","cursorPos","hoverOnBar","getHalfHoverLinkSize","hoverRange","oldBatch","newBatch","resultBatches","compressBatches","_dispatchHighDown","isTargetSeries","isRange","extentMax","zrender","timsort","GlobalModel","ExtensionAPI","OptionManager","backwardCompat","_throttle","seriesColor","loadingDefault","Scheduler","lightTheme","darkTheme","mapDataStorage","parseClassType","TEST_FRAME_REMAIN_TIME","PRIORITY_PROCESSOR_FILTER","PRIORITY_PROCESSOR_SERIES_FILTER","PRIORITY_PROCESSOR_DATASTACK","PRIORITY_PROCESSOR_STATISTIC","PRIORITY_VISUAL_LAYOUT","PRIORITY_VISUAL_PROGRESSIVE_LAYOUT","PRIORITY_VISUAL_GLOBAL","PRIORITY_VISUAL_CHART","PRIORITY_VISUAL_POST_CHART_LAYOUT","PRIORITY_VISUAL_COMPONENT","PRIORITY_VISUAL_BRUSH","PROCESSOR","FILTER","SERIES_FILTER","STATISTIC","LAYOUT","PROGRESSIVE_LAYOUT","GLOBAL","CHART","COMPONENT","IN_MAIN_PROCESS","OPTION_UPDATED","ACTION_REG","createRegisterEventWithLowercaseName","ignoreDisposed","_disposed","disposedWarning","MessageCenter","ECharts","theme","themeStorage","_dom","defaultRenderer","renderer","_throttledZrFlush","_theme","_chartsViews","_chartsMap","_componentsViews","_componentsMap","_coordSysMgr","_api","createExtensionAPI","prioritySortFunc","__prio","visualFuncs","dataProcessorFuncs","_scheduler","_ecEventProcessor","EventProcessor","_messageCenter","_pendingActions","_onframe","bindRenderedEvent","setAsPrimitive","echartsProto","doConvertPixel","coordSysList","parseFinder","scheduler","prepare","updateMethods","flushPendingActions","triggerUpdatedEvent","unfinished","remainTime","performSeriesTasks","performDataProcessorTasks","updateStreamModes","performVisualTasks","getDom","notMerge","lazyUpdate","optionManager","optionPreprocessorFuncs","setTheme","getOption","getDevicePixelRatio","getRenderedCanvas","pixelRatio","getSvgDataURL","storage","getDisplayList","toDataURL","getDataURL","excludeComponents","excludesComponentViews","__viewId","getConnectedDataURL","isSvg","groupId","MAX_NUMBER","connectedGroups","canvasList","instances","getSvgDom","targetCanvas","createCanvas","getSvgRoot","connectedBackgroundColor","setBackgroundColor","refreshImmediately","containPixel","models","defaultMainType","dataIndexInside","indexOfRawIndex","getViewOfComponentModel","componentModel","getViewOfSeriesModel","prepareAndUpdate","coordSysMgr","restoreData","clearColorPalette","colorArr","performPostUpdateFuncs","ecIns","componentDirtyList","componentView","__alive","seriesDirtyMap","chartView","setDirty","dirtyMap","updateView","markUpdateMethod","updateVisual","restorePipelines","prepareStageTasks","prepareView","updateDirectly","condition","excludeSeriesId","callView","__model","chartsMap","doDispatchAction","payloadType","escapeConnect","actionWrap","actionInfo","cptType","updateMethod","payloads","batched","eventObj","eventObjBatch","isHighDown","batchItem","pendingActions","isComponent","viewList","viewMap","doPrepare","viewId","classType","Clazz","__id","__ecComponentInfo","renderTask","renderComponents","dirtyList","updateZ","updatePayload","getPerformArgs","updateBlend","updateHoverLayerStatus","postUpdateFuncs","_loadingFX","optionChanged","showLoading","cfg","hideLoading","loadingEffects","makeActionFromEvent","eventActionMap","MOUSE_EVENT_NAMES","elCount","preventUsingHoverLayer","blendMode","ecInstance","getComponentByElement","modelInfo","eventInfo","eveName","isGlobalOut","targetEl","packedEvent","actionType","DOM_ATTRIBUTE_KEY","cptQuery","dataQuery","otherQuery","condCptType","suffixes","dataKeys","reserved","propSuffix","suffixPos","filterForExposedEvent","propOnHost","idBase","groupIdBase","enableConnect","STATUS_PENDING","STATUS_UPDATING","STATUS_UPDATED","STATUS_KEY","updateConnectedChartsStatus","charts","otherChart","otherCharts","existInstance","getInstanceByDom","connect","disConnect","disconnect","getInstanceById","registerTheme","preprocessorFunc","priority","processor","normalizeRegister","registerPostUpdate","postUpdateFunc","getCoordinateSystemDimensions","layoutTask","visualTask","targetList","defaultPriority","stageHandler","wrapStageHandler","__raw","registerLoading","loadingFx","setCanvasCreator","creator","$override","registerMap","geoJson","specialAreas","getMap","retrieveMap","geoJSON","dataTool","___ec_export","textContain","textHelper","NONE","mathRound","degree","round4","isAroundZero","pathHasFill","isText","pathHasStroke","svgEl","attrXLink","bindStyle","strokeWidth","strokeScale","miterLimit","pathDataToString","dataLength","nData","dThetaPositive","isCircle","unifiedTheta","svgPath","__svgEl","pathStr","svgTextDrawRectText","removeOldTextNode","svgImage","HTMLImageElement","dw","dh","__imageSrc","svgText","_tmpTextHostRect","_tmpTextBoxPos","_tmpTextTransform","TEXT_ALIGN_TO_ANCHRO","hostRect","elTransform","needTransformTextByHostEl","normalizeTextStyle","needDrawText","textSvgEl","__textSvgEl","textSvgElStyle","DEFAULT_FONT","computedFont","__computedFont","__styleFont","contentBlock","__textCotentBlock","parsePlainText","outerHeight","getBoxPosition","baseX","baseY","setTextTransform","boxY","adjustTextY","getTextXForPadding","canCacheByTextString","tspanList","__tspanList","tspanOriginLen","__canCacheByTextString","__text","updateTextLocation","textLines","nTextLines","tspan","singleLineText","__zrText","removeResizeListener","addResizeListener","_resizeObserverPolyfill","_resizeObserverPolyfill2","isServer","resizeHandler","__resizeListeners__","__ro__","scaleAndAdd","lenSquare","lengthSquare","dot","distanceSquare","distSquare","negate","lerp","nodeList","startClick","createDocumentHandler","mouseup","mousedown","popperElm","bindingFn","documentHandler","descriptor","_assign","_assign2","LRU","kCSSColorTable","clampCssByte","clampCssAngle","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","colorCache","lastRemovedArr","putToCache","colorStr","rgbaArr","put","op","ep","fname","substr","alpha","hsla2rgba","iv","hsla","rgba2hsla","vMin","vMax","deltaR","deltaG","deltaB","fastLerp","normalizedValue","colors","leftIndex","rightIndex","leftColor","rightColor","dv","fastMapToColor","fullOutput","mapToColor","modifyHSL","modifyAlpha","arrColor","isVNode","isError","Gradient","TooltipRichContent","findPointFromSeries","globalListener","axisPointerViewHelper","proxyRect","tooltipContent","_renderMode","_newLine","_tooltipContent","_tooltipModel","_ecModel","_lastDataByCoordSys","_alwaysShowContent","_initGlobalListener","_keepShow","triggerOn","_tryShow","_hide","_lastX","_lastY","_refreshUpdateTimeout","manuallyShowTip","_ticket","dataByCoordSys","tooltipOption","_manuallyAxisShowTip","pointInfo","findHover","manuallyHideTip","coordSysAxesInfo","buildTooltipModel","_showAxisTooltip","_showSeriesItemTooltip","_showComponentItemTooltip","_showOrMove","_showTimout","globalTooltipModel","singleDefaultHTML","singleParamsList","singleTooltipModel","markers","itemCoordSys","dataByAxis","axisValue","seriesDefaultHTML","valueLabel","getValueLabel","seriesDataIndices","valueLabelOpt","idxItem","dataParams","getAxisRawValue","axisValueLabel","seriesTooltip","newMarkers","firstLine","positionExpr","_updateContentNotChangedOnAxis","_updatePosition","_showTooltipContent","tooltipTrigger","defaultHtml","asyncTicket","tooltipOpt","subTooltipModel","cbTicket","contentSize","vAlign","calcTooltipPosition","refixTooltipPosition","isCenterAlign","confineTooltipPosition","lastCoordSys","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisItemCoordSys","thisDataByAxis","lastItem","indexAxis","thisItem","lastIndices","newIndices","lastIdxItem","newIdxItem","modelCascade","resultModel","gapH","gapV","domWidth","domHeight","rectWidth","rectHeight","_clazz","enableClassExtend","enableClassCheck","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","doGet","pathArr","getParent","getParentMethod","thisParentModel","setReadOnly","customizeGetParent","Single","singles","promiseCapability","actionTypes","handleRootToNode","targetInfo","retrieveTargetInfo","originViewRoot","aboveViewRoot","resetViewRoot","easingFuncs","_life","onrestart","globalTime","deltaTime","_startTime","easingFunc","restart","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","HIGHLIGHT_ACTION","handleHighlight","UNHIGHLIGHT_ACTION","handleUnhighlight","__defineGetter__","_createPolyline","polylineProto","_updateCommonStl","hoverLineStyle","$Object","desc","stat","bitmap","legendSelectActionHandler","selectedMap","isToggleSelect","legendData","isItemSelected","createError","gridConfig","getGridConfig","gridItem","getGridShape","getGridStyle","_updater$chart$render","getNumberValue","rangeInfo","getRangeInfo","cellWidth","getCellWidth","cellHeight","getCellHeight","weeks","dayCount","allDay","15","19","21","26","31","40","51","59","cascader_panelvue_type_template_id_34932346_render","keydown","handleKeyDown","menus","menu","_withStripped","cascader_node_render","cascader_node_staticRenderFns","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","scrollbar_","scrollbar_default","checkbox_","checkbox_default","radio_","radio_default","cascader_nodevue_type_script_lang_js_","ElCheckbox","ElRadio","required","nodeId","panel","isLeaf","checkedValue","isChecked","isSameNode","inActivePath","isInPath","activePath","inCheckedPath","checkStrictly","checkedNodePaths","checkedPath","getValueByOption","handleExpand","loaded","lazyLoad","handleMultiCheckChange","handleCheckChange","doCheck","calculateMultiCheckedValue","pathNodes","selectedPathNode","renderPrefix","renderCheckbox","renderRadio","renderCheckIcon","renderPostfix","renderLoadingIcon","renderExpandIcon","indeterminate","renderContent","renderLabelFn","expandTrigger","src_cascader_nodevue_type_script_lang_js_","componentNormalizer","__file","cascader_menu_render","cascader_menu_staticRenderFns","cascader_node","locale_","locale_default","cascader_menuvue_type_script_lang_js_","ElScrollbar","CascaderNode","activeNode","hoverTimer","menuId","handleMouseMove","hoverZone","_$el$getBoundingClien","_$el","clearHoverZone","hoverThreshold","renderEmptyText","renderNodeList","isHoverMenu","hasChildren","mousemove","src_cascader_menuvue_type_script_lang_js_","cascader_menu_component","cascader_menu","shared_","_createClass","protoProps","staticProps","_classCallCheck","node_Node","Node","initChildren","valueKey","labelKey","calculatePathNodes","pathLabels","childrenKey","childrenData","getPath","emitPath","allLevels","broadcast","_key","handlerName","_len2","_key2","onParentCheck","setCheckState","onChildCheck","validChildren","totalNum","checkedNum","syncCheckState","disabledKey","_config2","leafKey","leaf","src_node","store_classCallCheck","flatNodes","leafOnly","store_Store","initNodes","flattedNodes","getFlattedNodes","leafNodes","appendNode","appendNodes","nodeDataList","getNodes","cachedNodes","getNodeByValue","src_store","merge_","merge_default","aria_utils_","aria_utils_default","scroll_into_view_","scroll_into_view_default","_extends","KeyCode","DefaultProps","cascader_panelvue_type_script_lang_js_isLeaf","getSibling","getMenuIndex","focusNode","checkNode","cascader_panelvue_type_script_lang_js_","CascaderMenu","renderLabel","loadCount","initStore","syncCheckedValue","calculateCheckedNodePaths","isEmptyValue","syncMenuState","syncActivePath","syncMultiCheckState","checkedNode","expandNodes","checkedValues","up","down","preMenu","expandedNode","nextMenu","firstNode","esc","tab","pathValues","activePathValues","onFullfiled","_this5","dataList","computePresentText","getCheckedNodes","menuElement","clearCheckedNodes","src_cascader_panelvue_type_script_lang_js_","cascader_panel_component","cascader_panel","6","9","SymbolDraw","EffectSymbol","pointsLayout","_symbolDraw","effectSymbolDraw","_updateGroupTransform","getRoamTransform","MSIE","boundArgs","gOPS","getSymbols","HeatmapLayer","getIsInPiecewiseRange","dataSpan","getIsInContinuousRange","isGeoCoordSys","visualMapOfThisSeries","targetSeries","_incrementalDisplayable","_renderOnCartesianAndCalendar","_renderOnGeo","itemStyleQuery","hoverItemStyleQuery","labelQuery","hoverLabelQuery","coordSysType","dataDims","dataToRect","contentShape","inRangeVisuals","targetVisuals","outOfRangeVisuals","hmLayer","_hmLayer","lng","lat","isInRange","getNormalizer","getColorMapper","curveTool","_graphHelper","v3","v2DistSquare","intersectCurveCircle","curvePoints","radiusSquare","nextDiff","tmp0","quadraticSubdivide","pts","pts2","fromSymbol","toSymbol","__original","originalPoints","i18n","_zhCN","_zhCN2","_deepmerge","_deepmerge2","_format2","format","i18nHandler","vuei18n","$t","locale","globalCoord","AxisPointerModel","snap","triggerTooltip","shadowStyle","axisModelCreator","AxisModel","gridIndex","gridId","getAxisType","extraOption","reduceRight","MATCH","$match","fullUnicode","matchStr","_roamHelper","updateCenterAndZoom","seriesGroup","interactionMutex","pointerChecker","_opt","mousedownHandler","mousemoveHandler","mouseupHandler","mousewheelHandler","mousewheel","pinchHandler","controlType","zoomOnMouseWheel","moveOnMouseMove","moveOnMouseWheel","preventDefaultMouseMove","isDragging","isPinching","_pinching","isMiddleOrRightButtonOnMouseUpDown","_x","_y","isAvailableBehavior","gestureEvent","isTaken","shouldZoom","shouldMove","wheelDelta","absWheelDeltaDelta","factor","checkPointerAndTrigger","absDelta","behaviorToCheck","contollerEvent","setting","_vector","v2Create","mathPow","EPSILON_NUMERIC","THREE_SQRT","ONE_THIRD","_v0","_v1","_v2","onet","cubicDerivativeAt","cubicRootAt","roots","t1","disc","K","discSqrt","Y1","Y2","ASqrt","cubicExtrema","extrema","cubicSubdivide","p01","p12","p23","p012","p123","p0123","cubicProjectPoint","d1","d2","quadraticRootAt","quadraticExtremum","divider","quadraticProjectPoint","BREAK","config1","config2","BaseAxisPointer","viewHelper","cartesianAxisHelper","CartesianAxisPointer","makeElOption","elOption","axisPointerModel","axisPointerType","otherExtent","getCartesian","getGlobalExtent","pixelValue","buildElStyle","pointerOption","pointerShapeBuilder","graphicKey","buildCartesianSingleLabelElOption","getHandleTransform","labelMargin","getTransformedPosition","updateHandleTransform","currPosition","cursorOtherValue","cursorPoint","tooltipOptions","targetShape","makeLineShape","getAxisDimIndex","shadow","makeRectShape","registerAxisPointerClass","fixClipWithShadow","unitX","unitY","ZText","MARK_UNUSED","MARK_USED","Definable","zrId","svgRoot","tagNames","markLabel","domName","_zrId","_svgRoot","_tagNames","_markLabel","_domName","getDefs","isForceCreating","addDom","removeDom","getDoms","doms","tags","markAllUnused","markUsed","removeUnused","getSvgProxy","getTextSvgElement","getSvgElement","hasModal","hasInitZIndex","zIndex","getModal","modalDom","PopupManager","doOnModalClick","modalFade","getInstance","deregister","nextZIndex","modalStack","topItem","closeOnClickModal","openModal","modalClass","classArr","closeModal","$ELEMENT","getTopPopup","topPopup","closeOnPressEscape","handleClose","handleAction","SingleAxis","axisPointerEnabled","_adjustAxis","_updateAxisTransform","coordBase","extentSum","toLocalCoord","getAxes","getTooltipAxes","baseAxes","parseGeoJson","fixNanhai","fixTextCoord","fixGeoCoord","fixDiaoyuIsland","mapRecord","nameProperty","regionName","specialArea","regionRect","positiveBorderColorQuery","negativeBorderColorQuery","positiveColorQuery","negativeColorQuery","performRawSeries","colorP","getColor","colorN","borderColorP","getBorderColor","borderColorN","isLargeRender","FunnelPiece","funnelPieceProto","opacityAccessPath","FunnelView","funnelPiece","GaugeSeries","offsetCenter","dev","dataSelectableMixin","MapSeries","needsDrawMap","dataNameMap","selectTargetList","toAppendNames","geoSource","getMapType","appendValues","seriesNames","otherIndex","originalData","showLegendSymbol","dataRangeHoverLink","NodeHighlightPolicy","DESCENDANT","ANCESTOR","SELF","DEFAULT_SECTOR_Z","DEFAULT_TEXT_Z","SunburstPieceProto","getNodeColor","fillDefaultColor","stateStyle","isNodeHighlighted","onHighlight","onDownplay","labelState","getLabelAttr","labelMinAngle","labelPadding","rotateType","stateAttr","visualMetaList","getRootId","policy","10","12","22","33","itemSelected","groupDisabled","limitReached","hoverItem","selectOptionClick","currentLabel","emitter_","emitter_default","optionvue_type_script_lang_js_","componentName","hitState","isEqual","multipleLimit","remote","oldVal","_select","handleGroupDisabled","hoverIndex","queryChange","filteredOptionsCount","cachedOptions","optionsCount","_select2","selectedOptions","onOptionDestroy","src_optionvue_type_script_lang_js_","37","4","61","selectSize","toggleMenu","inputWidth","collapseTags","closable","selectDisabled","collapseTagSize","deleteTag","resetInputHeight","getValueKey","filterable","inputLength","autocomplete","autoComplete","softFocus","keyup","managePlaceholder","resetInputState","navigateOptions","selectOption","deletePrevTag","compositionstart","handleComposition","compositionupdate","compositionend","debouncedQueryChange","currentPlaceholder","readonly","debouncedOnInputChange","inputHovering","selectedLabel","$$v","showClose","iconClass","handleClearClick","handleMenuEnter","emptyText","popperAppendToBody","allowCreate","showNewOption","focus_","focus_default","input_","input_default","select_dropdownvue_type_template_id_06828748_render","select_dropdownvue_type_template_id_06828748_staticRenderFns","select_dropdownvue_type_script_lang_js_","placement","destroyPopper","src_select_dropdownvue_type_script_lang_js_","select_dropdown","src_option","tag_","tag_default","clickoutside_","clickoutside_default","navigation_mixin","hoverOption","optionsAllDisabled","scrollToOption","selectvue_type_script_lang_js_","elForm","elFormItem","_elFormItemSize","elFormItemSize","criteria","clearable","debounce","loadingText","noMatchText","noDataText","hasExistingOption","propPlaceholder","ElInput","ElSelectMenu","ElOption","ElTag","Clickoutside","automaticDropdown","remoteMethod","filterMethod","defaultFirstOption","reserveKeyword","createdLabel","createdSelected","initialInputHeight","cachedPlaceHolder","previousQuery","menuVisibleOnFocus","isOnComposition","isSilentBlur","handleQueryChange","resetHoverIndex","inputs","checkDefaultFirstOption","lastCharacter","_this6","popper","scrollbar","_this7","emitChange","isNull","cachedOption","_this8","_this9","deleteSelected","toggleLastOptionHitState","_this10","inputChildNodes","tagsHeight","sizeInMap","_this11","handleOptionSelect","byClick","_this12","optionIndex","getValueIndex","setSoftFocus","onInputChange","resetInputWidth","handleResize","hasCreated","_this13","_this14","sizeMap","medium","small","mini","src_selectvue_type_script_lang_js_","select_component","src_select","featureManager","saveAsImageLang","SaveAsImage","unusable","MouseEvent","msSaveOrOpenBlob","bstr","atob","u8arr","blob","Blob","$a","download","radars","calcRadarPosition","calcRadarLabelPosition","calcRadarLabelAlign","getRadarConfig","getStartRadarConfig","beforeChangeRadar","axisLineAngles","radarItem","dataRadius","radarPosition","_radarAxis$centerPos","lx","ly","getRadarShape","getRadarStyle","pointNum","colorRgbaValue","radarDefaultColor","getPointShape","getLabelShape","mergePointOffset","defaultColorAndAlign","SAFE_CLOSING","riter","skipClosing","strong","SET","colorPaletteMixin","mergeLayoutParam","_task","createTask","visualBorderColorAccessPath","extraOpt","dataTask","dataTaskCount","dataTaskReset","wrapData","dataBeforeProcessed","autoSeriesName","inputPositionParams","themeSubType","getTheme","getDefaultOption","fillDataTextStyle","newSeriesOption","getCurrentTask","setOutputEnd","outputData","isRichText","markerId","formatArrayValue","vertially","setEachItem","markName","dimHead","dimHeadStr","valStr","tooltipDims","formatSingleValue","tooltipDimLen","isValueArr","colorEl","isNameSpecified","requestColorNum","coordDimToDataDim","getAxisTooltipData","pipeTask","getSeriesAutoName","nameArr","dataDim","dataTaskProgress","onDataSelfChange","pipeline","getPipeline","currentTask","agentStubMap","smoothSpline","smoothBezier","controlPoints","cp2","isEntries","AXIS_DIMS","COORDS","isCoordSupported","coordType","createNameEach","capitalNames","capitalFirst","capitalAttrs","nameObj","capital","createLinkedNodesFinder","forEachNode","forEachEdgeType","edgeIdGetter","sourceNode","existsLink","edgeType","absorb","processSingleNode","isNodeAbsorded","isLinked","hasLink","edgeId","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","idSeed","scrollBarWidth","closeDelay","modal","modalAppendToBody","lockScroll","_popupId","restoreBodyStyle","opened","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","rendered","_opening","$props","_closeTimer","_openTimer","doOpen","willOpen","_closing","paddingRight","bodyHasOverflow","bodyOverflowY","onOpen","doAfterOpen","willClose","doClose","onClose","doAfterClose","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","PATCH","reCopy","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","cancelToken","throwIfRequested","baseURL","themeRiverLayout","baseY0","timeDim","layerPoints","singleLayer","computeBaseline","baseLine","ky","layerIndex","layerNum","sums","$asinh","asinh","getRgbValue","getOpacity","toRgb","darken","lighten","fade","_keywords","hexReg","rgbReg","rgbaReg","isHex","isRgb","getColorByKeyword","keyword","lowerColor","getRgbValueFromHex","getRgbValueFromRgb","hexNum","colorValue","isRgba","rgbValue","addOpacity","rgbaValue","getNodeGlobalScale","groupScale","groupZoom","roamZoom","nodeScale","dataset","oldPaddingTop","paddingTop","oldPaddingBottom","paddingBottom","oldOverflow","$toPrecision","toPrecision","colorList","getBorderLineDash","SHARED","copyright","eliminateBlur","checkPointIsInCircle","checkPointIsInPolygon","checkPointIsInSector","checkPointIsNearPolyline","getRotatePointPos","getScalePointPos","getTranslatePointPos","getDistanceBetweenPointAndLine","getRegularPolygonPoints","recursion","clonedObj","xa","ya","xb","yb","minusX","minusY","_point","xinters","_deepClone","_deepClone2","reverseBE","minus","_point2","_getCircleRadianPoint","_getCircleRadianPoint2","_getCircleRadianPoint3","_getCircleRadianPoint4","ey","vPoint","vBArm","vEArm","_deepClone3","_deepClone4","inSector","isClockWise","vArm","_vArm","_vPoint","px","py","halfLineWidth","moveUpPolyline","moveDownPolyline","_point3","_origin","_point4","_origin2","_scale","xs","ys","relativePosX","relativePosY","_point5","_translate","lineBegin","_point6","_lineBegin","_lineEnd","molecule","denominator","side","radianGap","ATTR","dataZoomInfo","giveStore","theDataZoomId","theCoordId","dataZoomInfos","cleanStore","createController","controllerParams","mergeControllerParams","newRecord","typePriority","oneType","validPayloadTypes","targetNodeId","getPathToRoot","viewPath","wrapTreePathInfo","treePathInfo","nodeDataIndex","$sort","comparefn","DataDimensionInfo","r1","r2","r3","r4","$fromCodePoint","fromCodePoint","$indexOf","NEGATIVE_ZERO","searchElement","$isSealed","__e","_forceHelper","_simpleLayoutHelper","_circularLayoutHelper","graphSeries","preservedPoints","forceModel","initLayout","nodeDataExtent","edgeDataExtent","repulsion","edgeLength","rep","fixed","getEdgeByIndex","edgeModel","ignoreForceLayout","forceInstance","gravity","friction","oldStep","getNodeByIndex","rectCoordAxisBuildSplitArea","axisView","axisGroup","gridRect","tickModel","areaColorsLen","lastSplitAreaColors","__splitAreaColors","newSplitAreaColors","cIndex","rectCoordAxisHandleRemove","isInContainer","getScrollContainer","isScroll","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","ieVersion","documentMode","detachEvent","curClass","clsName","determinedDirection","elRect","containerRect","innerWidth","innerHeight","noTrailing","debounceMode","timeoutID","lastExec","elapsed","ifAxisCrossZero","estimateLabelUnionRect","Cartesian2D","Axis2D","isAxisUsedInTheGrid","Grid","_coordsMap","_coordsList","_axesMap","_axesList","_initCartesian","gridProto","fixAxisOnZero","axesMap","otherAxisDim","onZeroRecords","otherAxes","onZeroAxisIndex","canOnZeroToAxis","getOnZeroRecordKey","updateAxisTransform","axisExtentSum","_updateScale","ignoreContainLabel","axesList","adjustAxes","labelUnionRect","axesMapOnDim","coordList","getCartesians","_findConvertTarget","xAxisModel","yAxisModel","coordsList","axisPositionUsed","axesCount","createAxisCreator","addAxis","isCartesian2D","axesModels","findAxesModels","otherAxis","axesTypes","grids","IS_INCLUDES","fromIndex","nodeOpacityPath","hoverNodeOpacityPath","lineOpacityPath","hoverLineOpacityPath","getItemOpacity","opacityPath","fadeOutItem","opacityRatio","getGraphicEl","fadeInItem","SankeyShape","cpx1","cpy1","cpx2","cpy2","_focusAdjacencyDisabled","sankeyView","curvature","n1Layout","node1Model","dragX1","dragY1","n2Layout","node2Model","dragX2","dragY2","edgeLayout","dragX","dragY","localX","localY","focusNodeAdjHandler","unfocusNodeAdjHandler","_dispatchUnfocus","edgeDataIndex","_unfocusDelayTimer","focusNodeAdjacency","focusNodeAdj","outEdges","inEdges","unfocusNodeAdjacency","geoJSONLoader","geoSVGLoader","loaders","mapRecords","singleSource","makeInvoker","hostKey","pagervue_type_template_id_7274f267_render","onPagerClick","currentPage","showPrevMore","quickprevIconClass","onMouseenter","pagers","pager","showNextMore","quicknextIconClass","pagervue_type_script_lang_js_","pagerCount","newPage","pagerCountOffset","halfPagerCount","startPage","_i2","_i3","src_pagervue_type_script_lang_js_","select_","select_default","option_","option_default","pagination","pageSize","pageSizes","prevText","nextText","background","hideOnSinglePage","internalCurrentPage","internalPageSize","lastEmittedPage","userChangePageSize","internalPageCount","TEMPLATE_MAP","jumper","handleCurrentChange","sizes","rightWrapper","haveRightWrapper","compo","Prev","Next","Sizes","handleChange","ElSelect","Jumper","userInput","handleKeyup","handleInput","getValidCurrentPage","Total","Pager","havePageCount","resetValue","oldPage","packages_pagination","componentvue_type_template_id_60140e62_render","handleWrapperClick","fullscreen","customClass","footer","componentvue_type_template_id_60140e62_staticRenderFns","popup_","popup_default","migrating_","migrating_default","componentvue_type_script_lang_js_","beforeClose","destroyOnClose","closed","dialog","marginTop","cancel","src_componentvue_type_script_lang_js_","component_component","src_component","autocompletevue_type_template_id_152f2ee6_render","suggestionVisible","handleClear","highlightedIndex","handleKeyEnter","suggestions","autocompletevue_type_template_id_152f2ee6_staticRenderFns","autocomplete_suggestionsvue_type_template_id_cd10dcf0_render","dropdownWidth","autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns","autocomplete_suggestionsvue_type_script_lang_js_","popperJS","textarea","referenceList","src_autocomplete_suggestionsvue_type_script_lang_js_","autocomplete_suggestions_component","autocomplete_suggestions","autocompletevue_type_script_lang_js_","ElAutocompleteSuggestions","maxlength","minlength","autofocus","fetchSuggestions","triggerOnFocus","customItem","selectWhenUnmatched","prefixIcon","suffixIcon","highlightFirstItem","activated","suggestionDisabled","isValidData","$input","getInput","queryString","debouncedGetData","suggestion","suggestionList","highlightItem","src_autocompletevue_type_script_lang_js_","autocomplete_component","dropdown_render","dropdown_staticRenderFns","packages_autocomplete","button_","button_default","button_group_","button_group_default","dropdownvue_type_script_lang_js_","ElButton","ElButtonGroup","dropdown","splitButton","hideOnClick","showTimeout","hideTimeout","triggerElm","menuItems","menuItemsArray","dropdownElm","listId","dropdownSize","handleMenuItemClick","selfDefine","removeTabindex","resetTabindex","handleClick","handleTriggerKeyDown","ev","handleItemKeyDown","triggerElmFocus","ele","initAria","command","initDomOperation","handleMainButtonClick","vnodeData","_vnodeData$attrs","menuElm","src_dropdownvue_type_script_lang_js_","dropdown_component","packages_dropdown","dropdown_menuvue_type_template_id_0da6b714_render","dropdown_menuvue_type_template_id_0da6b714_staticRenderFns","dropdown_menuvue_type_script_lang_js_","currentPlacement","src_dropdown_menuvue_type_script_lang_js_","dropdown_menu_component","dropdown_menu","packages_dropdown_menu","dropdown_itemvue_type_template_id_6359102a_render","divided","dropdown_itemvue_type_template_id_6359102a_staticRenderFns","dropdown_itemvue_type_script_lang_js_","src_dropdown_itemvue_type_script_lang_js_","dropdown_item_component","dropdown_item","packages_dropdown_item","Utils","focusFirstDescendant","attemptFocus","focusLastDescendant","isFocusable","IgnoreUtilFocusChanges","rel","fireEvent","space","aria_utils","SubMenu","domNode","subMenuItems","subIndex","addListeners","gotoSubIndex","prevDef","aria_submenu","MenuItem","submenu","menuChild","aria_menuitem","Menu","menuChildren","menu_render","menu_staticRenderFns","aria_menubar","menuvue_type_script_lang_js_","collapse","collapseTransition","rootMenu","defaultActive","defaultOpeneds","uniqueOpened","router","menuTrigger","textColor","activeTextColor","activeIndex","openedMenus","submenus","hoverBackground","mixColor","isMenuPopup","updateActiveIndex","initOpenedMenu","getColorChannels","red","green","blue","_getColorChannels","addItem","removeItem","addSubmenu","removeSubmenu","openMenu","indexPath","closeMenu","handleSubmenuClick","isOpened","handleItemClick","oldActiveIndex","hasIndex","routeToItem","activeItem","onError","route","$router","src_menuvue_type_script_lang_js_","menu_component","src_menu","submenu_render","submenu_staticRenderFns","packages_menu","collapse_transition_","collapse_transition_default","menu_mixin","parentMenu","paddingStyle","paddingLeft","poperMixins","transformOrigin","deactivated","submenuvue_type_script_lang_js_","ElCollapseTransition","mouseInChild","isFirstLevel","menuTransitionName","isActive","titleStyle","borderBottomColor","handleCollapseToggle","initPopper","handleMouseenter","handleMouseleave","deepDispatch","handleTitleMouseenter","handleTitleMouseleave","updatePlacement","popupMenu","inlineMenu","submenuTitleIcon","src_submenuvue_type_script_lang_js_","submenu_component","packages_submenu","menu_itemvue_type_template_id_2a5dbfea_render","onMouseEnter","onMouseLeave","menu_itemvue_type_template_id_2a5dbfea_staticRenderFns","tooltip_","tooltip_default","menu_itemvue_type_script_lang_js_","ElTooltip","isNested","src_menu_itemvue_type_script_lang_js_","menu_item_component","menu_item","packages_menu_item","menu_item_groupvue_type_template_id_543b7bdc_render","levelPadding","menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns","menu_item_groupvue_type_script_lang_js_","src_menu_item_groupvue_type_script_lang_js_","menu_item_group_component","menu_item_group","packages_menu_item_group","inputvue_type_template_id_343dd774_render","inputSize","inputDisabled","inputExceed","showPassword","hovering","passwordVisible","handleCompositionStart","handleCompositionUpdate","handleCompositionEnd","getSuffixVisible","showClear","showPwdVisible","isWordLimitVisible","handlePasswordVisible","textLength","upperLimit","validateState","validateIcon","textareaStyle","inputvue_type_template_id_343dd774_staticRenderFns","hiddenTextarea","HIDDEN_STYLE","CONTEXT_STYLE","calculateNodeStyling","targetElement","boxSizing","paddingSize","borderSize","contextStyle","calcTextareaHeight","minRows","maxRows","_calculateNodeStyling","singleRowHeight","minHeight","maxHeight","inputvue_type_script_lang_js_","textareaCalcStyle","focused","isComposing","form","autosize","validateEvent","showWordLimit","needStatusIcon","statusIcon","validating","nativeInputValue","resizeTextarea","setNativeInputValue","updateIconOffset","calcIconOffset","place","elList","pendantMap","pendant","src_inputvue_type_script_lang_js_","input_component","src_input","packages_input","input_numbervue_type_template_id_42f8cf66_render","inputNumberSize","inputNumberDisabled","controls","controlsAtRight","dragstart","decrease","minDisabled","increase","maxDisabled","displayValue","handleInputChange","input_numbervue_type_template_id_42f8cf66_staticRenderFns","repeat_click","clearInterval","input_numbervue_type_script_lang_js_","repeatClick","stepStrictly","controlsPosition","stepPrecision","precisionFactor","_decrease","_increase","numPrecision","dotPosition","setCurrentValue","innerInput","src_input_numbervue_type_script_lang_js_","input_number_component","input_number","packages_input_number","radiovue_type_template_id_69cd6268_render","radioSize","radiovue_type_template_id_69cd6268_staticRenderFns","radiovue_type_script_lang_js_","_radioGroup","temRadioSize","radioGroupSize","src_radiovue_type_script_lang_js_","radio_component","src_radio","packages_radio","radio_groupvue_type_template_id_818a704c_render","_elTag","handleKeydown","radio_groupvue_type_template_id_818a704c_staticRenderFns","LEFT","UP","RIGHT","DOWN","radio_groupvue_type_script_lang_js_","radios","firstLabel","roleRadios","src_radio_groupvue_type_script_lang_js_","radio_group_component","radio_group","packages_radio_group","radio_buttonvue_type_template_id_18a77a32_render","activeStyle","radio_buttonvue_type_template_id_18a77a32_staticRenderFns","radio_buttonvue_type_script_lang_js_","boxShadow","src_radio_buttonvue_type_script_lang_js_","radio_button_component","radio_button","packages_radio_button","checkboxvue_type_template_id_d0387074_render","checkboxSize","trueLabel","falseLabel","$$a","$$el","$$c","$$i","checkboxvue_type_template_id_d0387074_staticRenderFns","checkboxvue_type_script_lang_js_","selfModel","isLimitExceeded","_checkboxGroup","isLimitDisabled","temCheckboxSize","checkboxGroupSize","addToStore","src_checkboxvue_type_script_lang_js_","checkbox_component","src_checkbox","packages_checkbox","checkbox_buttonvue_type_template_id_478e906e_render","checkbox_buttonvue_type_template_id_478e906e_staticRenderFns","checkbox_buttonvue_type_script_lang_js_","_checkboxGroup2","src_checkbox_buttonvue_type_script_lang_js_","checkbox_button_component","checkbox_button","packages_checkbox_button","checkbox_groupvue_type_template_id_7289a290_render","checkbox_groupvue_type_template_id_7289a290_staticRenderFns","checkbox_groupvue_type_script_lang_js_","src_checkbox_groupvue_type_script_lang_js_","checkbox_group_component","checkbox_group","packages_checkbox_group","componentvue_type_template_id_2dcd8fbb_render","switchDisabled","switchValue","activeValue","inactiveValue","inactiveIconClass","inactiveText","coreWidth","activeIconClass","activeText","componentvue_type_template_id_2dcd8fbb_staticRenderFns","switch_src_componentvue_type_script_lang_js_","activeColor","inactiveColor","newColor","packages_switch_src_componentvue_type_script_lang_js_","src_component_component","switch_src_component","packages_switch","selectvue_type_template_id_0e4aade6_render","selectvue_type_template_id_0e4aade6_staticRenderFns","select_dropdown_component","optionvue_type_template_id_7a44c642_render","optionvue_type_template_id_7a44c642_staticRenderFns","option_component","packages_select","packages_option","option_groupvue_type_template_id_6685e5de_render","option_groupvue_type_template_id_6685e5de_staticRenderFns","option_groupvue_type_script_lang_js_","src_option_groupvue_type_script_lang_js_","option_group_component","option_group","packages_option_group","buttonvue_type_template_id_ca859fb4_render","buttonSize","buttonDisabled","plain","nativeType","buttonvue_type_template_id_ca859fb4_staticRenderFns","buttonvue_type_script_lang_js_","src_buttonvue_type_script_lang_js_","button_component","src_button","packages_button","button_groupvue_type_template_id_3d8661d0_render","button_groupvue_type_template_id_3d8661d0_staticRenderFns","button_groupvue_type_script_lang_js_","src_button_groupvue_type_script_lang_js_","button_group_component","button_group","packages_button_group","tablevue_type_template_id_493fe34e_render","fit","stripe","isHidden","scrollX","scrollY","isComplex","tableSize","handleMouseLeave","showHeader","handleHeaderFooterMousewheel","bodyWidth","defaultSort","scrollPosition","bodyHeight","rowClassName","rowStyle","highlightCurrentRow","emptyBlockStyle","showSummary","sumText","summaryMethod","fixedColumns","handleFixedMousewheel","fixedWidth","fixedHeight","headerHeight","fixedBodyHeight","appendHeight","rightFixedColumns","rightFixedWidth","gutterWidth","resizeProxyVisible","tablevue_type_template_id_493fe34e_staticRenderFns","external_throttle_debounce_","external_normalize_wheel_","external_normalize_wheel_default","isFirefox","mousewheel_mousewheel","directives_mousewheel","util_typeof","getCell","cell","util_isObject","util_orderBy","sortKey","sortMethod","sortBy","$value","getColumnById","table","columnId","columns","getColumnByKey","columnKey","getColumnByCell","getRowIdentity","rowKey","getKeysMap","arrayMap","parseWidth","parseMinWidth","parseHeight","compose","funcs","toggleRowStatus","statusArr","included","addRow","removeRow","walkTreeNode","lazyKey","isNil","_walker","defaultExpandAll","expandRows","updateExpandRows","_states","_states$data","expandRowsMap","rowId","rowInfo","toggleRowExpansion","scheduleLayout","setExpandRowKeys","rowKeys","assertRowKey","_states2","keysMap","isRowExpanded","_states3","_states3$expandRows","expandMap","store_current","_currentRowKey","currentRow","setCurrentRowKey","setCurrentRowByKey","restoreCurrentRowKey","updateCurrentRow","oldCurrentRow","updateCurrentRowData","currentRowKey","expandRowKeys","treeData","indent","lazyTreeNodeMap","lazyColumnIdentifier","childrenColumnName","normalizedData","normalizedLazyNode","parentId","updateTreeData","newTreeData","oldTreeData","rootLazyRowKeys","getExpanded","newValue","_ref$loaded","_ref$loading","lazyKeys","lazyNodeChildren","_ref2$loaded","_ref2$loading","updateTableScrollY","updateTreeExpandKeys","toggleTreeExpansion","_states4","oldExpanded","loadOrToggle","_states5","loadData","treeNode","rawTreeData","_states6","watcher_sortData","sortingColumn","sortable","sortProp","doFlattenColumns","_columns","originColumns","leafColumns","fixedLeafColumns","rightFixedLeafColumns","leafColumnsLength","fixedLeafColumnsLength","rightFixedLeafColumnsLength","isAllSelected","reserveSelection","selectOnIndeterminate","selectable","filteredData","hoverRow","updateColumns","notFixedColumns","needUpdateColumns","debouncedUpdateLayout","_states$selection","clearSelection","oldSelection","cleanSelection","deleted","dataMap","newSelection","toggleRowSelection","_toggleAllSelection","selectionChanged","updateSelectionByRowKey","updateAllSelected","selectedCount","isRowSelectable","updateFilters","updateSort","execFilter","execSort","execQuery","clearFilter","columnKeys","_table$$refs","tableHeader","fixedTableHeader","rightFixedTableHeader","panels","filterPanels","filteredValue","multi","clearSort","setExpandRowKeysAdapter","toggleRowExpansionAdapter","hasExpandColumn","dataInstanceChanged","insertColumn","$ready","removeColumn","changeSortCondition","ingore","filterChange","newFilters","toggleAllSelection","rowSelectedChanged","setHoverRow","setCurrentRow","updateScrollY","createStore","initialState","mapStates","mapper","table_layout_TableLayout","TableLayout","observers","tableHeight","footerHeight","viewportHeight","bodyWrapper","prevScrollY","setHeight","updateElsHeight","setMaxHeight","getFlattenColumns","flattenColumns","isColumnGroup","headerWrapper","appendWrapper","footerWrapper","headerTrElm","noneHeader","headerDisplayNone","noData","notifyObservers","headerChild","parentElement","updateColumnsWidth","bodyMinWidth","flexColumns","realWidth","scrollYWidth","totalFlexWidth","allColumnsWidth","flexWidthPerPixel","noneFirstWidth","flexWidth","resizeState","addObserver","removeObserver","onColumnsChange","onScrollableChange","table_layout","layout_observer","tableLayout","__updated__","cols","ths","_j","table_body_typeof","table_body_extends","table_body","cellspacing","cellpadding","wrappedRowRender","tooltipEffect","treeIndent","leftFixedLeafCount","rightFixedLeafCount","columnsCount","leftFixedCount","rightFixedCount","firstDefaultColumnIndex","rows","oldRow","newRow","activateTooltip","getKeyOfRow","isColumnHidden","getSpan","rowIndex","columnIndex","rowspan","colspan","spanMethod","getRowStyle","getRowClass","getCellStyle","cellStyle","getCellClass","cellClassName","getColspanRealWidth","widthArr","handleCellMouseEnter","hoverState","cellChild","createRange","setStart","setEnd","rangeWidth","innerText","handleCellMouseLeave","oldHoverState","handleMouseEnter","handleContextMenu","handleEvent","handleDoubleClick","rowRender","treeRowData","columnsHidden","rowClasses","displayStyle","cellIndex","_getSpan","columnData","noLazyChildren","renderCell","_store$states","renderExpanded","innerTreeRowData","childKey","filter_panelvue_type_template_id_7f2c919f_render","handleOutsideClick","handleConfirm","handleReset","filterValue","handleSelect","filter_panelvue_type_template_id_7f2c919f_staticRenderFns","dropdowns","src_dropdown","checkbox_group_","checkbox_group_default","filter_panelvue_type_script_lang_js_","ElCheckboxGroup","confirmFilter","filterMultiple","filterOpened","_popper","src_filter_panelvue_type_script_lang_js_","filter_panel_component","filter_panel","table_header_extends","getAllColumns","convertToRows","maxLevel","colSpan","subColumn","allColumns","rowSpan","table_header","columnRows","hasGutter","getHeaderRowStyle","getHeaderRowClass","handleMouseOut","handleMouseDown","handleHeaderClick","handleHeaderContextMenu","getHeaderCellStyle","getHeaderCellClass","labelClassName","renderHeader","handleSortClick","handleFilterClick","_defaultSort","isCellHidden","headerRowStyle","headerRowClassName","headerCellStyle","headerAlign","headerCellClassName","filterPanel","filterPlacement","draggingColumn","tableEl","tableLeft","columnEl","columnRect","minLeft","dragState","startMouseLeft","startLeft","startColumnLeft","resizeProxy","deltaLeft","proxyLeft","handleMouseUp","_dragState","finalLeft","resizable","toggleOrder","sortOrders","givenOrder","table_footer_extends","table_footer","precisions","notNumber","decimal","getRowClasses","tablevue_type_script_lang_js_extends","tableIdSeed","tablevue_type_script_lang_js_","Mousewheel","treeProps","TableHeader","TableFooter","TableBody","spinY","currentScrollTop","pixelY","pixelX","syncPostion","_bodyWrapper","_$refs","fixedBodyWrapper","rightFixedBodyWrapper","maxScrollLeftPosition","bindEvents","resizeListener","unbindEvents","shouldUpdateLayout","_resizeState","oldWidth","oldHeight","shouldUpdateHeight","doLayout","_layout2","_layout2$headerHeight","_layout2$footerHeight","tableData","tableId","_treeProps","_treeProps$hasChildre","_treeProps$children","src_tablevue_type_script_lang_js_","table_component","src_table","packages_table","cellStarts","cellForced","defaultRenderCell","treeCellPrefix","expandClasses","iconClasses","table_column_extends","columnIdSeed","table_column","showTooltipWhenOverflow","showOverflowTooltip","isSubColumn","columnOrTableParent","realMinWidth","realAlign","realHeaderAlign","getPropsData","getColumnElIndex","setColumnWidth","setColumnForcedProps","setColumnRenders","header","originRenderCell","registerNormalWatchers","aliases","allAliases","columnConfig","registerComplexWatchers","basicProps","sortProps","selectProps","filterProps","chains","hiddenColumns","packages_table_column","pickervue_type_template_id_79ae069f_render","ranged","pickerSize","pickerDisabled","pickerVisible","handleRangeClick","triggerClass","startPlaceholder","editable","handleStartInput","handleStartChange","firstInputId","rangeSeparator","endPlaceholder","handleEndInput","handleEndChange","secondInputId","haveTrigger","clearIcon","handleClickIcon","pickervue_type_template_id_79ae069f_staticRenderFns","date_util_","NewPopper","DEFAULT_FORMATS","month","datetime","week","timerange","daterange","monthrange","datetimerange","year","HAVE_TRIGGER_TYPES","pickervue_type_script_lang_js_DATE_FORMATTER","pickervue_type_script_lang_js_DATE_PARSER","RANGE_FORMATTER","RANGE_PARSER","range1","range2","TYPE_VALUE_RESOLVER_MAP","trueDate","setHours","setDate","getDay","dates","PLACEMENT_MAP","parseAsFormatAndType","customFormat","formatAsFormatAndType","valueEquals","dateEquals","aIsDate","bIsDate","aIsArray","bIsArray","pickervue_type_script_lang_js_validator","pickervue_type_script_lang_js_","valueFormat","defaultTime","pickerOptions","unlinkPanels","valueOnOpen","unwatchPickerOptions","showPicker","hidePicker","parsedValue","picker","refInput","valueIsEmpty","selectionMode","showTrigger","valueIsDateObject","handleFieldReset","parseValue","isParsed","formatToValue","isFormattable","parseString","formatToString","emitInput","initialValue","resetView","mountPicker","adjustSpinners","showTime","arrowControl","timeArrowControl","updateOptions","selectableRange","ranges","setSelectionRange","unmountPicker","formatted","src_pickervue_type_script_lang_js_","picker_component","datevue_type_template_id_2440d4ea_render","handleEnter","handleLeave","sidebar","shortcuts","shortcut","handleShortcutClick","visibleDate","userInputDate","handleVisibleDateChange","handleTimePickClose","visibleTime","timePickerVisible","userInputTime","handleVisibleTimeChange","pick","handleTimePick","proxyTimePickerDataProperties","currentView","prevYear","prevMonth","showYearPicker","yearLabel","showMonthPicker","nextYear","nextMonth","firstDayOfWeek","disabledDate","handleDatePick","handleYearPick","handleMonthPick","footerVisible","changeToNow","confirm","datevue_type_template_id_2440d4ea_staticRenderFns","timevue_type_template_id_3d939089_render","showSeconds","useArrow","amPmMode","handleCancel","timevue_type_template_id_3d939089_staticRenderFns","time_spinnervue_type_template_id_1facadeb_render","emitSelectRange","adjustCurrentSpinner","hoursList","hours","amPm","minutesList","enabled","minutes","seconds","arrowHourList","arrowMinuteList","minute","arrowSecondList","time_spinnervue_type_template_id_1facadeb_staticRenderFns","time_spinnervue_type_script_lang_js_","getHours","getMinutes","getSeconds","currentScrollbar","bindScrollEvent","scrollDown","modifyDateField","adjustSpinner","bindFuntion","onscroll","scrollBarHeight","typeItemHeight","shouldShowAmPm","isCapital","basic_time_spinnervue_type_script_lang_js_","time_spinner_component","time_spinner","timevue_type_script_lang_js_","TimeSpinner","needInitAdjust","selectionRange","39","changeSelectionRange","_step","panel_timevue_type_script_lang_js_","time_component","panel_time","year_tablevue_type_template_id_c86ab5e0_render","handleYearTableClick","startYear","year_tablevue_type_template_id_c86ab5e0_staticRenderFns","year_tablevue_type_script_lang_js_datesInYear","numOfDays","firstDay","year_tablevue_type_script_lang_js_","today","basic_year_tablevue_type_script_lang_js_","year_table_component","year_table","month_tablevue_type_template_id_654d4f42_render","handleMonthTableClick","months","month_tablevue_type_template_id_654d4f42_staticRenderFns","month_tablevue_type_script_lang_js_datesInMonth","clearDate","getMonthTimestamp","month_tablevue_type_script_lang_js_","minDate","maxDate","rangeState","endDate","selecting","markRange","tableRows","lastRow","cellMatchesDate","getMonthOfCell","newDate","selectedDate","isToday","cellDate","basic_month_tablevue_type_script_lang_js_","month_table_component","month_table","date_tablevue_type_template_id_5d1f3341_render","showWeekNumber","WEEKS","isWeekActive","getCellClasses","date_tablevue_type_template_id_5d1f3341_staticRenderFns","_WEEKS","date_tablevue_type_script_lang_js_getDateTimestamp","date_tablevue_type_script_lang_js_removeFromArray","pred","date_tablevue_type_script_lang_js_","offsetDay","startDate","day","dateCountOfMonth","dateCountOfLastMonth","numberOfDaysFromPreviousMonth","getDateOfCell","offsetFromStart","setMonth","setFullYear","dayOffset","weekDate","_cell","weekNumber","basic_date_tablevue_type_script_lang_js_","date_table_component","date_table","datevue_type_script_lang_js_","inputElm","pickerWidth","getDefaultValue","timepicker","timeFormat","_date","_selectableRange","onClick","checkDateWithinRange","handleKeyControl","monthDate","dateFormat","TimePicker","YearTable","MonthTable","DateTable","yearTranslation","panel_datevue_type_script_lang_js_","date_component","panel_date","date_rangevue_type_template_id_2652849a_render","minVisibleDate","handleDateInput","handleDateChange","handleMinTimeClose","minVisibleTime","minTimePickerVisible","handleTimeInput","handleTimeChange","handleMinTimePick","minTimePicker","maxVisibleDate","handleMaxTimeClose","maxVisibleTime","maxTimePickerVisible","handleMaxTimePick","maxTimePicker","leftPrevYear","leftPrevMonth","enableYearArrow","leftNextYear","enableMonthArrow","leftNextMonth","leftLabel","leftDate","changerange","handleChangeRange","handleRangePick","rightPrevYear","rightPrevMonth","rightNextYear","rightNextMonth","rightLabel","rightDate","btnDisabled","date_rangevue_type_template_id_2652849a_staticRenderFns","date_rangevue_type_script_lang_js_calcDefaultValue","date_rangevue_type_script_lang_js_","leftYear","leftMonth","leftMonthDate","rightYear","rightMonth","rightMonthDate","dateUserInput","timeUserInput","yearOffset","minDateYear","minDateMonth","maxDateYear","maxDateMonth","_calcDefaultValue","onPick","panel_date_rangevue_type_script_lang_js_","date_range_component","date_range","month_rangevue_type_template_id_f2645fb8_render","month_rangevue_type_template_id_f2645fb8_staticRenderFns","month_rangevue_type_script_lang_js_calcDefaultValue","month_rangevue_type_script_lang_js_","panel_month_rangevue_type_script_lang_js_","month_range_component","month_range","date_picker_getPanel","date_picker","packages_date_picker","time_selectvue_type_template_id_51ab9320_render","time_selectvue_type_template_id_51ab9320_staticRenderFns","parseTime","compareTime","time1","time2","value1","value2","minutes1","minutes2","nextTime","timeValue","stepValue","time_selectvue_type_script_lang_js_","hasDefault","minTime","maxTime","panel_time_selectvue_type_script_lang_js_","time_select_component","time_select","picker_time_select","packages_time_select","time_rangevue_type_template_id_fb28660e_render","handleMinChange","setMinSelectionRange","handleMaxChange","setMaxSelectionRange","time_rangevue_type_template_id_fb28660e_staticRenderFns","MIN_TIME","MAX_TIME","time_rangevue_type_script_lang_js_minTimeOfDay","time_rangevue_type_script_lang_js_maxTimeOfDay","advanceTime","time_rangevue_type_script_lang_js_","minSpinner","maxSpinner","minSelectableRange","maxSelectableRange","half","panel_time_rangevue_type_script_lang_js_","time_range_component","time_range","time_picker","_isRange","packages_time_picker","mainvue_type_template_id_52060272_render","handleAfterEnter","handleAfterLeave","mainvue_type_template_id_52060272_staticRenderFns","mainvue_type_script_lang_js_","doToggle","handleDocumentClick","doShow","src_mainvue_type_script_lang_js_","main_component","getReference","popover","src_main","packages_tooltip","mainvue_type_template_id_6b29b012_render","distinguishCancelAndClose","dangerouslyUseHTMLString","showInput","inputType","inputPlaceholder","handleInputEnter","inputValue","editorErrorMessage","showCancelButton","cancelButtonClasses","cancelButtonLoading","roundButton","cancelButtonText","showConfirmButton","confirmButtonClasses","confirmButtonLoading","confirmButtonText","mainvue_type_template_id_6b29b012_staticRenderFns","lib_locale_","lib_locale_default","aria_dialog_","aria_dialog_default","messageBox","typeMap","warning","message_box_src_mainvue_type_script_lang_js_","closeOnHashChange","confirmButtonClass","cancelButtonClass","getSafeClose","currentId","closeDialog","$type","inputPattern","inputErrorMessage","getInputElement","inputValidator","validateResult","getFirstFocus","inputRefs","focusAfterClosed","confirmButtonDisabled","packages_message_box_src_mainvue_type_script_lang_js_","src_main_component","message_box_src_main","vdom_","main_typeof","main_defaults","confirmButtonPosition","confirmButtonHighlight","cancelButtonHighlight","MessageBoxConstructor","currentMsg","main_instance","msgQueue","defaultCallback","initInstance","main_showNextMsg","showNextMsg","closeTimer","oldCb","main_MessageBox","MessageBox","setDefaults","alert","prompt","packages_message_box_src_main","message_box","breadcrumbvue_type_template_id_4b464c06_render","breadcrumbvue_type_template_id_4b464c06_staticRenderFns","breadcrumbvue_type_script_lang_js_","separatorClass","elBreadcrumb","src_breadcrumbvue_type_script_lang_js_","breadcrumb_component","packages_breadcrumb","breadcrumb_itemvue_type_template_id_fcf9eaac_render","breadcrumb_itemvue_type_template_id_fcf9eaac_staticRenderFns","breadcrumb_itemvue_type_script_lang_js_","src_breadcrumb_itemvue_type_script_lang_js_","breadcrumb_item_component","breadcrumb_item","packages_breadcrumb_item","formvue_type_template_id_a1b5ff34_render","inline","formvue_type_template_id_a1b5ff34_staticRenderFns","formvue_type_script_lang_js_","rules","labelWidth","labelSuffix","inlineMessage","showMessage","validateOnRuleChange","hideRequiredAsterisk","fields","field","removeValidateEvents","addValidateEvents","autoLabelWidth","potentialLabelWidthArr","resetFields","resetField","clearValidate","valid","invalidFields","validateField","getLabelWidthIndex","registerLabelWidth","deregisterLabelWidth","src_formvue_type_script_lang_js_","form_component","src_form","packages_form","form_itemvue_type_template_id_b6f3db6c_render","isRequired","sizeClass","labelStyle","labelFor","contentStyle","validateMessage","form_itemvue_type_template_id_b6f3db6c_staticRenderFns","label_wrap_render","label_wrap_staticRenderFns","external_async_validator_","external_async_validator_default","label_wrapvue_type_script_lang_js_","isAutoWidth","updateAll","computedWidth","getLabelWidth","updateLabelWidth","updateComputedLabelWidth","src_label_wrapvue_type_script_lang_js_","label_wrap_component","label_wrap","form_itemvue_type_script_lang_js_","LabelWrap","computedLabelWidth","parentName","fieldValue","getRules","rule","_formSize","validateDisabled","getFilteredRule","firstFields","errors","formRules","selfRules","requiredRule","onFieldBlur","onFieldChange","src_form_itemvue_type_script_lang_js_","form_item_component","form_item","packages_form_item","tab_barvue_type_template_id_2031f33a_render","rootTabs","tabPosition","tab_barvue_type_template_id_2031f33a_staticRenderFns","tab_barvue_type_script_lang_js_","tabs","tabSize","sizeName","sizeDir","firstUpperCase","paneName","tabStyles","src_tab_barvue_type_script_lang_js_","tab_bar_component","tab_bar","tab_nav_render","tab_nav_staticRenderFns","tab_navvue_type_script_lang_js_firstUpperCase","tab_navvue_type_script_lang_js_","TabBar","panes","onTabClick","onTabRemove","stretch","scrollable","navOffset","isFocus","focusable","navStyle","scrollPrev","containerSize","navScroll","currentOffset","newOffset","scrollNext","navSize","nav","scrollToActiveTab","activeTab","activeTabBounding","navScrollBounding","_currentOffset","changeTab","tabList","setFocus","removeFocus","visibilityChangeHandler","visibilityState","windowBlurHandler","windowFocusHandler","scrollBtn","pane","tabName","isClosable","btnClose","tabLabelContent","src_tab_navvue_type_script_lang_js_","tab_nav_component","tabs_render","tabs_staticRenderFns","tab_nav","tabsvue_type_script_lang_js_","TabNav","activeName","addable","setCurrentName","calcPaneInstances","isForceUpdate","paneSlots","panesChanged","handleTabClick","handleTabRemove","handleTabAdd","changeCurrentName","newButton","navData","src_tabsvue_type_script_lang_js_","tabs_component","packages_tabs","tab_panevue_type_template_id_9145a070_render","tab_panevue_type_template_id_9145a070_staticRenderFns","tab_panevue_type_script_lang_js_","labelContent","src_tab_panevue_type_script_lang_js_","tab_pane_component","tab_pane","tag_render","tag_staticRenderFns","packages_tab_pane","tagvue_type_script_lang_js_","disableTransitions","tagSize","tagEl","src_tagvue_type_script_lang_js_","tag_component","src_tag","packages_tag","treevue_type_template_id_547575a6_render","highlightCurrent","draggingNode","allowDrop","dropType","getNodeKey","renderAfterExpand","showCheckbox","handleNodeExpand","showDropIndicator","treevue_type_template_id_547575a6_staticRenderFns","NODE_KEY","markNodeData","util_getNodeKey","findNearestComponent","node_classCallCheck","getChildState","none","allWithoutDisable","reInitChecked","_getChildState","getPropertyFromData","dataProp","nodeIdSeed","isCurrent","registerNode","isLeafByUser","defaultExpandedKeys","autoExpandParent","currentNodeKey","currentNode","_initDefaultCheckedNode","updateLeafState","insertChild","getChildren","deregisterNode","removeChildByData","expandParent","shouldLoadData","setChecked","doCreateChildren","defaultProps","passValue","checkDescendants","_getChildState2","handleDescendants","isCheck","_getChildState3","_all","forceInit","newDataMap","newNodes","isNodeExists","nodeKey","model_node","tree_store_typeof","tree_store_classCallCheck","tree_store_TreeStore","TreeStore","nodesMap","loadFn","_initDefaultCheckedNodes","filterNodeMethod","allHidden","instanceChanged","getNode","refData","refNode","defaultCheckedKeys","checkedKey","setDefaultCheckedKey","includeHalfChecked","checkedNodes","getCheckedKeys","getHalfCheckedNodes","getHalfCheckedKeys","_getAllNodes","allNodes","_child","_setCheckedKeys","checkedKeys","setCheckedNodes","setCheckedKeys","setDefaultExpandedKeys","getCurrentNode","setCurrentNode","prevCurrentNode","setUserCurrentNode","currNode","setCurrentNodeKey","tree_store","tree_nodevue_type_template_id_3ba3ef0e_render","contextmenu","handleDragStart","dragover","handleDragOver","dragend","handleDragEnd","drop","handleDrop","handleExpandIconClick","childNodeRendered","handleChildNodeExpand","tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns","tree_nodevue_type_script_lang_js_","NodeContent","oldChecked","oldIndeterminate","handleSelectChange","expandOnClickNode","checkOnClickNode","halfCheckedNodes","halfCheckedKeys","isTree","accordion","src_tree_nodevue_type_script_lang_js_","tree_node_component","tree_node","treevue_type_script_lang_js_","ElTreeNode","treeItems","checkboxItems","dropNode","allowDrag","treeItemArray","getNodePath","getCurrentKey","setCurrentKey","updateKeyChildren","initTabIndex","checkedItem","currentItem","hasInput","dataTransfer","effectAllowed","oldDropNode","dropPrev","dropInner","dropNext","userAllowDropInner","dropEffect","previousSibling","targetPosition","treePosition","prevPercent","nextPercent","indicatorTop","iconPosition","dropIndicator","draggingNodeCopy","src_treevue_type_script_lang_js_","tree_component","src_tree","packages_tree","mainvue_type_template_id_6e53341b_render","typeClass","showIcon","isBigIcon","isBoldTitle","closeText","mainvue_type_template_id_6e53341b_staticRenderFns","TYPE_CLASSES_MAP","alert_src_mainvue_type_script_lang_js_","packages_alert_src_mainvue_type_script_lang_js_","alert_src_main_component","alert_src_main","packages_alert","mainvue_type_template_id_43dbc3d8_render","horizontalClass","positionStyle","clearTimer","startTimer","mainvue_type_template_id_43dbc3d8_staticRenderFns","mainvue_type_script_lang_js_typeMap","notification_src_mainvue_type_script_lang_js_","verticalOffset","verticalProperty","destroyElement","packages_notification_src_mainvue_type_script_lang_js_","notification_src_main_component","notification_src_main","NotificationConstructor","src_main_instance","main_Notification","Notification","userOnClose","removedHeight","closeAll","packages_notification_src_main","notification","mainvue_type_template_id_32708644_render","sliderDisabled","showInputControls","firstValue","runwayStyle","onSliderClick","tooltipClass","secondValue","showStops","getStopStyle","markList","mark","mainvue_type_template_id_32708644_staticRenderFns","input_number_","input_number_default","buttonvue_type_template_id_e72d2ad2_render","wrapperStyle","onButtonDown","touchstart","onLeftKeyDown","onRightKeyDown","showTooltip","formatValue","buttonvue_type_template_id_e72d2ad2_staticRenderFns","slider_src_buttonvue_type_script_lang_js_","isClick","currentX","currentY","startPosition","newPosition","currentPosition","enableFormat","displayTooltip","hideTooltip","onDragStart","onDragging","setPosition","resetSize","sliderSize","lengthPerStep","steps","packages_slider_src_buttonvue_type_script_lang_js_","src_button_component","slider_src_button","slider_src_mainvue_type_script_lang_js_","marks","ElInputNumber","SliderButton","SliderMarker","setValues","valueChanged","targetValue","button1","sliderOffsetBottom","slider","sliderOffsetLeft","stopCount","stepWidth","marksKeys","barSize","barStart","valuetext","packages_slider_src_mainvue_type_script_lang_js_","slider_src_main_component","slider_src_main","loadingvue_type_template_id_eee0a7ac_render","loadingvue_type_template_id_eee0a7ac_staticRenderFns","loadingvue_type_script_lang_js_","src_loadingvue_type_script_lang_js_","loading_component","after_leave_","after_leave_default","Mask","loadingDirective","toggleLoading","originalPosition","originalOverflow","maskStyle","mask","insertDom","hiding","domVisible","domInserted","textExr","spinnerExr","backgroundExr","customClassExr","src_directive","LoadingConstructor","src_defaults","fullscreenLoading","src_addStyle","src_Loading","packages_loading","$loading","service","iconvue_type_template_id_cb3fe7f4_render","iconvue_type_template_id_cb3fe7f4_staticRenderFns","iconvue_type_script_lang_js_","src_iconvue_type_script_lang_js_","icon_component","packages_icon","src_row","justify","packages_row","col_typeof","pull","sm","md","xl","packages_col","upload_listvue_type_template_id_173fedf5_render","listType","files","alt","percentage","parsePercentage","handlePreview","upload_listvue_type_template_id_173fedf5_staticRenderFns","progress_","progress_default","upload_listvue_type_script_lang_js_","ElProgress","src_upload_listvue_type_script_lang_js_","upload_list_component","upload_list","getError","getBody","upload","onprogress","formData","FormData","filename","onSuccess","withCredentials","upload_draggervue_type_template_id_7ebbf219_render","onDrop","onDragover","dragleave","upload_draggervue_type_template_id_7ebbf219_staticRenderFns","upload_draggervue_type_script_lang_js_","uploader","accept","extension","baseType","acceptedType","src_upload_draggervue_type_script_lang_js_","upload_dragger_component","upload_render","upload_staticRenderFns","upload_dragger","uploadvue_type_script_lang_js_","UploadDragger","onStart","beforeUpload","drag","onPreview","onRemove","fileList","autoUpload","httpRequest","onExceed","mouseover","reqs","isImage","uploadFiles","postFiles","rawFile","post","processedFile","fileType","File","req","src_uploadvue_type_script_lang_js_","upload_component","src_upload","srcvue_type_script_lang_js_noop","src_render","src_staticRenderFns","srcvue_type_script_lang_js_","UploadList","Upload","dragger","showFileList","beforeRemove","onChange","dragOver","draging","tempIndex","uploadDisabled","URL","createObjectURL","handleStart","handleProgress","getFile","handleSuccess","handleRemove","doRemove","clearFiles","revokeObjectURL","uploadList","uploadData","uploadComponent","tip","upload_srcvue_type_script_lang_js_","upload_src_component","upload_src","packages_upload","progressvue_type_template_id_229ee406_render","showText","textInside","trailPathStyle","trackPath","relativeStrokeWidth","circlePathStyle","strokeLinecap","progressTextSize","progressvue_type_template_id_229ee406_staticRenderFns","progressvue_type_script_lang_js_","getCurrentColor","isDashboard","perimeter","rate","strokeDashoffset","strokeDasharray","getLevelColor","getColorArray","src_progressvue_type_script_lang_js_","progress_component","packages_progress","spinnervue_type_template_id_697b8538_render","strokeColor","spinnervue_type_template_id_697b8538_staticRenderFns","spinnervue_type_script_lang_js_","src_spinnervue_type_script_lang_js_","spinner_component","packages_spinner","mainvue_type_template_id_455b9f60_render","mainvue_type_template_id_455b9f60_staticRenderFns","src_mainvue_type_script_lang_js_typeMap","message_src_mainvue_type_script_lang_js_","packages_message_src_mainvue_type_script_lang_js_","message_src_main_component","message_src_main","types_","main_extends","MessageConstructor","message_src_main_instance","main_instances","main_seed","main_Message","Message","packages_message_src_main","packages_message","mainvue_type_template_id_7ccb6598_render","isDot","mainvue_type_template_id_7ccb6598_staticRenderFns","badge_src_mainvue_type_script_lang_js_","packages_badge_src_mainvue_type_script_lang_js_","badge_src_main_component","badge_src_main","badge","mainvue_type_template_id_59a4a40f_render","mainvue_type_template_id_59a4a40f_staticRenderFns","card_src_mainvue_type_script_lang_js_","packages_card_src_mainvue_type_script_lang_js_","card_src_main_component","card_src_main","card","mainvue_type_template_id_ada57782_render","handleKey","rateDisabled","resetCurrentValue","selectValue","getIconStyle","showDecimalIcon","decimalIconClass","decimalStyle","showScore","mainvue_type_template_id_ada57782_staticRenderFns","rate_src_mainvue_type_script_lang_js_","pointerAtLeftHalf","lowThreshold","highThreshold","voidColor","disabledVoidColor","voidIconClass","disabledVoidIconClass","allowHalf","texts","scoreTemplate","valueDecimal","classMap","excluded","getValueFromMap","voidClass","colorMap","threshold","matchedKeys","matchedValue","showWhenDisabled","showWhenAllowHalf","packages_rate_src_mainvue_type_script_lang_js_","rate_src_main_component","rate_src_main","stepsvue_type_template_id_3c6b6dc0_render","stepsvue_type_template_id_3c6b6dc0_staticRenderFns","stepsvue_type_script_lang_js_","alignCenter","finishStatus","processStatus","stepOffset","_steps","src_stepsvue_type_script_lang_js_","steps_component","packages_steps","stepvue_type_template_id_f414a87a_render","isSimple","isLast","isCenter","isVertical","currentStatus","stepvue_type_template_id_f414a87a_staticRenderFns","stepvue_type_script_lang_js_","internalStatus","prevStatus","prevStep","stepsCount","flexBasis","updateStatus","prevChild","calcProgress","transitionDelay","unwatch","src_stepvue_type_script_lang_js_","step_component","packages_step","mainvue_type_template_id_5d5d1482_render","carouselClasses","arrowDisplay","arrow","handleButtonEnter","handleButtonLeave","throttledArrowClick","indicatorPosition","indicatorsClasses","throttledIndicatorHover","handleIndicatorClick","hasLabel","mainvue_type_template_id_5d5d1482_staticRenderFns","throttle_","throttle_default","carousel_src_mainvue_type_script_lang_js_","initialIndex","autoplay","containerWidth","setActiveItem","resetItemPosition","pauseTimer","itemInStage","inStage","updateItems","translateItem","playSlides","resetTimer","filteredItems","handleIndicatorHover","packages_carousel_src_mainvue_type_script_lang_js_","carousel_src_main_component","carousel_src_main","carousel","scrollbar_src_main","itemvue_type_template_id_1801ae19_render","animating","itemvue_type_template_id_1801ae19_staticRenderFns","CARD_SCALE","itemvue_type_script_lang_js_","processIndex","calcCardTranslate","parentWidth","calcTranslate","parentType","parentDirection","translateType","src_itemvue_type_script_lang_js_","item_component","src_item","carousel_item","collapsevue_type_template_id_461d57f4_render","collapsevue_type_template_id_461d57f4_staticRenderFns","collapsevue_type_script_lang_js_","activeNames","setActiveNames","src_collapsevue_type_script_lang_js_","collapse_component","packages_collapse","collapse_itemvue_type_template_id_2d05faac_render","handleEnterClick","collapse_itemvue_type_template_id_2d05faac_staticRenderFns","collapse_itemvue_type_script_lang_js_","contentWrapStyle","contentHeight","src_collapse_itemvue_type_script_lang_js_","collapse_item_component","collapse_item","packages_collapse_item","cascadervue_type_template_id_032537a6_render","toggleDropDownVisible","realSize","inputHover","dropDownVisible","presentText","clearBtnVisible","presentTags","handleDelete","handleDropdownLeave","filtering","handleExpandChange","handleSuggestionKeyDown","handleSuggestionClick","cascadervue_type_template_id_032537a6_staticRenderFns","cascader_panel_","cascader_panel_default","MigratingProps","changeOnSelect","PopperMixin","InputSizeMap","cascadervue_type_script_lang_js_","ElCascaderPanel","showAllLevels","beforeFilter","inputInitialHeight","pressDeleteCount","oldProp","_MigratingProps$oldPr","computePresentContent","filterHandler","getSuggestions","focusFirstNode","suggestionPanel","firstMenu","computePresentTags","genTag","rest","restCount","previousElementSibling","nextElementSibling","lastTag","inputInner","suggestionPanelEl","src_cascadervue_type_script_lang_js_","cascader_component","cascader","packages_cascader","mainvue_type_template_id_55c8ade7_render","colorDisabled","colorSize","handleTrigger","showAlpha","displayedColor","showPanelColor","predefine","confirmValue","clearValue","mainvue_type_template_id_55c8ade7_staticRenderFns","color_typeof","color_classCallCheck","hsv2hsl","hue","sat","isOnePointZero","isPercentage","bound01","processPercent","INT_HEX_MAP","11","13","14","hexOne","low","HEX_INT_MAP","parseHexChannel","hsl2hsv","light","smin","lmin","sv","rgb2hsv","hsv2rgb","mod","Color","_hue","_saturation","_alpha","enableAlpha","doOnChange","fromString","fromHSV","_hsl2hsv","_parts","_parts2","_rgb2hsv","_rgb2hsv2","_h2","_s2","hsl","_hsv2rgb","_hsl","_hsv2rgb2","_r","src_color","picker_dropdownvue_type_template_id_06601625_render","float","customInput","picker_dropdownvue_type_template_id_06601625_staticRenderFns","sv_panelvue_type_template_id_d8583596_render","cursorTop","cursorLeft","sv_panelvue_type_template_id_d8583596_staticRenderFns","moveFn","upFn","sv_panelvue_type_script_lang_js_","saturation","handleDrag","components_sv_panelvue_type_script_lang_js_","sv_panel_component","sv_panel","hue_slidervue_type_template_id_5cdc43b1_render","thumbLeft","thumbTop","hue_slidervue_type_template_id_5cdc43b1_staticRenderFns","hue_slidervue_type_script_lang_js_","hueValue","getThumbLeft","getThumbTop","dragConfig","components_hue_slidervue_type_script_lang_js_","hue_slider_component","hue_slider","alpha_slidervue_type_template_id_068c66cb_render","alpha_slidervue_type_template_id_068c66cb_staticRenderFns","alpha_slidervue_type_script_lang_js_","getBackground","_color$toRgb","components_alpha_slidervue_type_script_lang_js_","alpha_slider_component","alpha_slider","predefinevue_type_template_id_06e03093_render","rgbaColors","predefinevue_type_template_id_06e03093_staticRenderFns","predefinevue_type_script_lang_js_","parseColors","components_predefinevue_type_script_lang_js_","predefine_component","picker_dropdownvue_type_script_lang_js_","SvPanel","HueSlider","AlphaSlider","Predefine","currentColor","sl","components_picker_dropdownvue_type_script_lang_js_","picker_dropdown_component","picker_dropdown","color_picker_src_mainvue_type_script_lang_js_","colorFormat","displayedRgb","currentValueColor","currentValueColorRgb","resetColor","PickerDropdown","packages_color_picker_src_mainvue_type_script_lang_js_","color_picker_src_main_component","color_picker_src_main","color_picker","mainvue_type_template_id_5c654dd8_render","sourceData","titles","leftDefaultChecked","filterPlaceholder","onSourceCheckedChange","hasButtonTexts","rightChecked","addToLeft","buttonTexts","leftChecked","addToRight","targetData","rightDefaultChecked","onTargetCheckedChange","mainvue_type_template_id_5c654dd8_staticRenderFns","transfer_panelvue_type_template_id_2ddab8bd_render","isIndeterminate","handleAllCheckedChange","allChecked","checkedSummary","hasFooter","inputIcon","clearQuery","hasNoMatch","keyProp","disabledProp","transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns","transfer_panelvue_type_script_lang_js_","OptionContent","transfer","defaultChecked","checkChangeByUser","updateAllChecked","movedKeys","filteredDataKeys","checkableData","checkableDataKeys","checkedLength","noChecked","hasChecked","src_transfer_panelvue_type_script_lang_js_","transfer_panel_component","transfer_panel","transfer_src_mainvue_type_script_lang_js_","TransferPanel","targetOrder","dataObj","itemsToBeMoved","itemKey","leftPanel","rightPanel","packages_transfer_src_mainvue_type_script_lang_js_","transfer_src_main_component","transfer_src_main","mainvue_type_template_id_5bf181d4_render","mainvue_type_template_id_5bf181d4_staticRenderFns","container_src_mainvue_type_script_lang_js_","packages_container_src_mainvue_type_script_lang_js_","container_src_main_component","container_src_main","packages_container","mainvue_type_template_id_2b296ab2_render","mainvue_type_template_id_2b296ab2_staticRenderFns","header_src_mainvue_type_script_lang_js_","packages_header_src_mainvue_type_script_lang_js_","header_src_main_component","header_src_main","mainvue_type_template_id_03411dbf_render","mainvue_type_template_id_03411dbf_staticRenderFns","aside_src_mainvue_type_script_lang_js_","packages_aside_src_mainvue_type_script_lang_js_","aside_src_main_component","aside_src_main","aside","mainvue_type_template_id_2a3a7406_render","mainvue_type_template_id_2a3a7406_staticRenderFns","main_src_mainvue_type_script_lang_js_","packages_main_src_mainvue_type_script_lang_js_","main_src_main_component","main_src_main","packages_main","mainvue_type_template_id_80210338_render","mainvue_type_template_id_80210338_staticRenderFns","footer_src_mainvue_type_script_lang_js_","packages_footer_src_mainvue_type_script_lang_js_","footer_src_main_component","footer_src_main","main_render","main_staticRenderFns","timeline_src_mainvue_type_script_lang_js_","packages_timeline_src_mainvue_type_script_lang_js_","timeline_src_main_component","timeline_src_main","itemvue_type_template_id_61a69e50_render","hideTimestamp","timestamp","itemvue_type_template_id_61a69e50_staticRenderFns","timeline_src_itemvue_type_script_lang_js_","packages_timeline_src_itemvue_type_script_lang_js_","src_item_component","timeline_src_item","timeline_item","mainvue_type_template_id_01cf3b65_render","underline","mainvue_type_template_id_01cf3b65_staticRenderFns","link_src_mainvue_type_script_lang_js_","packages_link_src_mainvue_type_script_lang_js_","link_src_main_component","link_src_main","packages_link","mainvue_type_template_id_7fa02a7e_functional_true_render","mainvue_type_template_id_7fa02a7e_functional_true_staticRenderFns","divider_src_mainvue_type_script_lang_js_","packages_divider_src_mainvue_type_script_lang_js_","divider_src_main_component","divider_src_main","mainvue_type_template_id_44d84a7c_render","preview","imageStyle","clickHandler","showViewer","imageIndex","closeViewer","previewSrcList","mainvue_type_template_id_44d84a7c_staticRenderFns","image_viewervue_type_template_id_5e73b307_render","viewerZIndex","handleMaskClick","isSingle","infinite","isFirst","handleActions","toggleMode","urlList","imgStyle","currentImg","handleImgLoad","handleImgError","image_viewervue_type_template_id_5e73b307_staticRenderFns","image_viewervue_type_script_lang_js_extends","Mode","CONTAIN","ORIGINAL","mousewheelEventName","image_viewervue_type_script_lang_js_","onSwitch","maskClosable","deg","enableTransition","_transform","$img","deviceSupportUninstall","deviceSupportInstall","_keyDownHandler","_mouseWheelHandler","zoomRate","_transform2","_dragHandler","modeNames","modeValues","_zoomRate$rotateDeg$e","rotateDeg","src_image_viewervue_type_script_lang_js_","image_viewer_component","image_viewer","isSupportObjectFit","objectFit","ObjectFit","COVER","FILL","SCALE_DOWN","prevOverflow","image_src_mainvue_type_script_lang_js_","ImageViewer","scrollContainer","imageWidth","imageHeight","getImageStyle","previewIndex","srcIndex","loadImage","addLazyLoadListener","removeLazyLoadListener","handleLoad","handleLazyLoad","_scrollContainer","_lazyLoadHandler","containerHeight","imageAspectRatio","containerAspectRatio","isSmaller","packages_image_src_mainvue_type_script_lang_js_","image_src_main_component","image_src_main","packages_image","mainvue_type_template_id_6d9756be_render","i18nDate","validatedRange","selectDate","realSelectedDay","realFirstDayOfWeek","pickDay","mainvue_type_template_id_6d9756be_staticRenderFns","date_table_render","date_table_staticRenderFns","date_","date_default","src_date_tablevue_type_script_lang_js_","selectedDay","hideHeader","toNestedArr","days","getFormateDate","curMonthDatePrefix","prevMonthDatePrefix","nextMonthDatePrefix","formatedToday","cellRenderProxy","elCalendar","dateCell","WEEK_DAYS","dayNames","currentMonthRange","nextMonthRange","prevMonthDays","currentMonthDays","nextMonthDays","weekDays","calendar_src_date_tablevue_type_script_lang_js_","src_date_table_component","src_date_table","validTypes","oneDay","calendar_src_mainvue_type_script_lang_js_","formatedDate","toDate","rangeValidator","isStart","expected","startDay","lastDay","nextMontFirstDay","packages_calendar_src_mainvue_type_script_lang_js_","calendar_src_main_component","calendar_src_main","mainvue_type_template_id_257dd4a9_render","styleRight","styleBottom","mainvue_type_template_id_257dd4a9_staticRenderFns","cubic","easeInOutCubic","backtop_src_mainvue_type_script_lang_js_","visibilityHeight","throttledScrollHandler","onScroll","scrollToTop","beginTime","beginValue","rAF","frameFunc","packages_backtop_src_mainvue_type_script_lang_js_","backtop_src_main_component","backtop_src_main","backtop","getStyleComputedProperty","getPositionSize","getOffsetHeight","getClientHeight","main_getScrollOptions","getElementTop","main_handleScroll","_scope","_getScrollOptions","containerInfo","shouldTrigger","scrollBottom","heightBelowTop","borderBottom","infinite_scroll_src_main","_getScrollOptions2","childList","subtree","_el$scope","infinite_scroll","mainvue_type_template_id_5070954c_render","mainvue_type_template_id_5070954c_staticRenderFns","page_header_src_mainvue_type_script_lang_js_","packages_page_header_src_mainvue_type_script_lang_js_","page_header_src_main_component","page_header_src_main","page_header","cascader_panelvue_type_template_id_34932346_staticRenderFns","cascader_node_component","node_createClass","src_node_classCallCheck","src_node_Node","cascader_panel_src_store","cascader_panelvue_type_script_lang_js_extends","cascader_panelvue_type_script_lang_js_KeyCode","src_main_render","src_main_staticRenderFns","packages_cascader_panel","avatar_src_mainvue_type_script_lang_js_","srcSet","isImageExist","avatarClass","errorFlag","renderAvatar","sizeStyle","packages_avatar_src_mainvue_type_script_lang_js_","avatar_src_main_component","avatar_src_main","avatar","mainvue_type_template_id_a4885264_render","drawerSize","withHeader","closeDrawer","mainvue_type_template_id_a4885264_staticRenderFns","drawer_src_mainvue_type_script_lang_js_","wrapperClosable","prevActiveElement","packages_drawer_src_mainvue_type_script_lang_js_","drawer_src_main_component","drawer_src_main","drawer","mainvue_type_template_id_048de730_render","hideIcon","iconColor","cancelButtonType","displayCancelButtonText","confirmButtonType","displayConfirmButtonText","mainvue_type_template_id_048de730_staticRenderFns","popover_","popover_default","popconfirm_src_mainvue_type_script_lang_js_","ElPopover","packages_popconfirm_src_mainvue_type_script_lang_js_","popconfirm_src_main_component","popconfirm_src_main","popconfirm","srcvue_type_template_id_7f659269_render","uiLoading","variant","srcvue_type_template_id_7f659269_staticRenderFns","skeleton_srcvue_type_script_lang_js_","timeoutHandle","packages_skeleton_srcvue_type_script_lang_js_","skeleton_src_component","skeleton_src","skeleton","itemvue_type_template_id_4bc8804c_render","itemvue_type_template_id_4bc8804c_staticRenderFns","img_placeholdervue_type_template_id_1b2cb5c0_render","xmlns","img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns","img_placeholdervue_type_script_lang_js_","src_img_placeholdervue_type_script_lang_js_","img_placeholder_component","_components","img_placeholder","skeleton_src_itemvue_type_script_lang_js_","packages_skeleton_src_itemvue_type_script_lang_js_","skeleton_src_item_component","skeleton_src_item","skeleton_item","srcvue_type_template_id_347ced91_render","emptyDescription","srcvue_type_template_id_347ced91_staticRenderFns","img_emptyvue_type_template_id_42918b82_render","img_emptyvue_type_template_id_42918b82_staticRenderFns","img_emptyvue_type_script_lang_js_id","img_emptyvue_type_script_lang_js_","src_img_emptyvue_type_script_lang_js_","img_empty_component","srcvue_type_script_lang_js_components","img_empty","empty_srcvue_type_script_lang_js_","imageSize","packages_empty_srcvue_type_script_lang_js_","empty_src_component","empty_src","src_components","descriptions_row_extends","descriptions_row","elDescriptions","colon","contentClassName","src_extends","descriptions_src","descriptionsSize","getOptionProps","_componentOptions$pro","_componentOptions$Cto","getSlots","isEmptyElement","filledNode","getRows","descriptions","descriptions_item","packages_descriptions_item","srcvue_type_template_id_3408b139_render","iconElement","subTitle","srcvue_type_template_id_3408b139_staticRenderFns","icon_successvue_type_template_id_18119418_render","icon_successvue_type_template_id_18119418_staticRenderFns","icon_successvue_type_script_lang_js_","src_icon_successvue_type_script_lang_js_","icon_success_component","icon_success","icon_errorvue_type_template_id_21199246_render","icon_errorvue_type_template_id_21199246_staticRenderFns","icon_errorvue_type_script_lang_js_","src_icon_errorvue_type_script_lang_js_","icon_error_component","icon_error","icon_warningvue_type_template_id_46fe8f31_render","icon_warningvue_type_template_id_46fe8f31_staticRenderFns","icon_warningvue_type_script_lang_ts_","src_icon_warningvue_type_script_lang_ts_","icon_warning_component","icon_warning","icon_infovue_type_template_id_19e3de69_render","icon_infovue_type_template_id_19e3de69_staticRenderFns","icon_infovue_type_script_lang_ts_","src_icon_infovue_type_script_lang_ts_","icon_info_component","result_srcvue_type_script_lang_js_components","icon_info","IconMap","result_srcvue_type_script_lang_js_","packages_result_srcvue_type_script_lang_js_","result_src_component","result_src","src_install","$msgbox","$alert","$confirm","$prompt","$notify","$message","CollapseTransition","Loading","Pagination","Dialog","Autocomplete","Dropdown","DropdownMenu","DropdownItem","Submenu","MenuItemGroup","Input","InputNumber","Radio","RadioGroup","RadioButton","Checkbox","CheckboxButton","CheckboxGroup","Switch","Select","Option","OptionGroup","Button","ButtonGroup","Table","TableColumn","DatePicker","TimeSelect","Popover","Tooltip","Breadcrumb","BreadcrumbItem","Form","FormItem","Tabs","TabPane","Tag","Alert","Slider","Icon","Row","Col","Progress","Spinner","Badge","Card","Rate","Steps","Step","Carousel","Scrollbar","CarouselItem","Collapse","CollapseItem","Cascader","ColorPicker","Transfer","Container","Header","Aside","Main","Footer","Timeline","TimelineItem","Link","Divider","Calendar","Backtop","InfiniteScroll","PageHeader","CascaderPanel","Avatar","Drawer","Popconfirm","Skeleton","SkeletonItem","Descriptions","DescriptionsItem","Result","own","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","U","setPrototypeOf","$parseFloat","Pattern","createDom","newDom","newDomStyle","Layer","domBack","ctxBack","clearColor","motionBlur","lastFrameAlpha","__used","__drawIndex","__startIndex","__endIndex","getElementCount","initContext","createBackBuffer","clearAll","clearColorGradientOrPattern","haveMotionBLur","clearRect","__canvasGradient","getCanvasPattern","save","fillRect","globalImageCache","findExistImage","newImageOrSrc","cachedImgObj","hostEl","cbPayload","__zrImageSrc","pendingWrap","imageOnLoad","__cachedImgObj","_listComponent","makeBackground","_contentGroup","_backgroundEl","_selectorGroup","_isFirstRender","viewportSize","legendDrawnMap","selectMode","eachRawSeries","getSeriesByName","legendSymbolType","_createItem","dispatchSelectAction","dispatchHighlightAction","dispatchDownplayAction","provider","containName","newline","_createSelector","createSelectorButton","selectorItem","emphasisLabelModel","inactiveBorderColor","symbolKeepAspect","legendModelItemStyle","itemIcon","legendGlobalTooltipModel","setSymbolStyle","legendSymbolCenter","hitRect","formatterParams","legendIndex","dataName","CATEGORY_DEFAULT_VISUAL_INDEX","_normalizeData","normalizers","visualHandler","visualHandlers","_doMap","normalizeVisualRange","preprocessForPiecewise","preprocessForSpecifiedCategory","makeApplyVisual","isNormalized","doMapCategory","returnRGBArray","parsedVisual","piecewise","getSpecifiedVisual","doMapFixed","colorHue","makePartialColorVisualHandler","colorSaturation","colorLightness","colorAlpha","makeDoMap","symbolCfg","doMapToArray","hasSpecialVisual","originIndex","categoryMap","visualArr","setVisualToOption","doNotNeedPair","applyValue","sourceExtent","addVisualHandler","eachVisual","mapVisual","isPrimary","newVisual","hasVisual","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","possibleI","pieceValue","updatePossible","newAbs","builtinExec","isCanvasEl","transformCoordWithViewport","isDomLevel2","MOUSE_EVENT_REG","_calcOut","calculate","calculateZrXY","layerX","layerY","getNativeEvent","isTouch","zrDelta","cancelBubble","notLeftMouse","$every","DEFAULT_SMOOTH","ParallelView","_dataGroup","dataGroup","makeSeriesScope","newDataIndex","addEl","updateElCommon","oldDataIndex","createLinePoints","taskParams","inactive","legendConfig","iconWidth","iconHeight","selectAble","iconStyle","textUnselectedStyle","iconUnselectedStyle","initLegendData","filterInvalidData","calcLegendTextWidth","calcLegendPosition","getIconConfig","getTextConfig","itemType","legendStatus","sn","getTextWidth","getFontConfig","measureText","calcVerticalPosition","calcHorizontalPosition","calcDefaultHorizontalPosition","xOffsets","getHorizontalXOffset","yOffset","getHorizontalYOffset","xOffset","realYOffset","mergeOffset","beforeWidth","getBeforeWidth","endXPos","beforeItem","mulAdd","allWidth","halfIconHeight","_getVerticalXOffset","getVerticalXOffset","_getVerticalXOffset2","isRight","getVerticalYOffset","calcDefaultVerticalPosition","allHeight","yPos","iconXPos","textXpos","legendItem","getIconShape","createClickCallBack","_data$i$iconPosition","hoverRect","getTextHoverRect","getTextShape","getTextStyle","_legendItem$data$i","_legendItem$data$i2","_legendItem$data$i3","_legendItem$data$i3$t","_updater$chart","DEFAULTS","boundariesElement","preventOverflowOrder","flipBehavior","arrowElement","modifiersIgnored","forceAbsolute","Popper","_reference","isNotDefined","isConfig","_getPosition","_setupEventListeners","getOuterSizes","_display","_visibility","getOppositePlacement","getPopperClientRect","popperOffsets","offsets","getArrayKeyIndex","keyToFind","getOffsetParent","getScrollParent","isFixed","is_numeric","functionToCheck","getOffsetRect","elementRect","rectTop","getOffsetRectRelativeToCustomParent","parentRect","scrollParent","getSupportedPropertyName","prefixes","toCheck","_removeEventListeners","removeOnDestroy","_originalPlacement","_getOffsets","boundaries","_getBoundaries","runModifiers","updateCallback","defaultConfig","arrowTagName","arrowClassNames","arrowAttributes","addClassNames","addAttributes","isParentFixed","referenceOffsets","popperRect","updateBound","scrollTarget","offsetParentRect","getScrollTopValue","getScrollLeftValue","modifiersToRun","isModifierRequired","requesting","requested","applyStyle","prefixedProperty","basePlacement","shiftVariation","shiftOffsets","preventOverflow","keepTogether","flip","flipped","placementOpposite","variation","flipOrder","_flip","arrowStyle","altSide","opSide","arrowSize","sideValue","nextSource","keysArray","nextKey","UNDEFINED","INDEX_NOT_FOUND","ID_PREFIX","dataCtors","Float64Array","Int32Array","CtorUint32Array","Uint32Array","CtorInt32Array","CtorUint16Array","Uint16Array","getIndicesCtor","_rawCount","cloneChunk","originalChunk","TRANSFERABLE_PROPERTIES","CLONE_PROPERTIES","transferProperties","__wrappedMethods","_calculationInfo","dimensionInfos","invertedIndicesMap","dimensionInfo","dimensionName","createInvertedIndices","_indices","_count","_storage","_nameList","_idList","_optionModels","_visual","_itemVisuals","hasItemVisual","_itemLayouts","_graphicEls","_chunkSize","_chunkCount","_rawExtent","_approximateExtent","_dimensionsSummary","_invertedIndicesMap","listProto","prepareChunks","chunkSize","chunkCount","DataCtor","lastChunkIndex","resizeChunkArray","newStore","prepareInvertedIndex","invertedIndices","getRawValueFromStore","chunkIndex","chunkOffset","chunk","getRawIndexWithoutIndices","getRawIndexWithIndices","_idDimIdx","normalizeDimensions","cloneListForMapAndSample","excludeDimensions","allDimensions","originalStorage","cloneDimStore","getInitialExtent","originalDimStore","newDimStore","getDimensionsOnCoord","dimensionsSummary","nameList","notProvider","_nameRepeatCount","_dimValueGetter","_dimValueGetterArrayRows","_initDataFromProvider","rawData","dimLen","originalChunkCount","emptyDataItem","sourceIdx","dimRawExtent","nameDimIdx","dimensionInfoMap","idList","nameRepeatCount","_nameDimIdx","itemId","dimStorage","nameDim","nameDimChunk","getIndices","thisCount","chunkStore","getByRawIndex","rawIdx","dimStore","_getFast","dimData","initialExtent","dimExtent","currEnd","useRaw","setApproximateExtent","getCalculationInfo","getMedian","dimDataArray","sortedDimDataArray","rawIndexOf","indicesOfNearest","maxDistance","nearestIndices","minDist","minDiff","nearestIndicesLen","contextCompat","filterSelf","dim0","selectRange","originalCount","quickFinished","chunkStorage","dimStorage2","chunkStorage2","val2","dimk","tmpRetValue","dataCount","retValue","rawExtentOnDim","downSample","sampleValue","sampleIndex","targetStorage","frameValues","frameSize","originalChunkIndex","originalChunkOffset","sampleFrameIdx","sampleChunkIndex","sampleChunkOffset","otherList","thisList","itemVisual","clearAllVisual","setItemDataAndSeriesIndex","dimensionInfoList","injectFunction","originalMethod","v2Distance","interpolate","isLoop","segs","w2","w3","TYPE_DELIMITER","IS_CONTAINER","checkClassType","RootClass","mandatoryMethods","$constructor","superClass","ExtendedClass","classBase","Clz","classAttr","enableClassManagement","entity","makeContainer","registerClass","componentMainType","throwWhenNotFound","getClassesByMainType","getAllClassMainTypes","hasSubTypes","registerWhenExtend","originalExtend","ignoreSize","subtext","subtarget","subtextStyle","titleModel","subtextStyleModel","subText","subTextEl","sublink","groupRect","layoutOption","alignStyle","IS_WRAP","virtual","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","ADDER","__lookupSetter__","createParallelIfNeeded","mergeAxisOptionFromParallel","hasParallelSeries","axisOption","parallelOption","PromiseCapability","$$resolve","isPolyline","isLarge","lineCoords","segCount","totalCoordsCount","getLineCoordsCount","getLineCoords","_fourPointsTransform","buildTransformer","EVENT_SAVED_PROP","elFrom","inX","inY","prepareCoordMarkers","transformer","preparePointerTransformer","propLR","propTB","idxLR","idxTB","transformerName","oldSrcCoords","srcCoords","oldCoordTheSame","destCoords","ii","axisPointerModelHelper","_axisPointer","fixValue","updateAxisPointer","disposeAxisPointer","getAxisPointerClass","getAxisPointerModel","axisPointerClazz","compatibleEC2","ec2Types","transferItem","controlStyle","itemStyleEmphasis","labelNormal","excludeLabelAttr","$isFrozen","legendModels","findComponents","categoryNames","mapSymbolLayout","mapDataStatistic","createDataSelectAction","$includes","effectType","showEffectOn","rippleEffect","setDesc","FREEZE","preventExtensions","setMeta","fastKey","barItemStyle","Sausage","_eventPos","getClipArea","coordSysClipArea","expandWidth","coordinateSystemType","isHorizontalOrRadial","drawBackground","backgroundModel","barBorderRadius","bgEls","oldBgEls","_backgroundEls","createBackground","bgLayout","bgEl","createBackgroundEl","getBarItemStyle","isClipped","elementCreator","createBackgroundShape","removeRect","removeSector","bgGroup","_removeBackground","cartesian2d","coordSysBoundingRect","signWidth","signHeight","signR","animateProperty","animateTarget","isRadial","fixedLineWidth","getLineWidth","signX","signY","isZeroOnPolar","isPolar","labelPositionOutside","rawLayout","LargePath","__startPoint","baseDimIdx","__baseDimIdx","largeDataIndices","backgroundStartPoint","__largeDataIndices","__barWidth","setLargeBackgroundStyle","largePathUpdateDataIndex","largePath","largePathFindDataIndex","valueDimIdx","barWidthHalf","startValueVal","pointerBaseVal","pointerValueVal","baseLowerBound","baseUpperBound","barBaseVal","barValueVal","coordLayout","ElementClz","_curve","containStroke","registerSubTypeDefaulter","_barGrid","prepareLayoutBarSeries","makeColumnLayout","retrieveColumnLayout","axisDataLen","scaleType","originalExtent","getCategories","setBlank","isBaseAxisAndHasBarSeries","barSeriesModels","adjustedScale","adjustScaleForOverflow","axisLength","barsOnCurrentAxis","minOverflow","maxOverflow","totalOverFlow","oldRange","oldRangePercentOfNew","overflowBuffer","extentInfo","makeLabelFormatter","categoryTickStart","tpl","realNumberScaleTicks","tickCount","categoryScaleExtent","axisLabelModel","unrotatedSingleRect","singleRect","rotateTextRect","rotateRadians","boundingBox","beforeHeight","afterWidth","afterHeight","rotatedRect","getOptionCategoryInterval","shouldShowAllLabels","Handler","Storage","Painter","HandlerProxy","useVML","painterCtors","ZRender","registerPainter","delInstance","rendererType","vml","handerProxy","_needsRefresh","oldDelFromStorage","delFromStorage","oldAddToStorage","addToStorage","removeSelfFromZr","addSelfToZr","addRoot","delRoot","configLayer","zLevel","_needsRefreshHover","triggerRendered","refreshHoverImmediately","elMirror","refreshHover","clearHover","clearAnimation","pathToImage","setCursorStyle","eventHandler","dataProcessorHandlers","_dataProcessorHandlers","_visualHandlers","_allHandlers","_stageTaskMap","performStageTasks","stageHandlers","needSetDirty","__pipeline","stageHandlerRecord","seriesTaskMap","overallTask","overallNeedDirty","stub","performArgs","block","pipelineId","taskRecord","_pipelineMap","pCtx","progressiveEnabled","progressiveRender","__idxInPipeline","blockIndex","modDataCount","modBy","dataLen","pipelineMap","tail","stageTaskMap","createSeriesStageTask","createOverallStageTask","__block","getUpstream","seriesTaskPlan","seriesTaskReset","seriesTaskCount","useClearVisual","isVisual","isLayout","createOnAllSeries","removeKey","overallTaskReset","overallProgress","createStub","stubReset","onDirty","stubOnDirty","agent","getSeries","upstreamContext","stubProgress","getDownstream","resetDefines","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","dataEach","detectSeriseType","legacyFunc","ecModelMock","apiMock","mockMethods","cond","EffectPolyline","_lastFrame","_lastFramePercent","effectPolylineProto","_points","accLenArr","_offsets","hiddenKeys","79","PolarAxisPointer","animationThreshold","coordValue","labelPos","buildLabelElOption","innerTextLayout","makeSectorShape","define","_locale","geoCoordMap","changeDefaultConfig","_charts","_buildAxes","_buildSplitLineAndArea","axisBuilders","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","ticksRadius","getColorIndex","realSplitNumber","axesTicksPoints","prevPoints","areaOrLine","areaOrLineColorList","themeRiverVisual","sinh","TO_STRING_TAG","DOMIterables","Collection","digitalFlop","ringName","_arrayWithHoles","_iterableToArrayLimit","_arr","_nonIterableRest","mergedConfig","initGraph","getShape","mergeShape","shapeNum","dvDigitalFlop","activeRadius","activeTimeGap","digitalFlopStyle","digitalFlopToFixed","digitalFlopUnit","showOriginValue","animationHandler","setRingOption","initChart","ringAnimation","getRingOption","getRealRadius","realRadius","insideRadius","outSideRadius","mergedColor","randomExtend","minNum","maxNum","lastTime","observerDomResize","MozMutationObserver","attributeFilter","attributeOldValue","getPointDistance","pointOne","pointTwo","uuid","hasHyphen","debounceInitWHFun","domObserver","initWH","getDebounceInitWHFun","bindDomResizeCallback","afterAutoResizeMixinInit","onResize","takeRecords","autoResizeMixinInit","unbindDomResizeCallback","autoResize","filterId","titleWidth","pathD","dur","gradientId","maskId","capsule","capsuleValue","showValue","capsuleLength","labelData","labelDataLength","calcData","calcCapsuleLengthAndLabelData","chartRef","columnColor","imgSideLength","calcSVGPath","middleXPos","middleYPos","svgScale","svgWH","halfPointSideLength","pointSideLength","rects","rowNum","rowPoints","calcSVGData","calcPointsPosition","calcRectsPosition","calcScale","rect1","rect2","animationId2","animationId1","animationId7","animationId4","animationId3","animationId6","animationId5","gId","pathColor","haloDur","scanDur","circleR","splitLinePoints","arcD","segment","sectorAngle","ringNum","ringWidth","calcPathD","calcPathColor","calcCircleR","calcSplitLinePoints","calcArcD","line1Points","line1Length","line2Points","line2Length","halfRectWidth","heights","minHeights","randoms","xPos","polygonId","bgImgUrl","consoleClickPos","gradient2Id","halo","centerPointImg","orbitColor","lengths","flylineColor","flylineRadius","pointsImg","maskCircleId","centerPoint","createFlylinePaths","controlPoint","getControlPoint","disDived","getKLinePointByx","calcTimes","calcTexts","bgImgSrc","flylines","flylineGradientId","haloGradientId","coordinate","flylineLengths","flylinePoints","calcflylinePoints","iw","ih","calcLinePaths","datavRoot","initConfig","setAppScale","gradientId1","lc","gradientId2","gradient2XPos","polylineWidth","polylineGradient","borderGap","linearGradient","headerItem","widths","aligns","ri","ci","emitEvent","handleHover","headerBGC","oddRowBGC","evenRowBGC","waitTime","indexHeader","hoverPause","rowsData","avgHeight","animationIndex","needCalc","calcWidths","calcHeights","calcHeaderData","calcRowsData","calcAligns","indexTag","rowLength","columnNum","ceils","onresize","updateRows","ranking","valueFormatter","waveNum","waveHeight","waveOpacity","svgBorderGradient","waves","delAllGraph","calcSvgBorderGradient","calcDetails","addWave","animationWave","getWaveShapes","getWaveStyle","firstPoint","fullScreenContainer","borderBox1","borderBox2","borderBox3","borderBox4","borderBox5","borderBox6","borderBox7","borderBox8","borderBox9","borderBox10","borderBox11","borderBox12","borderBox13","decoration1","decoration2","decoration3","decoration4","decoration5","decoration6","decoration7","decoration8","decoration9","decoration10","decoration11","decoration12","activeRingChart","capsuleChart","waterLevelPond","percentPond","flylineChart","flylineChartEnhanced","conicalColumnChart","scrollBoard","scrollRankingBoard","componentUtil","boxLayoutMixin","themeModel","newCptOption","optList","Class","getDependencies","enableSubTypeDefaulter","enableTopologicalTravel","v2ApplyTransform","TransformDummy","_roamTransformable","_center","_zoom","setBoundingRect","setViewRect","rawTransform","centerCoord","_updateCenterAndZoom","getDefaultCenter","rawRect","getCenter","rawTransformMatrix","defaultCenter","roamTransformable","_rawTransform","_layoutHelper","TreeShape","parentPoint","childPoints","forkPosition","childLen","firstChildPos","lastChildPos","forkDim","tmpPoint","_oldTree","_updateViewCoordSys","symbolNeedsDraw","updateNode","symbolEl","_nodeScaleRatio","_updateNodeAndLinkScale","fromPoints","oldMin","_min","oldMax","_max","viewCoordSys","_viewCoordSys","_getNodeGlobalScale","invScale","getTreeNodeStyle","sourceSymbolEl","sourceLayout","sourceOldLayout","rawX","__radialOldRawX","rawY","__radialOldRawY","targetLayout","__radialRawX","__radialRawY","isLeft","rootLayout","labelRotateRadian","drawEdge","__edge","getEdgeShape","childLayout","sourceEdge","radialCoor1","radialCoor2","radialCoor3","radialCoor4","$map","BUILTIN_OBJECT","TYPED_ARRAY","objToString","nativeForEach","nativeFilter","nativeSlice","nativeMap","nativeReduce","typeStr","isDom","targetProp","sourceProp","isBuiltInObject","mergeAll","targetAndSources","overlay","baseClazz","clazzPrototype","memo","primitiveKey","HashMap","isArr","thisMap","visit","concatArray","newArray","eachAfter","eachBefore","MapShim","getIndex","class_1","__entries__","isBrowser","global$1","requestAnimationFrame$1","trailingTimeout","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","REFRESH_DELAY","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","connect_","disconnect_","changesDetected","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","isReflowProperty","instance_","defineConfigurable","getWindowOf","ownerGlobal","emptyRect","createRectInit","toFloat","getBordersSize","positions","getPaddings","paddings","positions_1","getSVGContentRect","getBBox","getHTMLElementContentRect","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","createReadOnlyRect","Constr","DOMRectReadOnly","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","newSnapshot","snapshot","_targetList","_selectTargetMap","targetMap","unSelect","toggleSelected","nameRotate","nameTruncate","ellipsis","showMinLabel","showMaxLabel","categoryAxis","deduplication","alignWithLabel","minorTick","minorSplitLine","timeAxis","logAxis","logBase","idxMap","flattenIntoArray","arraySpeciesCreate","flatten","depthArg","sourceLen","_ariaUtils","_ariaUtils2","tabEvent","focusFirst","dialogNode","lastFocus","trapFocus","removeListeners","Uint32Arr","Float64Arr","compatEc2","coords","fromName","toName","LinesSeries","_processFlatCoordsArray","_flatCoords","flatCoords","_flatCoordsOffset","flatCoordsOffset","_getCoordsFromItemModel","startOffset","coordsOffsetAndLenStorage","coordsStorage","coordsCursor","offsetCursor","trailLength","_pie","pies","calcPiesCenter","calcPiesRadius","calcRosePiesRadius","calcPiesPercent","calcPiesAngle","calcPiesInsideLabelPos","calcPiesEdgeCenterPos","calcPiesOutSideLabelPos","getPieConfig","getStartPieConfig","beforeChangePie","getInsideLabelConfig","getOutsideLabelLineConfig","getStartOutsideLabelLineConfig","getOutsideLabelConfig","getStartOutsideLabelConfig","getNumberRadius","itemRadius","rosePie","getRoseIncrement","dataCopy","sortData","allRadius","minRadius","getDataSum","percentForLabel","toFixedNoCeil","percentSumNoLast","stringNumber","splitedNumber","fixedDecimal","_getDataAngle","getDataAngle","_getDataAngle2","fullAngle","needAddData","percentSum","startPercent","pieItem","insideLabelPos","getPieInsideLabelPos","_dataItem$radius","centerAngle","edgeCenterPos","leftPieDataItems","getLeftOrRightPieDataItems","rightPieDataItems","sortPiesFromTopToBottom","addLabelLineAndAlign","getLabelLineBendRadius","getPieMaxRadius","_ref8$radius","centerXPos","_ref10$edgeCenterPos","_ref11$edgeCenterPos","bendPoint","labelLineLength","getPieShape","getPieStyle","getInsideLabelShape","getInsideLabelStyle","getOutsideLabelLineShape","getOutsideLabelLineStyle","getOutsideLabelShape","getOutsideLabelStyle","autoPositionValues","visualCluster","visualObj","controllerVisuals","visualMapping","positionElement","$assign","generateNodeKey","_directed","_nodesMap","_edgesMap","graphProto","hostGraph","Edge","isDirected","edgesMap","getEdge","breadthFirstTraverse","startNode","__visited","otherNode","inDegree","outDegree","createGraphDataProxyMixin","hostName","LineGroup","_ctor","lineDrawProto","doAdd","lineNeedsDraw","oldLineData","newLineData","itemEl","isEffectObject","animators","isPointNaN","isPersistent","_lineData","incrementalPrepareUpdate","_seriesScope","incrementalUpdate","updateIncrementalAndHover","_clearIncremental","_incremental","copyWithin","quadraticIn","quadraticOut","quadraticInOut","cubicIn","cubicOut","cubicInOut","quarticIn","quarticOut","quarticInOut","quinticIn","quinticOut","quinticInOut","sinusoidalIn","sinusoidalOut","sinusoidalInOut","exponentialIn","exponentialOut","exponentialInOut","circularIn","circularOut","circularInOut","elasticIn","asin","elasticOut","elasticInOut","backIn","backOut","backInOut","bounceIn","bounceOut","bounceInOut","$some","_mapDraw","dataViewLang","BLOCK_SPLITER","ITEM_SPLITER","groupSeries","seriesGroupByCategoryAxis","otherSeries","other","assembleSeriesWithCategoryAxis","tables","valueAxisDim","assembleOtherSeries","vals","getContentFromModel","isTSVFormat","itemSplitRegex","parseTSVContents","tsv","tsvLines","parseListContents","hasName","parseContents","blockMetaList","blocks","blockMeta","tryMergeDataOption","newValIsObject","shouldDeleteName","readOnly","optionToContent","contentToOption","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","viewMain","htmlOrDom","buttonContainer","buttonStyle","closeButton","refreshButton","newSeriesOptList","renderText","getStroke","__g","actionInfos","log10","LOG10E","callSite","polarOptArr","polarNotRadar","polarOpt","polarIndex","radarIndex","foundAxisModel","layoutBox","boxLayoutParams","Cancel","expires","secure","cookie","isNumber","toGMTString","read","decodeURIComponent","bbWidth","bbHeight","useHasFeature","ExecutionEnvironment","isEventSupported","eventNameSuffix","canUseDOM","isSupported","hasFeature","BrushController","history","dataZoomLang","DATA_ZOOM_ID_BASE","DataZoom","_brushController","_onBrush","mount","_isZoomActive","brushStyle","featureModel","updateZoomBtnStatus","updateBackBtnStatus","unmount","nextActive","dataZoomSelectActive","retrieveAxisSetting","setIconStatus","zoomActive","setPanels","makePanelOpts","xAxisDeclared","yAxisDeclared","enableBrush","updateCovers","matchOutputRanges","coordRange","setBatch","findDataZoom","found","dzModel","dataZoomOpts","dataZoomOpt","addForAxis","axisIndicesName","givenAxisIndices","forEachComponent","$fromToolbox","isInteger","getOwnMetadataKeys","SHADOW_PROPS","getIterator","coordSysLists","coordIndex","LinePath","SYMBOL_CATEGORIES","makeSymbolTypeKey","symbolCategory","__specifiedRotation","setLinePoints","updateSymbolAndLabelBeforeLineUpdate","lineGroup","symbolFrom","symbolTo","pointAt","toPos","specifiedRotation","tangent","tangentAt","__labelDistance","distanceX","distanceY","halfPercent","__position","__verticalAlign","__textAlign","_createLine","lineProto","lineLabelOriginalOpacity","visualOpacity","defaultLabelColor","rawVal","normalText","emphasisText","linePath","globalDefault","OPTION_INNER_KEY","_optionManager","baseOption","mountOption","initBase","timelineOption","getTimelineOption","mediaOptions","getMediaOption","mediaOption","componentsMap","newCptTypes","visitComponent","newCptOptionList","mapResult","mappingToExists","makeIdAndName","keyInfo","determineSubType","getComponentsByTypes","resultItem","ComponentModelClass","createSeriesIndices","componentOption","topologicalTravel","_seriesIndicesMap","_seriesIndices","isIdInner","cpts","isIdArray","cpt","isNameArray","filterBySubType","queryCond","getQueryCond","doFilter","indexAttr","idAttr","nameAttr","queryResult","oneSeries","getSeriesCount","assertSeriesInitialized","rawSeriesIndex","getCurrentSeriesIndices","filterSeries","filteredSeries","componentTypes","isNotTargetSeries","seiresIndex","mergeTheme","notMergeColorLayer","colorLayer","themeItem","existComponent","$acosh","acosh","LN2","graphicUtil","_nonShapeGraphicElements","graphicOption","GraphicModel","_elOptionsToUpdate","existList","flattenedList","_flatten","mappingResult","elOptionsToUpdate","newElOption","setKeyInfoToNewElOption","mergeNewElOptionToExist","setLayoutInfoToExist","$action","optionList","parentOption","useElOptionsToUpdate","createEl","targetElParent","graphicType","__ecGraphicId","removeEl","existEl","existElParent","getCleanedElOption","LOCATION_PARAMS","isSetLoc","isSet","existElOption","newElParentOption","newElOptCopy","copyLayoutParams","existItem","hv","setEventData","graphicModel","_elMap","_lastGraphicModel","_updateElements","_relocate","rootGroup","elOptionStyle","elOptionCleaned","__ecGraphicWidthOption","__ecGraphicHeightOption","elOptions","apiWidth","apiHeight","parentEl","isParentRoot","__ecGraphicWidth","__ecGraphicHeight","boundingMode","bounding","FProto","nameRE","straightLineProto","bezierCurveProto","isLine","_buildPathLine","_buildPathCurve","_pointAtLine","_pointAtCurve","_tangentAtCurve","defaultSymbolType","hasSymbolTypeCallback","hasSymbolSizeCallback","hasSymbolRotateCallback","seriesSymbol","seriesSymbolSize","itemSymbolType","itemSymbolSize","itemSymbolRotate","itemSymbolKeepAspect","126","Enumerate","enumerate","macrotask","standalone","defaultKeyGetter","oldKeyGetter","newKeyGetter","_old","_new","_oldKeyGetter","_newKeyGetter","initIndexMap","keyArr","keyGetterName","existence","_add","_remove","oldDataIndexMap","newDataIndexMap","oldDataKeyArr","newDataKeyArr","arrayEquals","kebabCase","autoprefixer","coerceTruthyValueToArray","escapeRegexpString","generateId","getValueByPath","getPropByPath","rafThrottle","objToArray","_types","tempObj","arrayA","arrayB","colorPalette","crossStyle","dataBackgroundColor","color0","linkStyle","groupData","nodeWidth","nodeGap","computeNodeValues","filteredNodes","nodeAlign","layoutSankey","computeNodeBreadths","computeNodeDepths","computeEdgeDepths","getEdgeValue","nodeRawValue","remainEdges","indegreeArr","zeroIndegrees","nextTargetNode","kx","maxNodeDepth","isItemDepth","edgeIdx","indexEdge","adjustNodeWithNodeAlign","scaleNodeBreadths","isNodeDepth","nextSourceNode","remainNodes","nodeHeight","skNodeHeight","moveSinksRight","nodeDepth","nodesByBreadth","prepareNodesByBreadth","initializeNodeDepth","resolveCollisions","relaxRightToLeft","relaxLeftToRight","keyAttr","groupResult","buckets","minKy","nodeDy","edgeDy","nodeDyAttr","weightedTarget","centerTarget","nodeY","weightedSource","centerSource","PLAIN_TEXT","WILL_BE_RESTORED","markerRich","startId","endId","updateMarkerLayout","markPointModel","mpModel","symbolDrawMap","symbolDraw","isFnSymbol","isFnSymbolSize","isFnSymbolRotate","dataOpt","NUMBER","sizeCalculable","CalendarModel","cellSize","dayLabel","monthLabel","mergeAndNormalizeLayoutParams","hvIdx","echartsAPIList","chartInstance","parallelAxisModel","setActiveIntervals","intervals","87","Parallel","trunc","_axisTickLabelBuilder","createAxisTicks","createAxisLabels","calculateCategoryInterval","NORMALIZED_EXTENT","fixExtentWithBands","nTick","fixOnBandTicksCoords","ticksLen","diffSize","crossLen","ticksItem","getTickModel","minorTickModel","minorTicks","getMinorTicks","minorTicksGroup","getRotate","langSelector","defaultSelectorOption","LegendModel","_updateSelector","_updateData","hasSelected","potentialData","availableNames","isPotential","getAllNames","_availableNames","allSelect","inverseSelect","selectorLabel","selectorItemGap","determinant","rowStart","rowMask","colMask","detCache","cacheKey","fullRank","colStart","subRowMask","subRowStart","colLocalIdx","colTag","mA","vh","srcPointX","srcPointY","pk","normalizeRadian","_graph","CRender","animationStatus","mouseDown","mouseMove","mouseUp","animationAble","turnNextAnimationFrame","drawAllGraph","animationPause","animationFrameState","hoverGraph","activeGraph","moveProcessor","hoverAbleGraphs","hoveredGraph","hoverCheckProcessor","hoverCursor","hoverGraphMouseOuterIsFun","hoveredGraphMouseEnterIsFun","mouseOuter","mouseEnter","dragGraph","clearArea","_this$ctx","sortGraphsByIndex","delProcessor","drawProcessor","clonedGraph","$values","sysDims","dataDimNameMap","coordDimNameMap","getDimCount","userDimName","encodeDef","validDataDims","resultDimIdx","applyDim","availDimIdx","sysDimItem","sysDimIndex","sysDimItemDimsDef","sysDimItemOtherDims","sysDimItemDimsDefItem","generateCoordCount","fromZero","genName","optDimCount","Attributes","isValidPoint","getValueMissingPoint","svgURI","x_","titleConfig","getTitleConfig","titleItem","getTitleShape","getTitleStyle","_updater$chart$gridAr","createGraphFromNodeEdge","GraphSeries","_categoriesData","_updateCategoriesData","categoriesModels","_categoriesModels","categoryIdx","categoryModel","edgeLabelModel","fakeSeriesModel","emphasisEdgeLabelModel","emphasisFakeSeriesModel","edgeGetParent","getEdgeData","sourceName","targetName","circular","rotateLabel","layoutAnimation","edgeSymbol","edgeSymbolSize","edgeLabel","polyHelper","DateProto","INVALID_DATE","stackResultDim","ORIGIN_METHOD","RATE","THROTTLE_TYPE","currCall","debounceNextCall","lastCall","thisDelay","thisDebounce","debounceDelay","fnAttr","originFn","lastThrottleType","lastRate","propertyKey","markerModelKey","subTypeDefaulters","defaulter","componentTypeMain","dependencyGetter","makeDepndencyGraph","fullNameList","noEntryList","createDependencyGraphItem","originalDeps","availableDeps","getAvailableDependencies","entryCount","dependentName","predecessor","thatItem","successor","targetNameList","targetNameSet","currComponentType","currVertex","isInTargetNameSet","removeEdgeAndAdd","removeEdge","succComponentType","ordinaryHasMetadata","hasMetadata","animationEasingUpdate","shadowTemp","orignalBrush","clipPaths","roundNumber","_intervalPrecision","thisExtent","getIntervalPrecision","expandToNicedExtent","niceTickExtent","intervalPrecision","safeLimit","lastNiceTick","prevTick","minorInterval","intervalScaleNiceTicks","expandSize","colorConfig","colorNum","di","barWithIndependentColor","umulh","UINT16","$u","$v","u0","u1","CoordSysInfo","fetch","fetchers","buggy","130","roundingErrorFix","mathLog","_originalScale","originalScale","powVal","__fixMin","fixRoundingError","__fixMax","originalVal","isExtendedError","_name","routerView","$route","_routerViewCache","_routerRoot","routerViewDepth","registerRouteInstance","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","decode","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","stringifyQuery","trailingSlashRE","createRoute","redirectedFrom","fullPath","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","resolvePath","firstChar","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","asterisk","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","pathMatch","normalizeLocation","rawPath","parsedPath","toTypes","eventTypes","exact","exactActiveClass","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","scopedSlot","navigate","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","installed","registerInstance","callVal","_router","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","alias","aliasRoute","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","protocolAndPath","absolutePath","saveScrollPosition","isPop","app","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","getElementPosition","docEl","docRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","supportsPushState","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","NavigationDuplicated","normalizedLocation","History","normalizeBase","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","isValid","bindEnterGuard","poll","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","enterGuards","resolveHooks","afterHooks","HTML5History","expectScroll","supportsScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","decodeURI","HashHistory","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","searchIndex","getUrl","AbstractHistory","targetIndex","VueRouter","apps","registerHook","createHref","setupHashListener","beforeEach","beforeResolve","afterEach","getMatchedComponents","normalizedTo","dataColor","radarLayout","CancelToken","resolvePromise","_needCollect","needCollect","_deduplication","_map","createByAxisModel","dedplication","getOrCreateMap","getDesc","colorUtil","markAreaTransform","maModel","rb","ltCoord","rbCoord","markAreaFilter","getSingleMarkerEndPoint","dimPermutations","areaData","markAreaModel","areaGroupMap","polygonGroup","allClipped","xValue","yValue","__data","_ie","_firefox","_opera","_webkit","_chrome","_ie_real_version","_osx","_windows","_linux","_android","_win64","_iphone","_ipad","_native","_mobile","_populated","_populate","uas","trident","ver","UserAgent_DEPRECATED","ieCompatibilityMode","ie64","opera","webkit","safari","chrome","windows","osx","linux","iphone","mobile","nativeApp","android","ipad","ToolboxModel","featureName","Feature","showTitle","$toISOString","lz","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","containLabel","_zrender","injectNewCurve","_curves","defaultTransitionBC","tBC","startState","endState","frameNum","checkParams","getBezierCurve","frameStateProgress","getFrameStateProgress","recursionTransitionState","getTransitionState","_unused","stateType","tMinus","tState","frameState","getFrameStateFromT","tBezierCurvePoint","getBezierCurvePointFromT","bezierCurvePointT","getBezierCurvePointTFromReT","getBezierCurveTState","currentMainPointX","nextMainPointX","reBeginX","reEndX","xMinus","_ref2$","_ref2$2","_ref2$3","_ref2$4","result1","result2","result3","result4","getNumberTransitionState","getArrayTransitionState","getObjectTransitionState","arrayState","frameData","bTemp","eTemp","ITEM_STYLE_NORMAL","travelTree","designatedVisual","viewRootAncestors","nodeModel","nodeLayout","isInView","thisNodeColor","nodeItemStyleModel","visuals","buildVisuals","borderColorSaturation","calculateColor","calculateBorderColor","buildVisualMapping","childVisual","designatedVisualItemStyle","visualName","getValueVisualDefine","rangeVisual","getRangeVisual","visualMin","visualMax","colorMappingBy","__drColorMappingBy","childVisuals","mappingType","mapIdToIndex","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","EPSILON32","MAX32","MIN32","roundTiesToEven","$abs","$sign","hasXOrY","hasXAndY","markerTypeCalculatorWithExtent","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","coordArrValue","markerTypeCalculator","average","baseDataDim","dataDimToCoordDim","V","existingDescriptor","receiver","ownDesc","RadiusAxis","radiusToData","setProto","MIN_SAFE_INTEGER","_treeHelper","_viewRoot","clipWindow","squareRatio","leafDepth","drillDownIcon","zoomToNodeRatio","emptyItemWidth","upperLabel","gapWidth","visualDimension","visibleMin","childrenVisibleMin","completeTreeValue","designatedVisualModel","setDefault","levelModels","levelDefine","levelModel","setLayoutInfo","idIndexMap","_idIndexMap","_idIndexMapCount","childValue","thisValue","globalColorList","hasColorDefine","modelColor","level0","nestRE","mergeFn","objs","bb","nestedKey","mapLocation","Oo","Eo","Bo","ca","N","ga","I","ia","J","Ao","Y","X","ba","Lo","tt","No","et","nt","ot","Do","Vo","Go","ut","Sa","Ca","ft","dt","Ta","ht","Aa","vt","mt","yt","bt","xt","wt","Ct","St","Ot","kt","So","Et","Tt","At","Lt","Mt","Ho","Nt","jt","Ft","$o","Ht","Pt","It","Rt","Dt","Wt","Bt","zt","Vt","ha","Gt","te","Ut","Kt","qt","Jt","se","ae","Be","Qt","Xt","Yt","Na","Ma","Zt","Fa","ee","ja","ne","oe","Ha","le","ue","ce","pe","fe","La","de","he","ve","Ia","ge","we","Ka","ye","be","xe","Ce","za","Pa","Ra","Da","Wa","Ba","Se","Va","Ga","$e","Oe","oa","ke","Ee","Te","Ja","Ae","Le","Pe","Me","je","Qo","Re","Ne","Ya","Fe","He","Ie","jo","De","We","ze","Ve","Ge","Ue","qe","Ke","Je","Po","Ye","Xe","Ze","Qe","tn","en","nn","rn","an","ln","Ss","cn","ks","$s","dn","hn","pn","vn","mn","gn","yn","bn","xn","wn","Cn","Sn","On","kn","Es","$n","En","Tn","Ls","An","Mn","js","Ln","Nn","jn","Ko","Yo","bs","ps","Fn","gs","ms","Jo","Hn","In","Ps","Pn","Rn","Dn","Wn","Xn","dynamic","Bn","dynamicAttrs","zn","attrsMap","attrsList","Vn","isDynamicArg","Gn","Un","nativeEvents","qn","rawAttrsMap","Kn","Jn","Yn","Zn","Qn","es","as","nr","rs","er","rr","ar","ur","sr","lr","cr","Rs","fr","Ds","dr","ls","pr","hr","Ws","ta","vr","mr","gr","us","yr","br","xr","Vs","Cr","qs","Sr","Xs","Or","kr","Zs","$r","al","Er","Tr","Ar","Lr","tl","rl","ol","nl","Mr","il","Nr","jr","Ir","Hr","Fr","Pr","Rr","Dr","Br","Wr","Vr","Gr","Ur","qr","Kr","Jr","Yr","Xr","Zr","Qr","ti","ei","Il","Fl","ni","classBinding","styleBinding","oi","ai","iu","ru","nu","si","lowerCasedTag","expectHTML","isUnaryTag","Fo","canBeLeftOpenTag","tu","eu","au","chars","Zl","shouldKeepComment","comment","Ql","Xl","Yl","Kl","Jl","Gl","Vl","unarySlash","zl","shouldDecodeNewlinesForHref","shouldDecodeNewlines","li","Ti","ui","processed","if","elseif","else","forbidden","slotScope","slotTarget","El","$l","Cl","isPreTag","Tl","Al","Ol","kl","Sl","delimiters","preserveWhitespace","comments","outputSourceRange","Mi","Li","fi","vi","gi","Ai","bu","gu","yu","pi","wi","Si","Oi","ki","$i","mi","uu","fu","cu","iterator1","iterator2","bi","ifConditions","slotTargetDynamic","mu","Ci","du","slotName","lu","hasBindings","Ei","vu","pu","camel","su","hu","xu","wu","Ni","ji","Fi","Hi","Ii","Ml","staticKeys","Nl","Ri","Di","Pi","static","Wi","staticInFor","staticRoot","ko","Bi","zi","Vi","Au","Eu","Tu","ju","Lu","Nu","Gi","Ui","Mu","qi","wrapListeners","Ki","Ji","Hu","Yi","staticProcessed","Xi","onceProcessed","Zi","forProcessed","eo","ifProcessed","Qi","mo","maybeComponent","uo","transforms","onceId","ro","dataGenFns","yo","oo","io","so","ao","co","ho","fo","vo","po","bo","xo","wo","jl","Co","outerHTML","To","Mo","Io","Ro","Wo","zo","Uo","qo","Xo","Zo","ea","na","ra","sa","la","da","pa","va","ma","wa","Oa","ka","Ea","Ua","qa","Xa","Za","Qa","cs","ds","hs","vs","Cs","Os","Ts","As","Ms","Ns","Fs","Hs","Is","Bs","zs","Gs","Us","Js","Ks","Ys","Qs","ll","ul","cl","fl","dl","hl","pl","vl","ml","gl","yl","bl","Hl","Pl","transformNode","genData","Rl","Dl","Wl","Bl","Ul","ql","ou","Cu","preTransformNode","Su","Ou","ku","prevent","ctrl","Fu","cloak","Iu","tips","compileToFunctions","optimize","ast","Pu","Ru","Du","Wu","Bu","zu","esModule","eval","btoa","sources","sourceRoot","unescape","media","sourceMap","styleSheet","ssrId","DEBUG","rowHeight","renderDom","times0","times1","times2","groupIndex","itemNum","tableIndex","itemRowHeight","timesTableData","fvIndex","dblclick","initRowIndex","dfCurrentRow","intervalId","tableBodyHeight","tableBody","handleExpandClick","customRender","fiList","setComputedProps","changeKeyWord","keyWord","locals","return","Arguments","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","getEventType","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","colorpicker","datepicker","selectTime","endTime","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","sun","mon","tue","wed","thu","fri","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","noMatch","goto","pagesize","pageClassifier","messagebox","deleteTip","continue","resetFilter","noCheckedFormat","hasCheckedFormat","pageHeader","_id","_clearFn","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","fun","argv","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","mouseout","createPopper","appendArrow","resetTransformOrigin","appended","webpackPolyfill","moduleHeight","appendNum","wrapperHeight","totalRowHeight","topPlaceholderHeight","table1Data","table2Data","table3Data","outerWidth","groupHeight","srcElement","updateHeight","setTopPlace","initGroupHeight","setIndex","_tableResize","getTables","getItemTable","renderTable","changeHeight","getScrollLeft","outer","scrollToRow","_scrollToIndexRow","editCell","_editCell","bottomPlaceholderHeight","placeholderHeight","insideTableData","backValue","DOMMouseScroll","largeLayout","_symbolRadiansHalf","basedOn","_layoutNodesBasedOn","x12","y12","unitAngle","radianHalf","sumRadian","symbolRadianHalf","halfRemainRadian","_defineProperty","isIterable","hmr","insertInto","HTMLIFrameElement","insertAt","nc","singleton","convertToAbsoluteUrls","scaleImg","cancelScale","imgs","trueWidth","trueHeight","crop","cropping","startMove","cropW","cropH","cropOffsertX","cropOffsertY","cropMove","cropInfo","fixedBox","changeCropSize","FileReader","readAsArrayBuffer","arrayBuffer","orientation","getUint8","getUint16","getUint32","cropOldW","cropOldH","canChangeX","canChangeY","changeCropTypeX","changeCropTypeY","cropX","cropY","cropChangeX","cropChangeY","touchNow","isIos","coe","scaling","scalingSet","coeStatus","isCanShow","outputSize","outputType","canScale","autoCrop","autoCropWidth","autoCropHeight","fixedNumber","full","canMoveBox","centerBox","infoTrue","maxImgSize","enlarge","preW","limitMinSize","checkedImg","reload","showPreview","goAutoCrop","getVersion","checkOrientationImage","toBlob","clearCrop","crossOrigin","moveImg","leaveImg","touchScale","cancelTouchScale","moving","getImgAxis","createCrop","endCrop","cropper","checkoutImgAxis","getCropAxis","changeSize","changeScale","changeCropNow","changeCropEnd","checkCropLimitSize","startCrop","stopCrop","leaveCrop","moveCrop","getCropChecked","getCropData","getCropBlob","checkedMode","changeCrop","rotateLeft","rotateRight","rotateClear","onmousewheel","HTMLCanvasElement","VueCropper","vueCropper","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","skipTempReset","rootEntry","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","adjustEdge","FOCUS_ADJACENCY","UNFOCUS_ADJACENCY","opct","_lineDraw","_firstRender","graphView","groupNewProp","_layoutTimeout","_startForceLayoutIteration","warmUp","_layouting","setFixed","setUnfixed","circularRotateLabel","adjacentEdge","lb","maxX","maxY","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","_crender","getFlags","RegExpProto","$RegExpStringIterator","matchAll","msRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","seiresModelMap","__paletteScope","dataAll","filteredIdx","singleDataColor","singleDataBorderColor","maskColor","spinnerRadius","animateShape","$preventExtensions","iaddh","v2Min","v2Max","v2Scale","v2Add","v2Clone","v2Sub","constraint","prevPoint","nextPoint","cps","d0","cp0","UNSCOPABLES","caf","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","createStyles","styleText","computedStyle","getRenderInfo","detached","__resize_mutation_handler__","handleMutation","__resize_listeners__","__resize_observer_triggered__","runCallbacks","__resize_observer__","__resize_legacy_resize_handler__","initTriggers","__resize_rendered__","__resize_mutation_observer__","__resize_triggers__","triggers","getUpdatedSize","__resize_last__","resetTriggers","__resize_raf__","__resize_old_position__","expandChild","contract","csw","csh","eow","eoh","esw","esh","initOptions","autoresize","watchShallow","manualUpdate","lastArea","manualOptions","delegateMethod","delegateGet","__resizeHandler","computedOptions","initOptionsWatcher","__unwatchOptions","INIT_TRIGGERS","REWATCH_TRIGGERS","retrieveValue","PATH_BORDER_WIDTH","PATH_GAP_WIDTH","PATH_UPPER_LABEL_SHOW","PATH_UPPER_LABEL_HEIGHT","ecWidth","ecHeight","rootRect","viewAbovePath","rootSize","estimateRootSize","viewRootLayout","squarify","upperHeight","calculateRootPosition","prunning","hideChildren","thisLayout","halfGapWidth","upperLabelHeight","getUpperLabelHeight","layoutOffset","layoutOffsetUpper","totalArea","rowFixedLength","best","score","worst","orderBy","overLeafDepth","statistic","filterByThreshold","isLeafRoot","orderedChildren","deletePoint","areaMax","areaMin","squareArea","idx0WhenH","idx1WhenH","rowOtherLength","rowLen","wh1","remain","modWH","wh0","defaultSize","viewArea","currNodeValue","defaultPosition","targetCenter","clipRect","nodeInViewAbovePath","isAboveViewRoot","childClipRect","outputShape","inputShape","originWidth","originHeight","positiveOrNegative","doubledPosition","STACK_PREFIX","LARGE_BAR_MIN_WIDTH","getLayoutOnAxis","widthAndOffsets","doCalBarWidthAndOffset","isOnCartesian","isInLargeMode","getValueAxesMinGaps","axisValues","cnt","axisMinGaps","valuesInAxis","seriesInfoList","minGap","extentSpan","scaleSpan","seriesInfo","finalWidth","lastStackCoordsOrigin","isValueAxisH","getValueAxisStart","valueAxisHorizontal","largeBackgroundPoints","valuePair","pointsOffset","idxOffset","backgroundStart","RE_NARGS","_grid","_title","_line","_bar","_radarAxis","_radar","_legend","allConfig","tmpRect","AXIS_TYPES","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","__ordinalMeta","linkedNodesFinder","effectedModels","prepareDataCoordInfo","valueOrigin","valueStart","getValueStart","baseAxisDim","baseDataOffset","dataDimsForPoint","stackedOverDimension","getStackedOnPoint","dataCoordInfo","stackedData","ClippathManager","updateDom","clipPathEl","svgProxy","_textDom","RadarSeries","codePointAt","mergeRadarAxisDefaultConfig","calcRadarAxisCenter","calcRadarAxisRingRadius","calcRadarAxisLinePosition","calcRadarAxisAreaRadius","calcRadarAxisLabelPosition","radarAxisForUpdate","getSplitAreaConfig","beforeUpdateSplitArea","beforeChangeSplitArea","beforeUpdateSplitLine","beforeChangeSplitLine","getAxisLineConfig","splitGap","ringRadius","indicatorNum","indicatorGap","axisLinePosition","subRadius","areaRadius","axisLabelPosition","getSplitAreaShape","getSplitAreaStyle","getPointToLineDistance","getSplitLineShape","currenName","getAxisLineShape","getAxisLineStyle","getAxisLableShape","getAxisLableStyle","_axisLabelPosition$i","labelXpos","labelYPos","_text","Triangle","Diamond","Pin","tanX","tanY","cpLen","cpLen2","Arrow","symbolCtors","roundRect","square","diamond","pin","triangle","symbolShapeMakers","symbolBuildProxies","inBundle","proxySymbol","symbolPathSetColor","innerColor","symbolStyle","symbolShape","__isEmptyBrush","formatRegExp","isNativeStringType","asyncParallelArray","arrLength","asyncSerialArray","flattenObjArr","objArr","asyncMap","flattenArr","objArrKeys","objArrLength","complementError","fullField","messages","email","integer","getYear","custom","ruleType","spRegexp","ENUM","mismatch","_pattern","floatFn","dateObject","boolean","newMessages","invalid","Schema","_messages","source_","oc","getValidationMethod","errorFields","doIt","defaultField","addFullfield","schema","fieldsSchema","fieldSchema","errs","messageIndex","lineContain","quadraticContain","LargeLineShape","findDataIndex","LargeLineDraw","largeLineProto","lineEl","_setCommon","isIncremental","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","funnelLayout","take","resourceKey","userKey","getStore","release","uKey","HIGH_DOWN_PROP","RECORD_VERSION_PROP","mapModel","_renderSymbols","originalDataIndex","fullData","mainSeries","fullIndex","highDownRecord","recordVersion","onRegionHighDown","enterRegionHighDown","toHighOrDown","__mapOriginalZ2","log2","_mergeColor","roundRectHelper","VALID_TEXT_ALIGN","VALID_TEXT_VERTICAL_ALIGN","SHADOW_STYLE_COMMON_PROPS","_tmpTextPositionResult","_tmpBoxPositionResult","normalizeStyle","makeFont","renderRichText","renderPlainText","needDrawBg","needDrawBackground","checkCache","cachedByMe","styleFont","boxPos","applyTextRotation","boxX","adjustTextX","propItem","styleProp","ctxProp","textStrokeWidthPrev","strokeWidthChanged","strokeChanged","getFill","strokeText","fillText","parseRichText","drawRichText","contentWidth","lineTop","tokenCount","usedWidth","lineXLeft","lineXRight","placeToken","tokenStyle","isLineHolder","setCtx","isPlainBg","originalGlobalAlpha","onBgImageLoaded","isDefined","isHtmlElement","ELEMENT_NODE","Int8Array","PointerPath","parsePosition","formatLabel","GaugeView","posInfo","_renderMain","axisLineModel","angleRangeSpan","prevEndAngle","axisLineWidth","showAxis","_renderTicks","_renderPointer","_renderTitle","_renderDetail","minVal","maxVal","subSplitNumber","splitLineLen","tickLen","subStep","splitLineStyle","tickLineStyle","tickLine","valueExtent","detailModel","linesLayout","linesVisual","vmlCore","comma","imageTransformPrefix","Z2","ZLEVEL_BASE","Z_BASE","initRootElStyle","coordsize","coordorigin","encodeHtmlAttribute","rgb2Str","getZIndex","setColorAndOpacity","getColorAndAlpha","updateFillNode","zrEl","expansion","cs1","cs2","colorAndAlphaList","colorAndAlpha","color1","color2","opacity1","opacity2","focusposition","updateStrokeNode","dashstyle","updateFillAndStroke","vmlEl","isFill","createNode","nPoint","brushVML","vmlRoot","_vmlEl","needTransform","strokeEl","weight","removeRectText","onAdd","appendRectText","ow","oh","_imageSrc","_imageWidth","_imageHeight","imageRuntimeStyle","runtimeStyle","oldRuntimeWidth","oldRuntimeHeight","sw","sh","hasCrop","vmlElStyle","hasRotation","transformFilter","imageEl","_imageEl","cropEl","_cropEl","imageELStyle","tmpImage","cropElStyle","filterStr","textMeasureEl","DEFAULT_STYLE_NORMAL","fontStyleCache","fontStyleCacheCount","MAX_FONT_CACHE_SIZE","fontEl","getFontStyle","fontString","fontVariant","family","fromTextEl","textLine","textPathEl","skewEl","textVmlEl","_textVmlEl","textpathok","textVmlElStyle","polygonContain","getLineSelectors","xyIndex","inLineRange","layoutRange","showContent","displayMode","confine","showDelay","hideDelay","extraCssText","AngleAxis","angleToData","ordinalScale","ordinalExtent","unitSpan","unitH","maxH","lastAutoInterval","lastTickCount","percentPrecision","spaces","non","ltrim","exporter","ALIAS","FORCE","VISUAL_PRIORITY","resultVisual","visualMeta","concreteDim","opacityMap","itemOpacity","regExp","part","LargeSymbolDraw","_updateSymbolDraw","_getClipShape","_finished","someVectorAt","isTangent","$iterators","ArrayValues","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","DATA_NAME_INDEX","ThemeRiverSeries","fixData","rawDataLength","timeValueKeys","layData","lenCount","indexArr","index1","index2","nestestValue","nearestIdx","theValue","htmlName","htmlValue","offsetA","offsetB","bezierCurveLineNum","bezierCurvePoints","getBezierCurveLineControlPoints","closeBezierCurve","beforePointIndex","afterPointIndex","afterNextPointIndex","pointBefore","pointMiddle","pointAfter","pointAfterNext","firstSubCurve","lastSubCurve","getSymmetryPoint","_centerPoint","_updateLineDraw","getLayer","_lastZlevel","_showEffect","_clearLayer","hasEffect","_hasEffet","_isPolyline","DEFAULT_TOOLBOX_BTNS","isNew","brushComponents","brushComponentSpecifiedBtns","brushOpt","tbs","toolboxFeature","toolboxBrush","brushTypes","removeDuplicate","ENDS_WITH","$endsWith","endsWith","endPosition","shapeCompareFunc","_roots","_displayList","_displayListLen","includeIgnore","updateDisplayList","displayList","_updateAndAddDisplayable","afterUpdate","userSetClipPath","currentClipPath","parentClipPath","__storage","addChildrenToStorage","delChildrenFromStorage","_renderList","displayableSortFunc","brushHelper","elementList","fromAxisAreaSelect","oldAxisGroup","_axisGroup","coordSysModel","areaSelectStyle","getAreaSelectStyle","areaWidth","axisLayout","getAxisLayout","builderOpt","strokeContainThreshold","_refreshBrushController","extentLen","enableGlobalPan","panelId","makeRectPanelClipPath","isTargetByCursor","makeRectIsTargetByCursor","getLinearBrushOtherExtent","makeLinearBrushOtherExtent","removeOnClick","getCoverInfoList","coverInfoList","coverInfo","parallelAxisId","activeIntervals","FUNC_ERROR_TEXT","nativeMax","nativeMin","lastArgs","lastThis","maxWait","timerId","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","smoothline","regPolygon","ring","_bezierCurve2","_canvas","movementX","movementY","leftFocusPoint","rightFocusPoint","_ref21","_ref22","_ref23","_ref24","_ref25","minDistance","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","outsideRadius","_ref33","_ref34","_ref35","_ref36","_ref37","_ref38","_ref39","_ref40","_ref41","_ref42","_ref43","_ref44","_ref45","drawPolylinePath","_ref46","_ref47","_ref48","_ref49","_ref50","_ref51","_ref52","_ref53","_ref54","_ref55","_ref56","_ref57","_ref58","moveAfterPoints","_ref59","_ref60","_ref61","_ref62","_ref63","hoverPoints","drawBezierCurvePath","_ref64","_ref65","_ref66","_ref67","_ref68","_ref69","_cache$bezierCurve$","fy","curves","_ref70","_ref71","_ref72","_ref73","_ref74","_ref75","_ref76","_ref77","_ref78","_ref79","_ref80","_points$","_ref81","_ref82","_ref83","_ref84","_ref85","_ref86","_ref87","_position2","_ref88","_ref89","_ref90","_ref91","_shape$position","createGridClipPath","createPolarClipPath","sectorArea","clazzUtil","componentProto","GradientManager","addWithoutUpdate","svgElement","isSafeInteger","splitList","animationUtil","DRAG_THRESHOLD","PATH_LABEL_NOAMAL","PATH_LABEL_EMPHASIS","PATH_UPPERLABEL_NORMAL","PATH_UPPERLABEL_EMPHASIS","Z_BG","Z_CONTENT","getItemStyleEmphasis","getItemStyleNormal","createStorage","_breadcrumb","thisStorage","reRoot","rootNodeGroup","nodeGroup","_giveContainerGroup","renderResult","_doRender","renderFinally","_doAnimation","_resetController","_renderBreadcrumb","thisTree","oldTree","lastsForAnimation","oldStorage","willInvisibleEls","renderNode","willDeleteEls","clearStorage","thisViewChildren","oldViewChildren","sameTree","thisNode","storageName","delEls","__tmWillDelete","animationWrap","createWrap","__tmNodeWidth","__tmNodeHeight","targetX","targetY","fadein","_onPan","_onZoom","_clearController","mouseX","mouseY","findTarget","_zoomToNode","onSelect","thisWidth","thisHeight","thisInvisible","thisRawIndex","oldRawIndex","isParent","itemStyleNormalModel","itemStyleEmphasisModel","giveGraphic","bg","useUpperLabel","processInvisible","visualBorderColor","emphasisBorderColor","upperLabelWidth","prepareText","upperLabelRect","addDrillDownIcon","minChar","iconChar","lasts","prepareAnimationWhenHasOld","calculateZ","__tmDepth","__tmStorageName","prepareAnimationWhenNoOld","lastCfg","parentOldX","parentOldY","parentOldBg","zInLevel","zb","rExtent","getRadiusIdx","fixAngleOverlap","firstItem","ticksAngles","minorTickAngles","_axisLine","rId","r0Id","_axisTick","tickAngleItem","_minorTick","_axisLabel","rawCategoryData","commonLabelModel","labelTextAlign","labelTextVerticalAlign","isLabelSilent","makeAxisEventDataBase","targetType","rawLabel","prevAngle","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","imulh","settle","parseHeaders","isURLSameOrigin","requestData","auth","Authorization","responseURL","responseData","cookies","xsrfValue","onDownloadProgress","onUploadProgress","base64","ieee754","typedArraySupport","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromObject","assertSize","alloc","encoding","isEncoding","fromArrayLike","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","codePoints","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","dst","ecHelper","parseGeoJSON","_List","_Model","_Axis","_env","ecUtil","ariaModel","seriesCnt","ariaLabel","maxDataCnt","maxSeriesCnt","displaySeriesCnt","getTitle","getConfig","seriesLabels","seriesCount","seriesLabel","seriesTpl","getSeriesTypeName","displayCnt","dataLabels","keyValues","userConfig","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","setAreas","__lookupGetter__","deleteProperty","adjustSingleSide","viewLeft","viewTop","farthestX","shiftDown","shiftUp","changeX","isDownList","lastDeltaX","labelAlignTo","lastY","upList","downList","avoidOverlap","labelLayoutList","leftList","rightList","leftmostX","rightmostX","isPositionCenter","targetTextWidth","isAlignToEdge","realTextWidth","labelDistance","bleedMargin","truncateText","hasLabelRotate","minShowLabelRadian","labelLineLen2","ShadowManager","hasShadow","_shadowDom","_shadowDomId","domChild","stdDx","stdDy","stdDeviation","singleAxisHelper","_axisSplitHelper","SingleAxisView","Animatable","animatable","animateToShallow","objShallow","propertyCount","setAttrByPath","animatingShape","pathSplitted","animateFrom","_whiskerBoxCommon","seriesModelMixin","CandlestickSeries","defaultValueDimensions","borderColor0","animationUpdate","COORD_CONVERTS","INCLUDE_FINDER_MAIN_TYPES","targetInfoList","_targetInfoList","foundCpts","targetInfoBuilders","builder","formatMinMax","includeMainTypes","setOutputRanges","coordRanges","coordConvert","__rangeOffset","diffProcessor","xyMinMax","findTargetInfo","coordSyses","rangeOffset","getScales","getDefaultBrushType","getPanelRect","defaultBrushType","areaPanelId","targetInfoMatchers","xAxisModels","yAxisModels","gridModels","gridModelMap","xAxesHas","yAxesHas","cartesians","panelRectBuilder","geoModels","axisConvert","rangeOrCoordRange","xminymin","xmaxymax","axisNameIndex","axisDiffProcessor","refer","scales","xyMinMaxCurr","xyMinMaxOrigin","sizeCurr","sizeOrigin","UTF8Encoding","encodeScale","UTF8Scale","coordinates","encodeOffsets","decodePolygon","prevX","prevY","featureObj","setNodePosition","linearGradientColor","colorGap","lineSegments","linePointOne","linePointTwo","WEAK_SET","pieLayout","$iterDefine","setSpecies","SIZE","getEntry","setStrong","90","rCenter","unitStartX","unitStartY","unitEndX","unitEndY","lessThanCircle","_visualEncoding","updateController","modelId","$from","ignoreDuplicateOf","addToUnscopables","IS_CONCAT_SPREADABLE","spreadable","getDataWithEncodedVisual","dataWithEncodedVisual","IRRELEVANT_EXCLUDES","targetCoordSysModel","topTarget","URLSearchParams","product","assignValue","colorAll","afterLeaveCallback","__defineSetter__","$Number","BROKEN_COF","TRIM","third","maxCode","$typed","$ArrayBuffer","$DataView","$isView","$slice","ARRAY_BUFFER","fin","viewS","viewT","setUint8","labelDims","_subPixelOptimize","subPixelOptimizeOutputShape","hypot","larg","tanh","EFFECT_RIPPLE_NUMBER","updateRipplePath","rippleGroup","effectCfg","rippleEffectColor","ripplePath","effectSymbolProto","stopEffectAnimation","startEffectAnimation","effectOffset","rippleScale","updateEffectAnimation","oldEffectCfg","_effectCfg","DIFFICULT_PROPS","_parseSVG","originRoot","buildGraphic","rootMap","originRootHostKey","svgXML","svgWidth","svgHeight","BOOST_SIZE_THRESHOLD","LargeSymbolPath","symbolProxy","softClipShape","symbolProxyShape","canBoost","largeSymbolProto","endIndex","extrudeShadow","_traversalHelper","commonLayout","coorX","coorY","finalCoor","QUERY_REG","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","rawOption","mediaDefault","timelineOptions","mediaList","singleMedia","preProcess","applyMediaQuery","realMap","aspectratio","applicatable","realAttr","real","indicesEquals","indices1","indices2","oldOption","newCptOpt","oldCptOpt","oldOptionBackup","newParsedOption","isRecreate","optionBackup","Draggable","_dragStart","_drag","_dragEnd","draggingTarget","_draggingTarget","dispatchToElement","dropTarget","lastDropTarget","_dropTarget","rootDepth","renderRollupNode","rPerLevel","rStart","rEnd","siblingAngle","isAsc","axisTrigger","collect","realIndex","paramsSet","reals","fakeValue","layoutInput","rParam","pathContain","pathProxyForDraw","hasFillGradient","hasStrokeGradient","hasFillPattern","hasStrokePattern","_fillGradient","_strokeGradient","ctxLineDash","shapeCfg","needsUpdateRect","rectWithStroke","_rectWithStroke","lineScale","dirtyPath","__clipTarget","defaultShape","thisShape","Cartesian","getAxesByScale","axisX","axisY","xScale","yScale","xAxisExtent","yAxisExtent","xExtent","yExtent","_dimName","_axisIndex","_valueWindow","_percentWindow","_dataExtent","_minMaxSpan","_dataZoomModel","calculateDataExtent","seriesExtent","fixExtentByAxis","isCategoryAxis","setAxisModel","isRestore","percentWindow","useOrigin","setMinMaxSpan","percentSpan","valueSpan","getOtherAxisModel","coordSysIndexName","foundOtherAxisModel","isCartesian","otherAxisModel","hasPropModeValue","boundPercent","boundValue","spans","restrictSet","fromWindow","toWindow","fromExtent","toExtent","toValue","dataWindow","leftOut","rightOut","thisHasValue","thisLeftOut","thisRightOut","isInWindow","originalLarge","originalProgressive","axesInfo","seriesInvolved","coordSysMap","collectAxesInfo","collectSeriesInfo","globalAxisPointerModel","linksOption","linkGroups","coordSysKey","makeKey","axesInfoInCoordSys","baseTooltipModel","saveTooltipAxisInfo","triggerAxis","cross","tooltipAxes","fromTooltip","axisPointerShow","isHandleTrigger","makeAxisPointerModel","involveSeries","getLinkGroupIndex","linkGroup","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","seriesTooltipTrigger","seriesTooltipShow","seriesDataCount","linkOption","checkPropInLink","linkPropValue","axisPropValue","GRADIENT_LEVELS","Heatmap","_gradientPixels","colorFunc","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","imageData","getImageData","pixels","pixelLen","diffOpacity","gradientOffset","putImageData","brushCanvas","_brushCanvas","gradientPixels","pixelsSingleState","TOUCH_CLICK_DELAY","globalEventSupported","localNativeListenerNames","mouseHandlerNames","touchHandlerNames","pointerEventNameMap","pointerdown","pointerup","pointermove","pointerout","pointerHandlerNames","nm","mouse","globalNativeListenerNames","eventNameFix","isPointerFromTouch","setTouchTimer","touching","touchTimer","markTouch","normalizeGlobalEvent","FakeGlobalEvent","isLocalEl","elTmp","painterRoot","fakeGlobalEventProto","localDOMHandlers","_mayPointerCapture","downPoint","togglePointerCapture","_pointerCapturing","zrEventControl","zrIsToLocalDOM","_lastTouchMoment","processGesture","touchmove","touchend","globalDOMHandlers","pointerCaptureReleasing","mountLocalDOMEventListeners","domHandlers","nativeEventName","mountSingleDOMEventListener","mountGlobalDOMEventListeners","nativeEventListener","listenerOpts","domTarget","unmountDOMEventListeners","isPointerCapturing","globalHandlerScope","_globalHandlerScope","DOMHandlerScope","HandlerDomProxy","_localHandlerScope","handlerDomProxyProto","setCursor","deleteMetadata","processedMapType","mapSymbolOffsets","subMapSeries","createInstance","axios","promises","spread","$seal","dimAxisMapper","_axes","_dimList","_dataCoordConvert","dimList","_broadcast","SankeySeries","localPosition","rawDataOpt","layoutIterations","makeAction","PROXIMATE_ONE_DAY","calendarModel","_rangeInfo","_sw","_sh","getFirstDayOfWeek","_firstDayOfWeek","getDateInfo","getNextNDay","_lineWidth","_getRangeInfo","_initRangeOption","whNames","cellNumbers","cellSizeSpecified","whGlobal","calendarRect","dayInfo","nthWeek","pointToDate","nthX","nthY","_getDateByWeeksAndDay","reversed","startDateNum","endDateNum","dateNum","fweek","lweek","nthDay","calendarList","calendarSeries","colorProcessor","defaultStyle","fontVarient","gradientStops","initTransform","colorProcessorKeys","allKeys","colorKeys","colorsKeys","initStyle","initGraphStyle","initGradient","autoSetStyleKeys","gradientValidator","colorOpacity","clonedColor","getAutoColorStops","gradientParamsLength","stopGap","clonedStyle","$re","stackInfoMap","stackInfoList","stackInfo","stackResultDimension","stackedDimension","stackedByDimension","isStackedByIndex","calculateStack","targetStackInfo","idxInStack","resultVal","resultNaN","byValue","stackedDataRawIndex","stackedOver","$filter","legendFilter","SILENT","makeEventPacket","eveType","stopEvent","EmptyProxy","handlerNames","_hovered","_gestureMgr","setHandlerProxy","isHover","isOutsideBoundary","handlerInstance","isOutside","lastHovered","lastHoveredTarget","hovered","hoveredTarget","eventControl","eventArgs","eventPacket","eachOtherLayer","layer","hoverCheckResult","gestureMgr","_downEl","_downPoint","_upEl","isKorean","reg","magicTypeLang","INNER_STACK_KEYWORD","MagicType","getIcons","availableIcons","icons","seriesOptGenreator","isStack","radioTypes","newTitle","generateNewSeriesTypes","newSeriesOpt","currentType","doCreateNode","urn","vmlInited","zrvml","initVML","styleSheets","createStyleSheet","addRule","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","normalizeWheel","sX","sY","pX","pY","AxisPointerView","_updatePathDirty","vec2Min","vec2Max","v2Copy","isPointNull","drawSegment","segLen","allLen","smoothMin","smoothMax","drawMono","drawNonMono","prevIdx","prevP","ctrlLen","nextP","ratioNextSeg","lenPrevSeg","lenNextSeg","getBoundingBox","ptMin","ptMax","stackedOnBBox","LinkedList","linkedListProto","Entry","insertEntry","_list","_maxSize","_lastRemovedEntry","LRUProto","leastUsedEntry","PictorialBarSeries","sunburstLayout","fecha","twoDigits","threeDigits","fourDigits","word","literal","regexEscape","shorten","sLen","monthUpdate","arrName","pad","monthNames","monthNamesShort","dayNamesShort","DoFn","formatFlags","dateObj","DD","dd","ddd","dddd","MM","MMM","MMMM","yy","yyyy","hh","HH","mm","ss","getMilliseconds","SS","SSS","ZZ","parseFlags","cent","millisecond","isPm","masks","shortDate","mediumDate","longDate","fullDate","shortTime","mediumTime","longTime","i18nSettings","literals","$0","$1","dateStr","dateInfo","parseInfo","newFormat","previousZoom","fixX","fixY","quadratic","swapExtrema","windingCubic","nRoots","y0_","y1_","nExtrema","windingQuadratic","y_","windingArc","containPath","isStroke","validateRangeInOneMonth","extractTimeFormat","extractDateFormat","changeYearMonthAndClampDate","timeWithinRange","limitTimeRange","clearMilliseconds","clearTime","modifyWithTimeString","modifyTime","modifyDate","getRangeMinutes","getMonthDays","getPrevMonthLastDays","getRangeHours","getWeekNumber","getStartDateOfMonth","nextDate","prevDate","getFirstDayOfMonth","getDayCountOfYear","getDayCountOfMonth","formatDate","isDateObject","getI18nSettings","_date2","isLeapYear","week1","disabledHours","setRangeData","startHour","startMinute","endHour","endMinute","normalizeDate","ndate","nranges","nrange","limitedDate","$atanh","atanh","_axesLayout","restrict","layoutAxisWithoutExpand","layoutLength","axisCount","axisNameAvailableWidth","axisLabelShow","layoutAxisWithExpand","nameTruncateMaxWidth","axisCollapseWidth","winInnerIndices","axisExpandWindow0Pos","axisExpandWindow","_updateAxesFromSeries","_makeLayoutInfo","axisBase","layoutBase","pixelDimIndex","pAxis","pLayout","_layoutAxes","winSize","layoutExtent","positionTable","rotationTable","axisCoordToPoint","dataDimensions","hasActiveSet","lenj","getActiveState","getSlidedAxisExpandWindow","pointCoord","triggerArea","useJump","PolarAxisModel","polarId","polarAxisDefaultExtendedOption","treemapVisual","treemapLayout","_babelPolyfill","DEFINE_PROPERTY","padStart","padEnd","listComponentHelper","toolboxModel","featureOpts","_features","featureNames","_featureNames","processFeature","titleText","__title","needPutOnTop","topOffset","oldName","isUserFeatureName","createIconPaths","iconName","iconPaths","iconStatus","iconStyleModel","iconStyleEmphasisModel","defaultTextPosition","parseInt10","checkParentAvailable","prevSibling","SVGPainter","_opts","svgDom","bgRoot","gradientManager","clipPathManager","shadowManager","viewport","_svgDom","_backgroundRoot","_viewport","_visibleList","createMethodNotSupport","viewportRoot","_paintList","_backgroundNode","bgNode","visibleList","listLen","newVisibleList","prevSvgElement","textSvgElement","_getDefs","_getSize","_width","_height","viewportStyle","whIdx","cwh","plt","prb","createPattern","moveAnimation","propsEqual","lastProp","lastProps","newProps","updateLabelShowHide","labelEl","getHandleTransProps","updateMandatoryProps","_group","_lastGraphicKey","_handle","_lastValue","_lastStatus","_payloadInfo","_axisModel","_axisPointerModel","_moveAnimation","determineAnimation","doUpdateProps","updatePointerEl","updateLabelEl","createPointerEl","createLabelEl","useSnap","pointerEl","handleModel","onmousedown","_onHandleDragMove","_onHandleDragEnd","includeStyles","_moveHandleToValue","_doDispatchAxisPointer","payloadInfo","doClear","buildLabel","xDimIndex","120","BoxplotView","constDim","updateNormalBoxData","BoxPath","TimelineModel","SliderTimelineModel","checkpointStyle","playIcon","stopIcon","nextIcon","prevIcon","idStart","colorQuery","opacityQuery","rApply","fApply","thisArgument","argumentsList","restoreLang","Restore","easeInOutBounce","easeOutBounce","easeInBounce","easeInOutElastic","easeOutElastic","easeInElastic","easeInOutBack","easeOutBack","easeInBack","easeInOutQuint","easeOutQuint","easeInQuint","easeInOutQuart","easeOutQuart","easeInQuart","easeOutCubic","easeInCubic","easeInOutQuad","easeOutQuad","easeInQuad","easeInOutSine","easeOutSine","easeInSine","prepareCartesian2d","prepareGeo","prepareSingleAxis","preparePolar","prepareCalendar","ITEM_STYLE_NORMAL_PATH","ITEM_STYLE_EMPHASIS_PATH","LABEL_NORMAL","LABEL_EMPHASIS","GROUP_DIFF_PREFIX","prepareCustoms","getPathData","__customPathData","__customImagePath","__customText","__customGraphicType","updateEl","prepareStyleTransition","targetOpacity","styleEmphasis","oldElStyle","makeRenderItem","customSeries","prepareResult","currDataIndexInside","currItemModel","currLabelNormalModel","currLabelEmphasisModel","currVisualColor","userAPI","barLayout","currentSeriesIndices","userParams","dataInsideLength","wrapEncodeDef","currDirty","updateCache","applyExtraBefore","applyExtraAfter","doCreateOrUpdate","simplyRemove","elOptionType","elOptionShape","hasOwnPathData","mergeChildren","$mergeChildren","byName","diffChildrenByName","diffGroupChildren","processAddUpdate","processRemove","childOption","dummyModel","stylePropName","useTransform","setIncrementalAndHoverLayer","elementName","makeCategoryLabels","makeRealNumberLabels","makeCategoryTicks","makeCategoryLabelsActually","labelCategoryInterval","numericLabelInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","tickCategoryInterval","ticksCache","optionTickInterval","labelsResult","autoInterval","fetchAutoCategoryIntervalCalculationParams","axisRotate","unitW","maxW","axisExtend0","axisExtend1","categoryInterval","onlyTick","startTick","showAllLabel","includeMinLabel","includeMaxLabel","tVal","$iterDetect","IS_WEAK","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","DUMMY_COMPONENT_NAME_PREFIX","subOpts","subOptName","newCptOptions","cptOption","idMap","existCpt","idNum","batchA","batchB","mapA","mapB","mapToArray","sourceBatch","otherMap","otherDataIndices","isData","innerUniqueIndex","hostObj","parsedKey","queryType","queryParam","_setting","_isBlank","childCount","_doAdd","addBefore","includeChildren","tmpMat","extremity","xDim","yDim","ordinaryGetMetadata","getMetadata","defineMetadata","104","30","element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__","_baseAxisDim","addOrdinal","xAxisType","yAxisType","baseAxisDimIndex","baseAxisType","otherAxisType","newOptionData","newItem","getNearestColorPalette","paletteNum","colorIdx","colorNameMap","scopeFields","defaultColorPalette","layeredColorPalette","$getPrototypeOf","widthNoScroll","widthWithScroll","relativeURL","doneCallback","elExistsMap","53","_select_src_option__WEBPACK_IMPORTED_MODULE_0__","fixPosition","textWidthCache","textWidthCacheCounter","TEXT_CACHE_MAX","STYLE_REG","getRichTextRect","getPlainTextRect","halfHeight","adjustTextPositionOnRect","dummyStyle","prepareTruncateOptions","truncateSingleLine","cnCharWidth","ascCharWidth","ellipsisWidth","subLength","estimateLength","getLineHeight","truncOuterHeight","truncOuterWidth","matchedIndex","pushTokens","stlPadding","truncateWidth","truncateHeight","tokenHeight","tokenWidth","tokenWidthNotSpecified","percentWidth","bgImg","paddingW","remianTruncWidth","isEmptyStr","strs","tokensLen","renderPlanner","Chart","renderTaskPlan","renderTaskReset","toggleHighlight","chartProto","elSetState","progressMethodMap","forceFirstProgress","flatMap","_popup","PopperJS","forceDestroy","placementMap","VMLPainter","vmlViewport","_vmlRoot","_vmlViewport","_firstPaint","__alreadyNotVisible","_getWidth","_getHeight","vmlViewportStyle","replacableOptionKeys","dataBound","contentColor","getTargetSeriesIndices","optionSeriesIndex","isMinMax","optDim","listDimensions","isCalculationCoord","completeSingle","defa","completeInactive","stateExist","stateAbsent","optExist","optAbsent","completeController","symbolExists","symbolSizeExists","_regenerator","_asyncToGenerator2","_style","_transition","configAbleNot","animationRoot","animationKeys","addedProcessor","beforeDraw","beforeMove","attrName","_callee2","changeRoot","changeKeys","beforeState","_args2","_context2","_callee","_context","_x3","_x2","stateItem","noFrame","currentKeys","lastState","pauseAnimation","playAnimation","_callee3","_context3","_x4","beforeDelete","modelHelper","illegalPoint","isIllegalPoint","inputAxesInfo","shouldHide","outputFinder","showValueMap","updaters","showPointer","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","processOnAxis","linkTriggers","tarAxisInfo","tarKey","srcAxisInfo","srcKey","srcValItem","makeMapperParam","updateModelActually","dispatchTooltipActually","dispatchHighDownActually","dontSnap","buildPayloadsBySeries","payloadBatch","snapToValue","seriesNestestValue","coordSysItem","coordSysId","coordSysIndex","coordSysMainType","outputAxesInfo","valItem","highDownKey","lastHighlights","newHighlights","toHighlight","toDownplay","setScrollDataIndex","$buffer","propertyDesc","toIndex","createArrayIncludes","ArrayIterators","arrayFill","arrayCopyWithin","SHARED_BUFFER","BYTES_PER_ELEMENT","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayValues","arrayEntries","arrayLastIndexOf","arrayReduce","arrayReduceRight","arraySort","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","WRONG_LENGTH","allocate","LITTLE_ENDIAN","FORCED_SET","toOffset","BYTES","speciesFromList","fromList","addGetter","internal","$of","TO_LOCALE_BUG","$toLocaleString","predicate","$begin","isTAIndex","$getDesc","$setDesc","$TypedArrayPrototype$","CLAMPED","GETTER","SETTER","TypedArray","TAC","TypedArrayPrototype","addElement","$offset","$length","$len","$nativeIterator","CORRECT_ITER_NAME","$iterator","rawGeoJson","rawSpecialAreas","parsers","hasOwnMetadata","groupSeriesByAxis","groupItem","calculateBase","layoutSingleSeries","boxOffsetList","boxWidthList","axisList","boundList","maxDataCount","boxWidthBound","availableWidth","boxGap","boxWidth","median","end1","end2","end4","end5","layEndLine","endCenter","DATA_VIEW","WRONG_INDEX","BaseBuffer","BUFFER","BYTE_LENGTH","BYTE_OFFSET","$BUFFER","$LENGTH","$OFFSET","packIEEE754","unpackIEEE754","unpackI32","packI8","packI16","packI32","packF64","packF32","isLittleEndian","numIndex","intIndex","pack","conversion","ArrayBufferProto","$setInt8","setInt8","getInt8","bufferLength","getInt16","getInt32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","HOVER_LAYER_ZLEVEL","CANVAS_ZLEVEL","EL_AFTER_INCREMENTAL_INC","INCREMENTAL_INC","isLayerValid","__builtin__","isDisplayableCulled","isClipPathChanged","prevClipPaths","doClip","createRoot","domRoot","singleCanvas","_singleCanvas","rootStyle","zlevelList","_zlevelList","layers","_layerConfig","_needsManuallyCompositing","mainLayer","_domRoot","_hoverlayer","_hoverElements","isSingleCanvas","paintAll","_redrawId","_backgroundColor","__hoverMir","hoverElements","hoverLayer","originalEl","_doPaintEl","getHoverLayer","redrawId","_updateLayerStatus","finished","_doPaintList","_compositeManually","eachBuiltinLayer","layerList","useTimer","firstEl","dTime","prevElClipPaths","currentLayer","forcePaint","insertLayer","layersMap","prevLayer","prevDom","eachLayer","getLayers","updatePrevLayer","prevZlevel","incrementalLayerCount","layerConfig","_zlevel","delLayer","_progressiveLayers","clearLayer","imageLayer","renderToCanvas","shadowBlurSize","leftMargin","rightMargin","topMargin","bottomMargin","pathTransform","ImageShape","imgShape","$pad","WEBKIT_BUG","signbit","upperCaseFirst","group1","replaceReg","replaceMap","'","TPL_VAR_ALIAS","wrapVar","varName","seriesIdx","paramsList","seriesLen","formatTplSimple","isUTC","utc","getTextBoundingRect","blank","autoPlay","rewind","playInterval","_names","_initData","dataArr","idxArr","positionMap","directionMap","stackedByDimInfo","stackedDimInfo","byIndex","stackedCoordDimension","mayStack","stackedDimCoordDim","stackedDimType","stackedDimCoordIndex","stackedDim","targetDim","MONTH_TEXT","EN","CN","WEEK_TEXT","_tlpoints","_blpoints","_firstDayOfMonth","_firstDayPoints","rangeData","_renderDayRect","_renderLines","_renderYearText","_renderMonthText","_renderWeekText","itemRectStyleModel","addPoints","_getLinePointsOfOneWeek","_drawSplitline","_getEdgesPoints","poyline","tmpD","_formatterLabel","_yearTextPositionControl","xc","yc","posPoints","yearText","_monthTextPositionControl","termPoints","firstDayPoints","monthText","_weekTextPositionControl","weekText","mathAtan2","86","resizeGeo","leftTop","rightBottom","boxLayoutOption","useCenterAndSize","setGeoCoords","geoList","mapModelGroupBySeries","nameMapList","singleMapSeries","originRegionArr","regionsArr","pp","initialFriction","v12","nLen","repFact","handleSpan","originalDistSign","getSpanSign","extentMinSpan","realExtent","currDistSign","dataSample","treeLayout","factories","partArgs","bound","diffData","diffResult","idx1","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldDataNewCoordInfo","diffItem","pointAdded","currentPt","nextPt","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","stackedOnCurrent","stackedOnNext","SingleAxisPointer","getPointDimIndex","ScrollableLegendModel","pageButtonItemGap","pageIcons","pageIconColor","pageIconInactiveColor","pageTextStyle","_bbox","lineAnimationDiff","isPointsSame","points2","getBoundingDiff","min1","max1","getSmooth","getStackedOnPoints","turnPointsIntoStep","stepTurnAt","stepPoints","stepPt","stepPt2","getVisualGradient","stopLen","tinyExtent","minCoord","maxCoord","coordSpan","getIsIgnoreFunc","isAuto","canShowAllSymbolForCategory","categoryDataDim","labelMap","availSize","createLineClipPath","_lineGroup","isCoordSysPolar","prevCoordSys","_coordSys","_polyline","_polygon","isAreaChart","isIgnoreFunc","__temp","clipShapeForSymbol","_clipShapeForSymbol","_newPolygon","isIgnore","_stackedOnPoints","_updateAnimation","_newPolyline","stackedOnSeries","_valueOrigin","__points","updatedDataInfo","diffStatus","ptIdx","contrastColor","axisCommon","CartesianAxisView","loopGeo","newRegion","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","runClearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","Item","parallelPreprocessor","CLICK_THRESHOLD","_handlers","_throttledDispatchExpand","_dispatchExpand","checkTrigger","_mouseDownPoint","mouseDownPoint","DEFAULT_OUT_OF_BRUSH_COLOR","BrushModel","brushMode","transformable","inBrush","outOfBrush","generateBrushOption","inModule","73","$forEach","STRICT","MAP","Task","_reset","_plan","_onDirty","_dirty","taskProto","planResult","upTask","_upstream","lastModBy","normalizeModBy","_modBy","lastModDataCount","_modDataCount","_dueEnd","_outputDueEnd","_progress","_dueIndex","doProgress","outputDueEnd","_settedOutputEnd","winCount","sStep","sCount","modNext","sequentialNext","taskIns","_callingProgress","downstream","_downstream","downTask","108","normalizeRect","localPoints","specifiedXYIndex","brushWidth","targetModel","localCursorPoint","$imul","imul","STARTS_WITH","$startsWith","startsWith","TEXT_PADDING","ITEM_GAP","ARRAY_LENGTH","makeItemPoints","packEventData","itemNode","selfType","normalStyleModel","layoutParam","totalWidth","_prepare","_renderContent","lastX","availableSize","getAvailableSize","eject","dataStatistics","statisticType","mapKey","seriesGroups","hostGeoModel","seriesList","symbolCtor","_symbolCtor","symbolDrawProto","normalizeUpdateOpt","SymbolCtor","enableAnimation","PieSeries","_createSelectableList","minShowLabelAngle","hoverOffset","avoidLabelOverlap","alignTo","distanceToLabelLine","HV_NAMES","boxLayout","currentLineMaxSize","nextX","nextY","nextChild","nextChildRect","vbox","hbox","verticalMargin","horizontalMargin","elPos","targetOption","hResult","vResult","newParams","newValueCount","mergedValueCount","enoughParamNumber","hasProp","cbrt","boxplotVisual","boxplotLayout","matrixUtil","dumbGroup","_dumbGroup","hasBuilder","builders","pt1","pt2","arrows","symbolWidth","symbolHeight","axisTickLabel","ticksEls","buildAxisMajorTicks","labelEls","buildAxisLabel","fixMinMaxLabelShow","buildAxisMinorTicks","gapSignal","isNameLocationCenter","nameRotation","endTextLayout","truncateOpt","truncatedText","__fullText","__truncatedText","axisRotation","rotationDiff","textRotate","onLeft","tickEls","nextLabel","lastLabel","prevLabel","firstTick","lastTick","ignoreEl","isTwoLabelOverlapped","firstRect","nextRect","mRotationBack","createTicks","tickTransform","tickEndCoord","aniid","tickEl","minorTickLineStyle","minorTicksEls","itemLabelModel","compatStyle","compatLayoutProperties","LAYOUT_PROPERTIES","COMPATITABLE_COMPONENTS","clipOverflow","pointerColor","dataRange","COVER_Z","UNSELECT_THRESHOLD","MIN_RESIZE_LINE_WIDTH","MUTEX_RESOURCE_KEY","DIRECTION_MAP","CURSOR_MAP","nw","DEFAULT_BRUSH_OPT","baseUID","_brushType","_brushOption","_panels","_covers","_creatingCover","_creatingPanel","_enableGlobalPan","pointerHandlers","doEnableBrush","mountHandlers","doDisableBrush","unmountHandlers","createCover","cover","coverRenderers","__brushOption","endCreating","creatingCover","coverRenderer","getCoverRenderer","updateCoverShape","updateCoverAfterCreation","getPanelByPoint","getPanelByCover","clearCovers","covers","originalLength","shouldShowCover","getTrackEnds","createBaseRectCover","doDrift","edgeNames","makeStyle","updateBaseRect","localRange","x2a","y2a","widtha","heighta","updateRectShape","mainEl","globalDir","getGlobalDirection","pointsToRect","clipByPanel","formatRectRange","localDirection","inverseMap","driftRect","toRectRange","fromRectRange","rectRange","localDelta","toLocalDelta","namePart","ind","driftPolygon","localD","localZero","xmin","ymin","xmax","ymax","resetCursor","isOutsideZrArea","currPanel","rawE","mainShapeContain","updateCoverByMouse","eventParams","thisBrushOption","determineBrushType","coverBrushOption","getCreatingRange","panelOpts","eachCover","brushOptionList","tmpIdPrefix","oldCovers","newCovers","oldGetKey","addOrUpdate","newBrushOption","getLineRenderer","localTrack","_isFinite","_radiusAxis","_angleAxis","maxAngle","colorAccessPath","colorCallback","borderColorAccessPath","samplers","nearest","indexSampler","sampler","PATH_COLOR","BoxplotSeries","brushLang","Brush","_brushMode","isBrushed","styleModel","confineInContainer","bgColor","axisDimension","symbolTag"],"mappings":"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AQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EAAQ,SACR,EAAQ,QACR,EAAQ,QACR,EAAQ,QACR,EA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","file":"js/chunk-vendors.845ccc0a.js","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.parallel',\n dependencies: ['parallel'],\n visualColorAccessPath: 'lineStyle.color',\n getInitialData: function (option, ecModel) {\n var source = this.getSource();\n setEncodeAndDimensions(source, this);\n return createListFromArray(source, this);\n },\n\n /**\n * User can get data raw indices on 'axisAreaSelected' event received.\n *\n * @public\n * @param {string} activeState 'active' or 'inactive' or 'normal'\n * @return {Array.} Raw indices\n */\n getRawIndicesByActiveState: function (activeState) {\n var coordSys = this.coordinateSystem;\n var data = this.getData();\n var indices = [];\n coordSys.eachActiveState(data, function (theActiveState, dataIndex) {\n if (activeState === theActiveState) {\n indices.push(data.getRawIndex(dataIndex));\n }\n });\n return indices;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'parallel',\n parallelIndex: 0,\n label: {\n show: false\n },\n inactiveOpacity: 0.05,\n activeOpacity: 1,\n lineStyle: {\n width: 1,\n opacity: 0.45,\n type: 'solid'\n },\n emphasis: {\n label: {\n show: false\n }\n },\n progressive: 500,\n smooth: false,\n // true | false | number\n animationEasing: 'linear'\n }\n});\n\nfunction setEncodeAndDimensions(source, seriesModel) {\n // The mapping of parallelAxis dimension to data dimension can\n // be specified in parallelAxis.option.dim. For example, if\n // parallelAxis.option.dim is 'dim3', it mapping to the third\n // dimension of data. But `data.encode` has higher priority.\n // Moreover, parallelModel.dimension should not be regarded as data\n // dimensions. Consider dimensions = ['dim4', 'dim2', 'dim6'];\n if (source.encodeDefine) {\n return;\n }\n\n var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n if (!parallelModel) {\n return;\n }\n\n var encodeDefine = source.encodeDefine = createHashMap();\n each(parallelModel.dimensions, function (axisDim) {\n var dataDimIndex = convertDimNameToNumber(axisDim);\n encodeDefine.set(axisDim, dataDimIndex);\n });\n}\n\nfunction convertDimNameToNumber(dimName) {\n return +dimName.replace('dim', '');\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar layout = require(\"../../util/layout\");\n\nvar helper = require(\"./helper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PiecewiseVisualMapView = VisualMapView.extend({\n type: 'visualMap.piecewise',\n\n /**\n * @protected\n * @override\n */\n doRender: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var textStyleModel = visualMapModel.textStyleModel;\n var textFont = textStyleModel.getFont();\n var textFill = textStyleModel.getTextColor();\n\n var itemAlign = this._getItemAlign();\n\n var itemSize = visualMapModel.itemSize;\n\n var viewData = this._getViewData();\n\n var endsText = viewData.endsText;\n var showLabel = zrUtil.retrieve(visualMapModel.get('showLabel', true), !endsText);\n endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);\n zrUtil.each(viewData.viewPieceList, renderItem, this);\n endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);\n layout.box(visualMapModel.get('orient'), thisGroup, visualMapModel.get('itemGap'));\n this.renderBackground(thisGroup);\n this.positionGroup(thisGroup);\n\n function renderItem(item) {\n var piece = item.piece;\n var itemGroup = new graphic.Group();\n itemGroup.onclick = zrUtil.bind(this._onItemClick, this, piece);\n\n this._enableHoverLink(itemGroup, item.indexInModelPieceList);\n\n var representValue = visualMapModel.getRepresentValue(piece);\n\n this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);\n\n if (showLabel) {\n var visualState = this.visualMapModel.getValueState(representValue);\n itemGroup.add(new graphic.Text({\n style: {\n x: itemAlign === 'right' ? -textGap : itemSize[0] + textGap,\n y: itemSize[1] / 2,\n text: piece.text,\n textVerticalAlign: 'middle',\n textAlign: itemAlign,\n textFont: textFont,\n textFill: textFill,\n opacity: visualState === 'outOfRange' ? 0.5 : 1\n }\n }));\n }\n\n thisGroup.add(itemGroup);\n }\n },\n\n /**\n * @private\n */\n _enableHoverLink: function (itemGroup, pieceIndex) {\n itemGroup.on('mouseover', zrUtil.bind(onHoverLink, this, 'highlight')).on('mouseout', zrUtil.bind(onHoverLink, this, 'downplay'));\n\n function onHoverLink(method) {\n var visualMapModel = this.visualMapModel;\n visualMapModel.option.hoverLink && this.api.dispatchAction({\n type: method,\n batch: helper.makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)\n });\n }\n },\n\n /**\n * @private\n */\n _getItemAlign: function () {\n var visualMapModel = this.visualMapModel;\n var modelOption = visualMapModel.option;\n\n if (modelOption.orient === 'vertical') {\n return helper.getItemAlign(visualMapModel, this.api, visualMapModel.itemSize);\n } else {\n // horizontal, most case left unless specifying right.\n var align = modelOption.align;\n\n if (!align || align === 'auto') {\n align = 'left';\n }\n\n return align;\n }\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, text, itemSize, showLabel, itemAlign) {\n if (!text) {\n return;\n }\n\n var itemGroup = new graphic.Group();\n var textStyleModel = this.visualMapModel.textStyleModel;\n itemGroup.add(new graphic.Text({\n style: {\n x: showLabel ? itemAlign === 'right' ? itemSize[0] : 0 : itemSize[0] / 2,\n y: itemSize[1] / 2,\n textVerticalAlign: 'middle',\n textAlign: showLabel ? itemAlign : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n group.add(itemGroup);\n },\n\n /**\n * @private\n * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.\n */\n _getViewData: function () {\n var visualMapModel = this.visualMapModel;\n var viewPieceList = zrUtil.map(visualMapModel.getPieceList(), function (piece, index) {\n return {\n piece: piece,\n indexInModelPieceList: index\n };\n });\n var endsText = visualMapModel.get('text'); // Consider orient and inverse.\n\n var orient = visualMapModel.get('orient');\n var inverse = visualMapModel.get('inverse'); // Order of model pieceList is always [low, ..., high]\n\n if (orient === 'horizontal' ? inverse : !inverse) {\n viewPieceList.reverse();\n } // Origin order of endsText is [high, low]\n else if (endsText) {\n endsText = endsText.slice().reverse();\n }\n\n return {\n viewPieceList: viewPieceList,\n endsText: endsText\n };\n },\n\n /**\n * @private\n */\n _createItemSymbol: function (group, representValue, shapeParam) {\n group.add(createSymbol(this.getControllerVisual(representValue, 'symbol'), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], this.getControllerVisual(representValue, 'color')));\n },\n\n /**\n * @private\n */\n _onItemClick: function (piece) {\n var visualMapModel = this.visualMapModel;\n var option = visualMapModel.option;\n var selected = zrUtil.clone(option.selected);\n var newKey = visualMapModel.getSelectedMapKey(piece);\n\n if (option.selectedMode === 'single') {\n selected[newKey] = true;\n zrUtil.each(selected, function (o, key) {\n selected[key] = key === newKey;\n });\n } else {\n selected[newKey] = !selected[newKey];\n }\n\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: selected\n });\n }\n});\nvar _default = PiecewiseVisualMapView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./tooltip/TooltipModel\");\n\nrequire(\"./tooltip/TooltipView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME Better way to pack data in graphic element\n\n/**\n * @action\n * @property {string} type\n * @property {number} seriesIndex\n * @property {number} dataIndex\n * @property {number} [x]\n * @property {number} [y]\n */\necharts.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n}, // noop\nfunction () {});\necharts.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n}, // noop\nfunction () {});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar _model = require(\"../../util/model\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar FunnelSeries = echarts.extendSeriesModel({\n type: 'series.funnel',\n init: function (option) {\n FunnelSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this)); // Extend labelLine emphasis\n\n this._defaultLabelLine(option);\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = FunnelSeries.superCall(this, 'getDataParams', dataIndex);\n var valueDim = data.mapDimension('value');\n var sum = data.getSum(valueDim); // Percent is 0 if sum is 0\n\n params.percent = !sum ? 0 : +(data.get(valueDim, dataIndex) / sum * 100).toFixed(2);\n params.$vars.push('percent');\n return params;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n legendHoverLink: true,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n // 默认取数据最小最大值\n // min: 0,\n // max: 100,\n minSize: '0%',\n maxSize: '100%',\n sort: 'descending',\n // 'ascending', 'descending'\n orient: 'vertical',\n gap: 0,\n funnelAlign: 'center',\n label: {\n show: true,\n position: 'outer' // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n\n },\n labelLine: {\n show: true,\n length: 20,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n // color: 各异,\n borderColor: '#fff',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = FunnelSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getBoundingRect();\n return {\n coordSys: {\n type: 'geo',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n zoom: coordSys.getZoom()\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" and noRoam param,\n // Compatible with this usage:\n // echarts.util.map(item.points, api.coord)\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar View = require(\"../View\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: 'geo',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['lng', 'lat'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var invertLongitute = this._invertLongitute;\n rect = rect.clone();\n\n if (invertLongitute) {\n // Longitute is inverted\n rect.y = -rect.y - rect.height;\n }\n\n var rawTransformable = this._rawTransformable;\n rawTransformable.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === 'string') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents('geo')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get('axisLabel.rotate');\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../util/graphic\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid view\necharts.extendComponentView({\n type: 'grid',\n render: function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new graphic.Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: zrUtil.defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n }\n});\necharts.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n */\nfunction updateViewOnPan(controllerHost, dx, dy) {\n var target = controllerHost.target;\n var pos = target.position;\n pos[0] += dx;\n pos[1] += dy;\n target.dirty();\n}\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n * @param {number} controllerHost.zoom\n * @param {number} controllerHost.zoomLimit like: {min: 1, max: 2}\n */\n\n\nfunction updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {\n var target = controllerHost.target;\n var zoomLimit = controllerHost.zoomLimit;\n var pos = target.position;\n var scale = target.scale;\n var newZoom = controllerHost.zoom = controllerHost.zoom || 1;\n newZoom *= zoomDelta;\n\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);\n }\n\n var zoomScale = newZoom / controllerHost.zoom;\n controllerHost.zoom = newZoom; // Keep the mouse center when scaling\n\n pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);\n pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);\n scale[0] *= zoomScale;\n scale[1] *= zoomScale;\n target.dirty();\n}\n\nexports.updateViewOnPan = updateViewOnPan;\nexports.updateViewOnZoom = updateViewOnZoom;","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ComponentModel = require(\"../model/Component\");\n\nvar ComponentView = require(\"../view/Component\");\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar detectSourceFormat = _sourceHelper.detectSourceFormat;\n\nvar _sourceType = require(\"../data/helper/sourceType\");\n\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * This module is imported by echarts directly.\n *\n * Notice:\n * Always keep this file exists for backward compatibility.\n * Because before 4.1.0, dataset is an optional component,\n * some users may import this module manually.\n */\nComponentModel.extend({\n type: 'dataset',\n\n /**\n * @protected\n */\n defaultOption: {\n // 'row', 'column'\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n // null/'auto': auto detect header, see \"module:echarts/data/helper/sourceHelper\"\n sourceHeader: null,\n dimensions: null,\n source: null\n },\n optionUpdated: function () {\n detectSourceFormat(this);\n }\n});\nComponentView.extend({\n type: 'dataset'\n});","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// https://github.com/mziccard/node-timsort\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\n\nfunction minRunLength(n) {\n var r = 0;\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n\n return n + r;\n}\n\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n\n if (runHi === hi) {\n return 1;\n }\n\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n\n reverseRun(array, lo, runHi);\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n\n return runHi - lo;\n}\n\nfunction reverseRun(array, lo, hi) {\n hi--;\n\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\n\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n\n while (left < right) {\n mid = left + right >>> 1;\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n } else {\n left = mid + 1;\n }\n }\n\n var n = start - left;\n\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n\n case 2:\n array[left + 2] = array[left + 1];\n\n case 1:\n array[left + 1] = array[left];\n break;\n\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n\n }\n\n array[left] = pivot;\n }\n}\n\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n } else {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n } else {\n offset = m;\n }\n }\n\n return offset;\n}\n\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n } else {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n } else {\n lastOffset = m + 1;\n }\n }\n\n return offset;\n}\n\nfunction TimSort(array, compare) {\n var minGallop = DEFAULT_MIN_GALLOPING;\n var length = 0;\n var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n var stackLength = 0;\n var runStart;\n var runLength;\n var stackSize = 0;\n length = array.length;\n\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n } else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n\n mergeAt(n);\n }\n }\n\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n\n mergeAt(n);\n }\n }\n\n function mergeAt(i) {\n var start1 = runStart[i];\n var length1 = runLength[i];\n var start2 = runStart[i + 1];\n var length2 = runLength[i + 1];\n runLength[i] = length1 + length2;\n\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n\n if (length1 === 0) {\n return;\n }\n\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n\n if (length2 === 0) {\n return;\n }\n\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n } else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n return;\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n return;\n }\n\n var _minGallop = minGallop;\n var count1;\n var count2;\n var exit;\n\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = tmp[cursor1++];\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n } else if (length1 === 0) {\n throw new Error(); // throw new Error('mergeLow preconditions were not respected');\n } else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\n\n var cursor1 = start1 + length1 - 1;\n var cursor2 = length2 - 1;\n var dest = start2 + length2 - 1;\n var customCursor = 0;\n var customDest = 0;\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n\n return;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n return;\n }\n\n var _minGallop = minGallop;\n\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = tmp[cursor2--];\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n\n if (minGallop < 1) {\n minGallop = 1;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n } else if (length2 === 0) {\n throw new Error(); // throw new Error('mergeHigh preconditions were not respected');\n } else {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n\n this.mergeRuns = mergeRuns;\n this.forceMergeRuns = forceMergeRuns;\n this.pushRun = pushRun;\n}\n\nfunction sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n\n if (!hi) {\n hi = array.length;\n }\n\n var remaining = hi - lo;\n\n if (remaining < 2) {\n return;\n }\n\n var runLength = 0;\n\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare);\n binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n return;\n }\n\n var ts = new TimSort(array, compare);\n var minRun = minRunLength(remaining);\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n\n if (runLength < minRun) {\n var force = remaining;\n\n if (force > minRun) {\n force = minRun;\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n\n ts.forceMergeRuns();\n}\n\nmodule.exports = sort;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nrequire(\"../extend/index\");\n\nvar _cRender = _interopRequireDefault(require(\"@jiaminghi/c-render\"));\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nvar _core = require(\"../core\");\n\nvar Charts = function Charts(dom) {\n (0, _classCallCheck2[\"default\"])(this, Charts);\n\n if (!dom) {\n console.error('Charts Missing parameters!');\n return false;\n }\n\n var clientWidth = dom.clientWidth,\n clientHeight = dom.clientHeight;\n var canvas = document.createElement('canvas');\n canvas.setAttribute('width', clientWidth);\n canvas.setAttribute('height', clientHeight);\n dom.appendChild(canvas);\n var attribute = {\n container: dom,\n canvas: canvas,\n render: new _cRender[\"default\"](canvas),\n option: null\n };\n Object.assign(this, attribute);\n};\n/**\n * @description Set chart option\n * @param {Object} option Chart option\n * @param {Boolean} animationEnd Execute animationEnd\n * @return {Undefined} No return\n */\n\n\nexports[\"default\"] = Charts;\n\nCharts.prototype.setOption = function (option) {\n var animationEnd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!option || (0, _typeof2[\"default\"])(option) !== 'object') {\n console.error('setOption Missing parameters!');\n return false;\n }\n\n if (animationEnd) this.render.graphs.forEach(function (graph) {\n return graph.animationEnd();\n });\n var optionCloned = (0, _util.deepClone)(option, true);\n (0, _core.mergeColor)(this, optionCloned);\n (0, _core.grid)(this, optionCloned);\n (0, _core.axis)(this, optionCloned);\n (0, _core.radarAxis)(this, optionCloned);\n (0, _core.title)(this, optionCloned);\n (0, _core.bar)(this, optionCloned);\n (0, _core.line)(this, optionCloned);\n (0, _core.pie)(this, optionCloned);\n (0, _core.radar)(this, optionCloned);\n (0, _core.gauge)(this, optionCloned);\n (0, _core.legend)(this, optionCloned);\n this.option = option;\n this.render.launchAnimation(); // console.warn(this)\n};\n/**\n * @description Resize chart\n * @return {Undefined} No return\n */\n\n\nCharts.prototype.resize = function () {\n var container = this.container,\n canvas = this.canvas,\n render = this.render,\n option = this.option;\n var clientWidth = container.clientWidth,\n clientHeight = container.clientHeight;\n canvas.setAttribute('width', clientWidth);\n canvas.setAttribute('height', clientHeight);\n render.area = [clientWidth, clientHeight];\n this.setOption(option);\n};","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"bezierCurveToPolyline\", {\n enumerable: true,\n get: function get() {\n return _bezierCurveToPolyline.bezierCurveToPolyline;\n }\n});\nObject.defineProperty(exports, \"getBezierCurveLength\", {\n enumerable: true,\n get: function get() {\n return _bezierCurveToPolyline.getBezierCurveLength;\n }\n});\nObject.defineProperty(exports, \"polylineToBezierCurve\", {\n enumerable: true,\n get: function get() {\n return _polylineToBezierCurve[\"default\"];\n }\n});\nexports[\"default\"] = void 0;\n\nvar _bezierCurveToPolyline = require(\"./core/bezierCurveToPolyline\");\n\nvar _polylineToBezierCurve = _interopRequireDefault(require(\"./core/polylineToBezierCurve\"));\n\nvar _default = {\n bezierCurveToPolyline: _bezierCurveToPolyline.bezierCurveToPolyline,\n getBezierCurveLength: _bezierCurveToPolyline.getBezierCurveLength,\n polylineToBezierCurve: _polylineToBezierCurve[\"default\"]\n};\nexports[\"default\"] = _default;","var windingLine = require(\"./windingLine\");\n\nvar EPSILON = 1e-8;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n}\n\nfunction contain(points, x, y) {\n var w = 0;\n var p = points[0];\n\n if (!p) {\n return false;\n }\n\n for (var i = 1; i < points.length; i++) {\n var p2 = points[i];\n w += windingLine(p[0], p[1], p2[0], p2[1], x, y);\n p = p2;\n } // Close polygon\n\n\n var p0 = points[0];\n\n if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {\n w += windingLine(p[0], p[1], p0[0], p0[1], x, y);\n }\n\n return w !== 0;\n}\n\nexports.contain = contain;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.axis = axis;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _updater = require(\"../class/updater.class\");\n\nvar _config = require(\"../config\");\n\nvar _util = require(\"../util\");\n\nvar _util2 = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar axisConfig = {\n xAxisConfig: _config.xAxisConfig,\n yAxisConfig: _config.yAxisConfig\n};\nvar min = Math.min,\n max = Math.max,\n abs = Math.abs,\n pow = Math.pow;\n\nfunction axis(chart) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var xAxis = option.xAxis,\n yAxis = option.yAxis,\n series = option.series;\n var allAxis = [];\n\n if (xAxis && yAxis && series) {\n allAxis = getAllAxis(xAxis, yAxis);\n allAxis = mergeDefaultAxisConfig(allAxis);\n allAxis = allAxis.filter(function (_ref) {\n var show = _ref.show;\n return show;\n });\n allAxis = mergeDefaultBoundaryGap(allAxis);\n allAxis = calcAxisLabelData(allAxis, series);\n allAxis = setAxisPosition(allAxis);\n allAxis = calcAxisLinePosition(allAxis, chart);\n allAxis = calcAxisTickPosition(allAxis, chart);\n allAxis = calcAxisNamePosition(allAxis, chart);\n allAxis = calcSplitLinePosition(allAxis, chart);\n }\n\n (0, _updater.doUpdate)({\n chart: chart,\n series: allAxis,\n key: 'axisLine',\n getGraphConfig: getLineConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: allAxis,\n key: 'axisTick',\n getGraphConfig: getTickConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: allAxis,\n key: 'axisLabel',\n getGraphConfig: getLabelConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: allAxis,\n key: 'axisName',\n getGraphConfig: getNameConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: allAxis,\n key: 'splitLine',\n getGraphConfig: getSplitLineConfig\n });\n chart.axisData = allAxis;\n}\n\nfunction getAllAxis(xAxis, yAxis) {\n var allXAxis = [],\n allYAxis = [];\n\n if (xAxis instanceof Array) {\n var _allXAxis;\n\n (_allXAxis = allXAxis).push.apply(_allXAxis, (0, _toConsumableArray2[\"default\"])(xAxis));\n } else {\n allXAxis.push(xAxis);\n }\n\n if (yAxis instanceof Array) {\n var _allYAxis;\n\n (_allYAxis = allYAxis).push.apply(_allYAxis, (0, _toConsumableArray2[\"default\"])(yAxis));\n } else {\n allYAxis.push(yAxis);\n }\n\n allXAxis.splice(2);\n allYAxis.splice(2);\n allXAxis = allXAxis.map(function (axis, i) {\n return _objectSpread(_objectSpread({}, axis), {}, {\n index: i,\n axis: 'x'\n });\n });\n allYAxis = allYAxis.map(function (axis, i) {\n return _objectSpread(_objectSpread({}, axis), {}, {\n index: i,\n axis: 'y'\n });\n });\n return [].concat((0, _toConsumableArray2[\"default\"])(allXAxis), (0, _toConsumableArray2[\"default\"])(allYAxis));\n}\n\nfunction mergeDefaultAxisConfig(allAxis) {\n var xAxis = allAxis.filter(function (_ref2) {\n var axis = _ref2.axis;\n return axis === 'x';\n });\n var yAxis = allAxis.filter(function (_ref3) {\n var axis = _ref3.axis;\n return axis === 'y';\n });\n xAxis = xAxis.map(function (axis) {\n return (0, _util.deepMerge)((0, _util2.deepClone)(_config.xAxisConfig), axis);\n });\n yAxis = yAxis.map(function (axis) {\n return (0, _util.deepMerge)((0, _util2.deepClone)(_config.yAxisConfig), axis);\n });\n return [].concat((0, _toConsumableArray2[\"default\"])(xAxis), (0, _toConsumableArray2[\"default\"])(yAxis));\n}\n\nfunction mergeDefaultBoundaryGap(allAxis) {\n var valueAxis = allAxis.filter(function (_ref4) {\n var data = _ref4.data;\n return data === 'value';\n });\n var labelAxis = allAxis.filter(function (_ref5) {\n var data = _ref5.data;\n return data !== 'value';\n });\n valueAxis.forEach(function (axis) {\n if (typeof axis.boundaryGap === 'boolean') return;\n axis.boundaryGap = false;\n });\n labelAxis.forEach(function (axis) {\n if (typeof axis.boundaryGap === 'boolean') return;\n axis.boundaryGap = true;\n });\n return [].concat((0, _toConsumableArray2[\"default\"])(valueAxis), (0, _toConsumableArray2[\"default\"])(labelAxis));\n}\n\nfunction calcAxisLabelData(allAxis, series) {\n var valueAxis = allAxis.filter(function (_ref6) {\n var data = _ref6.data;\n return data === 'value';\n });\n var labelAxis = allAxis.filter(function (_ref7) {\n var data = _ref7.data;\n return data instanceof Array;\n });\n valueAxis = calcValueAxisLabelData(valueAxis, series);\n labelAxis = calcLabelAxisLabelData(labelAxis);\n return [].concat((0, _toConsumableArray2[\"default\"])(valueAxis), (0, _toConsumableArray2[\"default\"])(labelAxis));\n}\n\nfunction calcValueAxisLabelData(valueAxis, series) {\n return valueAxis.map(function (axis) {\n var minMaxValue = getValueAxisMaxMinValue(axis, series);\n\n var _getTrueMinMax = getTrueMinMax(axis, minMaxValue),\n _getTrueMinMax2 = (0, _slicedToArray2[\"default\"])(_getTrueMinMax, 2),\n min = _getTrueMinMax2[0],\n max = _getTrueMinMax2[1];\n\n var interval = getValueInterval(min, max, axis);\n var formatter = axis.axisLabel.formatter;\n var label = [];\n\n if (min < 0 && max > 0) {\n label = getValueAxisLabelFromZero(min, max, interval);\n } else {\n label = getValueAxisLabelFromMin(min, max, interval);\n }\n\n label = label.map(function (l) {\n return parseFloat(l.toFixed(2));\n });\n return _objectSpread(_objectSpread({}, axis), {}, {\n maxValue: label.slice(-1)[0],\n minValue: label[0],\n label: getAfterFormatterLabel(label, formatter)\n });\n });\n}\n\nfunction getValueAxisMaxMinValue(axis, series) {\n series = series.filter(function (_ref8) {\n var show = _ref8.show,\n type = _ref8.type;\n if (show === false) return false;\n if (type === 'pie') return false;\n return true;\n });\n if (series.length === 0) return [0, 0];\n var index = axis.index,\n axisType = axis.axis;\n series = mergeStackData(series);\n var axisName = axisType + 'Axis';\n var valueSeries = series.filter(function (s) {\n return s[axisName] === index;\n });\n if (!valueSeries.length) valueSeries = series;\n return getSeriesMinMaxValue(valueSeries);\n}\n\nfunction getSeriesMinMaxValue(series) {\n if (!series) return;\n var minValue = Math.min.apply(Math, (0, _toConsumableArray2[\"default\"])(series.map(function (_ref9) {\n var data = _ref9.data;\n return Math.min.apply(Math, (0, _toConsumableArray2[\"default\"])((0, _util.filterNonNumber)(data)));\n })));\n var maxValue = Math.max.apply(Math, (0, _toConsumableArray2[\"default\"])(series.map(function (_ref10) {\n var data = _ref10.data;\n return Math.max.apply(Math, (0, _toConsumableArray2[\"default\"])((0, _util.filterNonNumber)(data)));\n })));\n return [minValue, maxValue];\n}\n\nfunction mergeStackData(series) {\n var seriesCloned = (0, _util2.deepClone)(series, true);\n series.forEach(function (item, i) {\n var data = (0, _util.mergeSameStackData)(item, series);\n seriesCloned[i].data = data;\n });\n return seriesCloned;\n}\n\nfunction getTrueMinMax(_ref11, _ref12) {\n var min = _ref11.min,\n max = _ref11.max,\n axis = _ref11.axis;\n\n var _ref13 = (0, _slicedToArray2[\"default\"])(_ref12, 2),\n minValue = _ref13[0],\n maxValue = _ref13[1];\n\n var minType = (0, _typeof2[\"default\"])(min),\n maxType = (0, _typeof2[\"default\"])(max);\n\n if (!testMinMaxType(min)) {\n min = axisConfig[axis + 'AxisConfig'].min;\n minType = 'string';\n }\n\n if (!testMinMaxType(max)) {\n max = axisConfig[axis + 'AxisConfig'].max;\n maxType = 'string';\n }\n\n if (minType === 'string') {\n min = parseInt(minValue - abs(minValue * parseFloat(min) / 100));\n var lever = getValueLever(min);\n min = parseFloat((min / lever - 0.1).toFixed(1)) * lever;\n }\n\n if (maxType === 'string') {\n max = parseInt(maxValue + abs(maxValue * parseFloat(max) / 100));\n\n var _lever = getValueLever(max);\n\n max = parseFloat((max / _lever + 0.1).toFixed(1)) * _lever;\n }\n\n return [min, max];\n}\n\nfunction getValueLever(value) {\n var valueString = abs(value).toString();\n var valueLength = valueString.length;\n var firstZeroIndex = valueString.replace(/0*$/g, '').indexOf('0');\n var pow10Num = valueLength - 1;\n if (firstZeroIndex !== -1) pow10Num -= firstZeroIndex;\n return pow(10, pow10Num);\n}\n\nfunction testMinMaxType(val) {\n var valType = (0, _typeof2[\"default\"])(val);\n var isValidString = valType === 'string' && /^\\d+%$/.test(val);\n var isValidNumber = valType === 'number';\n return isValidString || isValidNumber;\n}\n\nfunction getValueAxisLabelFromZero(min, max, interval) {\n var negative = [],\n positive = [];\n var currentNegative = 0,\n currentPositive = 0;\n\n do {\n negative.push(currentNegative -= interval);\n } while (currentNegative > min);\n\n do {\n positive.push(currentPositive += interval);\n } while (currentPositive < max);\n\n return [].concat((0, _toConsumableArray2[\"default\"])(negative.reverse()), [0], (0, _toConsumableArray2[\"default\"])(positive));\n}\n\nfunction getValueAxisLabelFromMin(min, max, interval) {\n var label = [min],\n currentValue = min;\n\n do {\n label.push(currentValue += interval);\n } while (currentValue < max);\n\n return label;\n}\n\nfunction getAfterFormatterLabel(label, formatter) {\n if (!formatter) return label;\n if (typeof formatter === 'string') label = label.map(function (l) {\n return formatter.replace('{value}', l);\n });\n if (typeof formatter === 'function') label = label.map(function (value, index) {\n return formatter({\n value: value,\n index: index\n });\n });\n return label;\n}\n\nfunction calcLabelAxisLabelData(labelAxis) {\n return labelAxis.map(function (axis) {\n var data = axis.data,\n formatter = axis.axisLabel.formatter;\n return _objectSpread(_objectSpread({}, axis), {}, {\n label: getAfterFormatterLabel(data, formatter)\n });\n });\n}\n\nfunction getValueInterval(min, max, axis) {\n var interval = axis.interval,\n minInterval = axis.minInterval,\n maxInterval = axis.maxInterval,\n splitNumber = axis.splitNumber,\n axisType = axis.axis;\n var config = axisConfig[axisType + 'AxisConfig'];\n if (typeof interval !== 'number') interval = config.interval;\n if (typeof minInterval !== 'number') minInterval = config.minInterval;\n if (typeof maxInterval !== 'number') maxInterval = config.maxInterval;\n if (typeof splitNumber !== 'number') splitNumber = config.splitNumber;\n if (typeof interval === 'number') return interval;\n var valueInterval = parseInt((max - min) / (splitNumber - 1));\n if (valueInterval.toString().length > 1) valueInterval = parseInt(valueInterval.toString().replace(/\\d$/, '0'));\n if (valueInterval === 0) valueInterval = 1;\n if (typeof minInterval === 'number' && valueInterval < minInterval) return minInterval;\n if (typeof maxInterval === 'number' && valueInterval > maxInterval) return maxInterval;\n return valueInterval;\n}\n\nfunction setAxisPosition(allAxis) {\n var xAxis = allAxis.filter(function (_ref14) {\n var axis = _ref14.axis;\n return axis === 'x';\n });\n var yAxis = allAxis.filter(function (_ref15) {\n var axis = _ref15.axis;\n return axis === 'y';\n });\n if (xAxis[0] && !xAxis[0].position) xAxis[0].position = _config.xAxisConfig.position;\n\n if (xAxis[1] && !xAxis[1].position) {\n xAxis[1].position = xAxis[0].position === 'bottom' ? 'top' : 'bottom';\n }\n\n if (yAxis[0] && !yAxis[0].position) yAxis[0].position = _config.yAxisConfig.position;\n\n if (yAxis[1] && !yAxis[1].position) {\n yAxis[1].position = yAxis[0].position === 'left' ? 'right' : 'left';\n }\n\n return [].concat((0, _toConsumableArray2[\"default\"])(xAxis), (0, _toConsumableArray2[\"default\"])(yAxis));\n}\n\nfunction calcAxisLinePosition(allAxis, chart) {\n var _chart$gridArea = chart.gridArea,\n x = _chart$gridArea.x,\n y = _chart$gridArea.y,\n w = _chart$gridArea.w,\n h = _chart$gridArea.h;\n allAxis = allAxis.map(function (axis) {\n var position = axis.position;\n var linePosition = [];\n\n if (position === 'left') {\n linePosition = [[x, y], [x, y + h]].reverse();\n } else if (position === 'right') {\n linePosition = [[x + w, y], [x + w, y + h]].reverse();\n } else if (position === 'top') {\n linePosition = [[x, y], [x + w, y]];\n } else if (position === 'bottom') {\n linePosition = [[x, y + h], [x + w, y + h]];\n }\n\n return _objectSpread(_objectSpread({}, axis), {}, {\n linePosition: linePosition\n });\n });\n return allAxis;\n}\n\nfunction calcAxisTickPosition(allAxis, chart) {\n return allAxis.map(function (axisItem) {\n var axis = axisItem.axis,\n linePosition = axisItem.linePosition,\n position = axisItem.position,\n label = axisItem.label,\n boundaryGap = axisItem.boundaryGap;\n if (typeof boundaryGap !== 'boolean') boundaryGap = axisConfig[axis + 'AxisConfig'].boundaryGap;\n var labelNum = label.length;\n\n var _linePosition = (0, _slicedToArray2[\"default\"])(linePosition, 2),\n _linePosition$ = (0, _slicedToArray2[\"default\"])(_linePosition[0], 2),\n startX = _linePosition$[0],\n startY = _linePosition$[1],\n _linePosition$2 = (0, _slicedToArray2[\"default\"])(_linePosition[1], 2),\n endX = _linePosition$2[0],\n endY = _linePosition$2[1];\n\n var gapLength = axis === 'x' ? endX - startX : endY - startY;\n var gap = gapLength / (boundaryGap ? labelNum : labelNum - 1);\n var tickPosition = new Array(labelNum).fill(0).map(function (foo, i) {\n if (axis === 'x') {\n return [startX + gap * (boundaryGap ? i + 0.5 : i), startY];\n }\n\n return [startX, startY + gap * (boundaryGap ? i + 0.5 : i)];\n });\n var tickLinePosition = getTickLinePosition(axis, boundaryGap, position, tickPosition, gap);\n return _objectSpread(_objectSpread({}, axisItem), {}, {\n tickPosition: tickPosition,\n tickLinePosition: tickLinePosition,\n tickGap: gap\n });\n });\n}\n\nfunction getTickLinePosition(axisType, boundaryGap, position, tickPosition, gap) {\n var index = axisType === 'x' ? 1 : 0;\n var plus = 5;\n if (axisType === 'x' && position === 'top') plus = -5;\n if (axisType === 'y' && position === 'left') plus = -5;\n var tickLinePosition = tickPosition.map(function (lineStart) {\n var lineEnd = (0, _util2.deepClone)(lineStart);\n lineEnd[index] += plus;\n return [(0, _util2.deepClone)(lineStart), lineEnd];\n });\n if (!boundaryGap) return tickLinePosition;\n index = axisType === 'x' ? 0 : 1;\n plus = gap / 2;\n tickLinePosition.forEach(function (_ref16) {\n var _ref17 = (0, _slicedToArray2[\"default\"])(_ref16, 2),\n lineStart = _ref17[0],\n lineEnd = _ref17[1];\n\n lineStart[index] += plus;\n lineEnd[index] += plus;\n });\n return tickLinePosition;\n}\n\nfunction calcAxisNamePosition(allAxis, chart) {\n return allAxis.map(function (axisItem) {\n var nameGap = axisItem.nameGap,\n nameLocation = axisItem.nameLocation,\n position = axisItem.position,\n linePosition = axisItem.linePosition;\n\n var _linePosition2 = (0, _slicedToArray2[\"default\"])(linePosition, 2),\n lineStart = _linePosition2[0],\n lineEnd = _linePosition2[1];\n\n var namePosition = (0, _toConsumableArray2[\"default\"])(lineStart);\n if (nameLocation === 'end') namePosition = (0, _toConsumableArray2[\"default\"])(lineEnd);\n\n if (nameLocation === 'center') {\n namePosition[0] = (lineStart[0] + lineEnd[0]) / 2;\n namePosition[1] = (lineStart[1] + lineEnd[1]) / 2;\n }\n\n var index = 0;\n if (position === 'top' && nameLocation === 'center') index = 1;\n if (position === 'bottom' && nameLocation === 'center') index = 1;\n if (position === 'left' && nameLocation !== 'center') index = 1;\n if (position === 'right' && nameLocation !== 'center') index = 1;\n var plus = nameGap;\n if (position === 'top' && nameLocation !== 'end') plus *= -1;\n if (position === 'left' && nameLocation !== 'start') plus *= -1;\n if (position === 'bottom' && nameLocation === 'start') plus *= -1;\n if (position === 'right' && nameLocation === 'end') plus *= -1;\n namePosition[index] += plus;\n return _objectSpread(_objectSpread({}, axisItem), {}, {\n namePosition: namePosition\n });\n });\n}\n\nfunction calcSplitLinePosition(allAxis, chart) {\n var _chart$gridArea2 = chart.gridArea,\n w = _chart$gridArea2.w,\n h = _chart$gridArea2.h;\n return allAxis.map(function (axisItem) {\n var tickLinePosition = axisItem.tickLinePosition,\n position = axisItem.position,\n boundaryGap = axisItem.boundaryGap;\n var index = 0,\n plus = w;\n if (position === 'top' || position === 'bottom') index = 1;\n if (position === 'top' || position === 'bottom') plus = h;\n if (position === 'right' || position === 'bottom') plus *= -1;\n var splitLinePosition = tickLinePosition.map(function (_ref18) {\n var _ref19 = (0, _slicedToArray2[\"default\"])(_ref18, 1),\n startPoint = _ref19[0];\n\n var endPoint = (0, _toConsumableArray2[\"default\"])(startPoint);\n endPoint[index] += plus;\n return [(0, _toConsumableArray2[\"default\"])(startPoint), endPoint];\n });\n if (!boundaryGap) splitLinePosition.shift();\n return _objectSpread(_objectSpread({}, axisItem), {}, {\n splitLinePosition: splitLinePosition\n });\n });\n}\n\nfunction getLineConfig(axisItem) {\n var animationCurve = axisItem.animationCurve,\n animationFrame = axisItem.animationFrame,\n rLevel = axisItem.rLevel;\n return [{\n name: 'polyline',\n index: rLevel,\n visible: axisItem.axisLine.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getLineShape(axisItem),\n style: getLineStyle(axisItem)\n }];\n}\n\nfunction getLineShape(axisItem) {\n var linePosition = axisItem.linePosition;\n return {\n points: linePosition\n };\n}\n\nfunction getLineStyle(axisItem) {\n return axisItem.axisLine.style;\n}\n\nfunction getTickConfig(axisItem) {\n var animationCurve = axisItem.animationCurve,\n animationFrame = axisItem.animationFrame,\n rLevel = axisItem.rLevel;\n var shapes = getTickShapes(axisItem);\n var style = getTickStyle(axisItem);\n return shapes.map(function (shape) {\n return {\n name: 'polyline',\n index: rLevel,\n visible: axisItem.axisTick.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: shape,\n style: style\n };\n });\n}\n\nfunction getTickShapes(axisItem) {\n var tickLinePosition = axisItem.tickLinePosition;\n return tickLinePosition.map(function (points) {\n return {\n points: points\n };\n });\n}\n\nfunction getTickStyle(axisItem) {\n return axisItem.axisTick.style;\n}\n\nfunction getLabelConfig(axisItem) {\n var animationCurve = axisItem.animationCurve,\n animationFrame = axisItem.animationFrame,\n rLevel = axisItem.rLevel;\n var shapes = getLabelShapes(axisItem);\n var styles = getLabelStyle(axisItem, shapes);\n return shapes.map(function (shape, i) {\n return {\n name: 'text',\n index: rLevel,\n visible: axisItem.axisLabel.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: shape,\n style: styles[i],\n setGraphCenter: function setGraphCenter() {\n return void 0;\n }\n };\n });\n}\n\nfunction getLabelShapes(axisItem) {\n var label = axisItem.label,\n tickPosition = axisItem.tickPosition,\n position = axisItem.position;\n return tickPosition.map(function (point, i) {\n return {\n position: getLabelRealPosition(point, position),\n content: label[i].toString()\n };\n });\n}\n\nfunction getLabelRealPosition(points, position) {\n var index = 0,\n plus = 10;\n if (position === 'top' || position === 'bottom') index = 1;\n if (position === 'top' || position === 'left') plus = -10;\n points = (0, _util2.deepClone)(points);\n points[index] += plus;\n return points;\n}\n\nfunction getLabelStyle(axisItem, shapes) {\n var position = axisItem.position;\n var style = axisItem.axisLabel.style;\n var align = getAxisLabelRealAlign(position);\n style = (0, _util.deepMerge)(align, style);\n var styles = shapes.map(function (_ref20) {\n var position = _ref20.position;\n return _objectSpread(_objectSpread({}, style), {}, {\n graphCenter: position\n });\n });\n return styles;\n}\n\nfunction getAxisLabelRealAlign(position) {\n if (position === 'left') return {\n textAlign: 'right',\n textBaseline: 'middle'\n };\n if (position === 'right') return {\n textAlign: 'left',\n textBaseline: 'middle'\n };\n if (position === 'top') return {\n textAlign: 'center',\n textBaseline: 'bottom'\n };\n if (position === 'bottom') return {\n textAlign: 'center',\n textBaseline: 'top'\n };\n}\n\nfunction getNameConfig(axisItem) {\n var animationCurve = axisItem.animationCurve,\n animationFrame = axisItem.animationFrame,\n rLevel = axisItem.rLevel;\n return [{\n name: 'text',\n index: rLevel,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getNameShape(axisItem),\n style: getNameStyle(axisItem)\n }];\n}\n\nfunction getNameShape(axisItem) {\n var name = axisItem.name,\n namePosition = axisItem.namePosition;\n return {\n content: name,\n position: namePosition\n };\n}\n\nfunction getNameStyle(axisItem) {\n var nameLocation = axisItem.nameLocation,\n position = axisItem.position,\n style = axisItem.nameTextStyle;\n var align = getNameRealAlign(position, nameLocation);\n return (0, _util.deepMerge)(align, style);\n}\n\nfunction getNameRealAlign(position, location) {\n if (position === 'top' && location === 'start' || position === 'bottom' && location === 'start' || position === 'left' && location === 'center') return {\n textAlign: 'right',\n textBaseline: 'middle'\n };\n if (position === 'top' && location === 'end' || position === 'bottom' && location === 'end' || position === 'right' && location === 'center') return {\n textAlign: 'left',\n textBaseline: 'middle'\n };\n if (position === 'top' && location === 'center' || position === 'left' && location === 'end' || position === 'right' && location === 'end') return {\n textAlign: 'center',\n textBaseline: 'bottom'\n };\n if (position === 'bottom' && location === 'center' || position === 'left' && location === 'start' || position === 'right' && location === 'start') return {\n textAlign: 'center',\n textBaseline: 'top'\n };\n}\n\nfunction getSplitLineConfig(axisItem) {\n var animationCurve = axisItem.animationCurve,\n animationFrame = axisItem.animationFrame,\n rLevel = axisItem.rLevel;\n var shapes = getSplitLineShapes(axisItem);\n var style = getSplitLineStyle(axisItem);\n return shapes.map(function (shape) {\n return {\n name: 'polyline',\n index: rLevel,\n visible: axisItem.splitLine.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: shape,\n style: style\n };\n });\n}\n\nfunction getSplitLineShapes(axisItem) {\n var splitLinePosition = axisItem.splitLinePosition;\n return splitLinePosition.map(function (points) {\n return {\n points: points\n };\n });\n}\n\nfunction getSplitLineStyle(axisItem) {\n return axisItem.splitLine.style;\n}","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Clip = require(\"./Clip\");\n\nvar color = require(\"../tool/color\");\n\nvar _util = require(\"../core/util\");\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n } else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value === 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * Set Animation keyframe\n * @param {number} time 关键帧时间,单位是ms\n * @param {Object} props 关键帧的属性值,key-value表示\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * 添加动画每一帧的回调函数\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * Start the animation\n * @param {string|Function} [easing]\n * 动画缓动函数,详见{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * Stop animation\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * Set when animation delay starts\n * @param {number} time 单位ms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * Add callback for animation end\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar linkList = require(\"./helper/linkList\");\n\nvar List = require(\"./List\");\n\nvar createDimensions = require(\"./helper/createDimensions\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Tree data structure\n *\n * @module echarts/data/Tree\n */\n\n/**\n * @constructor module:echarts/data/Tree~TreeNode\n * @param {string} name\n * @param {module:echarts/data/Tree} hostTree\n */\nvar TreeNode = function (name, hostTree) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * Depth of node\n *\n * @type {number}\n * @readOnly\n */\n\n this.depth = 0;\n /**\n * Height of the subtree rooted at this node.\n * @type {number}\n * @readOnly\n */\n\n this.height = 0;\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n\n this.parentNode = null;\n /**\n * Reference to list item.\n * Do not persistent dataIndex outside,\n * besause it may be changed by list.\n * If dataIndex -1,\n * this node is logical deleted (filtered) in list.\n *\n * @type {Object}\n * @readOnly\n */\n\n this.dataIndex = -1;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.children = [];\n /**\n * @type {Array.}\n * @pubilc\n */\n\n this.viewChildren = [];\n /**\n * @type {moduel:echarts/data/Tree}\n * @readOnly\n */\n\n this.hostTree = hostTree;\n};\n\nTreeNode.prototype = {\n constructor: TreeNode,\n\n /**\n * The node is removed.\n * @return {boolean} is removed.\n */\n isRemoved: function () {\n return this.dataIndex < 0;\n },\n\n /**\n * Travel this subtree (include this node).\n * Usage:\n * node.eachNode(function () { ... }); // preorder\n * node.eachNode('preorder', function () { ... }); // preorder\n * node.eachNode('postorder', function () { ... }); // postorder\n * node.eachNode(\n * {order: 'postorder', attr: 'viewChildren'},\n * function () { ... }\n * ); // postorder\n *\n * @param {(Object|string)} options If string, means order.\n * @param {string=} options.order 'preorder' or 'postorder'\n * @param {string=} options.attr 'children' or 'viewChildren'\n * @param {Function} cb If in preorder and return false,\n * its subtree will not be visited.\n * @param {Object} [context]\n */\n eachNode: function (options, cb, context) {\n if (typeof options === 'function') {\n context = cb;\n cb = options;\n options = null;\n }\n\n options = options || {};\n\n if (zrUtil.isString(options)) {\n options = {\n order: options\n };\n }\n\n var order = options.order || 'preorder';\n var children = this[options.attr || 'children'];\n var suppressVisitSub;\n order === 'preorder' && (suppressVisitSub = cb.call(context, this));\n\n for (var i = 0; !suppressVisitSub && i < children.length; i++) {\n children[i].eachNode(options, cb, context);\n }\n\n order === 'postorder' && cb.call(context, this);\n },\n\n /**\n * Update depth and height of this subtree.\n *\n * @param {number} depth\n */\n updateDepthAndHeight: function (depth) {\n var height = 0;\n this.depth = depth;\n\n for (var i = 0; i < this.children.length; i++) {\n var child = this.children[i];\n child.updateDepthAndHeight(depth + 1);\n\n if (child.height > height) {\n height = child.height;\n }\n }\n\n this.height = height + 1;\n },\n\n /**\n * @param {string} id\n * @return {module:echarts/data/Tree~TreeNode}\n */\n getNodeById: function (id) {\n if (this.getId() === id) {\n return this;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].getNodeById(id);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {boolean}\n */\n contains: function (node) {\n if (node === this) {\n return true;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].contains(node);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {boolean} includeSelf Default false.\n * @return {Array.} order: [root, child, grandchild, ...]\n */\n getAncestors: function (includeSelf) {\n var ancestors = [];\n var node = includeSelf ? this : this.parentNode;\n\n while (node) {\n ancestors.push(node);\n node = node.parentNode;\n }\n\n ancestors.reverse();\n return ancestors;\n },\n\n /**\n * @param {string|Array=} [dimension='value'] Default 'value'. can be 0, 1, 2, 3\n * @return {number} Value.\n */\n getValue: function (dimension) {\n var data = this.hostTree.data;\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object} layout\n * @param {boolean=} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object} layout\n */\n getLayout: function () {\n return this.hostTree.data.getItemLayout(this.dataIndex);\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var hostTree = this.hostTree;\n var itemModel = hostTree.data.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n },\n\n /**\n * @example\n * setItemVisual('color', color);\n * setItemVisual({\n * 'color': color\n * });\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * Get item visual\n */\n getVisual: function (key, ignoreParent) {\n return this.hostTree.data.getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @public\n * @return {number}\n */\n getRawIndex: function () {\n return this.hostTree.data.getRawIndex(this.dataIndex);\n },\n\n /**\n * @public\n * @return {string}\n */\n getId: function () {\n return this.hostTree.data.getId(this.dataIndex);\n },\n\n /**\n * if this is an ancestor of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is ancestor\n */\n isAncestorOf: function (node) {\n var parent = node.parentNode;\n\n while (parent) {\n if (parent === this) {\n return true;\n }\n\n parent = parent.parentNode;\n }\n\n return false;\n },\n\n /**\n * if this is an descendant of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is descendant\n */\n isDescendantOf: function (node) {\n return node !== this && node.isAncestorOf(this);\n }\n};\n/**\n * @constructor\n * @alias module:echarts/data/Tree\n * @param {module:echarts/model/Model} hostModel\n */\n\nfunction Tree(hostModel) {\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n this.root;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * Index of each item is the same as the raw index of coresponding list item.\n * @private\n * @type {Array.}, ...]\n * @private\n * @type {Array.}\n */\n\n this._pieceList = [];\n this.resetExtent();\n /**\n * 'pieces', 'categories', 'splitNumber'\n * @type {string}\n */\n\n var mode = this._mode = this._determineMode();\n\n resetMethods[this._mode].call(this);\n\n this._resetSelected(newOption, isInit);\n\n var categories = this.option.categories;\n this.resetVisual(function (mappingOption, state) {\n if (mode === 'categories') {\n mappingOption.mappingMethod = 'category';\n mappingOption.categories = zrUtil.clone(categories);\n } else {\n mappingOption.dataExtent = this.getExtent();\n mappingOption.mappingMethod = 'piecewise';\n mappingOption.pieceList = zrUtil.map(this._pieceList, function (piece) {\n var piece = zrUtil.clone(piece);\n\n if (state !== 'inRange') {\n // FIXME\n // outOfRange do not support special visual in pieces.\n piece.visual = null;\n }\n\n return piece;\n });\n }\n });\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n // Consider this case:\n // visualMap: {\n // pieces: [{symbol: 'circle', lt: 0}, {symbol: 'rect', gte: 0}]\n // }\n // where no inRange/outOfRange set but only pieces. So we should make\n // default inRange/outOfRange for this case, otherwise visuals that only\n // appear in `pieces` will not be taken into account in visual encoding.\n var option = this.option;\n var visualTypesInPieces = {};\n var visualTypes = VisualMapping.listVisualTypes();\n var isCategory = this.isCategory();\n zrUtil.each(option.pieces, function (piece) {\n zrUtil.each(visualTypes, function (visualType) {\n if (piece.hasOwnProperty(visualType)) {\n visualTypesInPieces[visualType] = 1;\n }\n });\n });\n zrUtil.each(visualTypesInPieces, function (v, visualType) {\n var exists = 0;\n zrUtil.each(this.stateList, function (state) {\n exists |= has(option, state, visualType) || has(option.target, state, visualType);\n }, this);\n !exists && zrUtil.each(this.stateList, function (state) {\n (option[state] || (option[state] = {}))[visualType] = visualDefault.get(visualType, state === 'inRange' ? 'active' : 'inactive', isCategory);\n });\n }, this);\n\n function has(obj, state, visualType) {\n return obj && obj[state] && (zrUtil.isObject(obj[state]) ? obj[state].hasOwnProperty(visualType) : obj[state] === visualType // e.g., inRange: 'symbol'\n );\n }\n\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n },\n _resetSelected: function (newOption, isInit) {\n var thisOption = this.option;\n var pieceList = this._pieceList; // Selected do not merge but all override.\n\n var selected = (isInit ? thisOption : newOption).selected || {};\n thisOption.selected = selected; // Consider 'not specified' means true.\n\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (!selected.hasOwnProperty(key)) {\n selected[key] = true;\n }\n }, this);\n\n if (thisOption.selectedMode === 'single') {\n // Ensure there is only one selected.\n var hasSel = false;\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (selected[key]) {\n hasSel ? selected[key] = false : hasSel = true;\n }\n }, this);\n } // thisOption.selectedMode === 'multiple', default: all selected.\n\n },\n\n /**\n * @public\n */\n getSelectedMapKey: function (piece) {\n return this._mode === 'categories' ? piece.value + '' : piece.index + '';\n },\n\n /**\n * @public\n */\n getPieceList: function () {\n return this._pieceList;\n },\n\n /**\n * @private\n * @return {string}\n */\n _determineMode: function () {\n var option = this.option;\n return option.pieces && option.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber';\n },\n\n /**\n * @public\n * @override\n */\n setSelected: function (selected) {\n this.option.selected = zrUtil.clone(selected);\n },\n\n /**\n * @public\n * @override\n */\n getValueState: function (value) {\n var index = VisualMapping.findPieceIndex(value, this._pieceList);\n return index != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index])] ? 'inRange' : 'outOfRange' : 'outOfRange';\n },\n\n /**\n * @public\n * @params {number} pieceIndex piece index in visualMapModel.getPieceList()\n * @return {Array.} [{seriesId, dataIndex: >}, ...]\n */\n findTargetDataIndices: function (pieceIndex) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n // Should always base on model pieceList, because it is order sensitive.\n var pIdx = VisualMapping.findPieceIndex(value, this._pieceList);\n pIdx === pieceIndex && dataIndices.push(dataIndex);\n }, this);\n result.push({\n seriesId: seriesModel.id,\n dataIndex: dataIndices\n });\n }, this);\n return result;\n },\n\n /**\n * @private\n * @param {Object} piece piece.value or piece.interval is required.\n * @return {number} Can be Infinity or -Infinity\n */\n getRepresentValue: function (piece) {\n var representValue;\n\n if (this.isCategory()) {\n representValue = piece.value;\n } else {\n if (piece.value != null) {\n representValue = piece.value;\n } else {\n var pieceInterval = piece.interval || [];\n representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;\n }\n }\n\n return representValue;\n },\n getVisualMeta: function (getColorVisual) {\n // Do not support category. (category axis is ordinal, numerical)\n if (this.isCategory()) {\n return;\n }\n\n var stops = [];\n var outerColors = [];\n var visualMapModel = this;\n\n function setStop(interval, valueState) {\n var representValue = visualMapModel.getRepresentValue({\n interval: interval\n });\n\n if (!valueState) {\n valueState = visualMapModel.getValueState(representValue);\n }\n\n var color = getColorVisual(representValue, valueState);\n\n if (interval[0] === -Infinity) {\n outerColors[0] = color;\n } else if (interval[1] === Infinity) {\n outerColors[1] = color;\n } else {\n stops.push({\n value: interval[0],\n color: color\n }, {\n value: interval[1],\n color: color\n });\n }\n } // Suplement\n\n\n var pieceList = this._pieceList.slice();\n\n if (!pieceList.length) {\n pieceList.push({\n interval: [-Infinity, Infinity]\n });\n } else {\n var edge = pieceList[0].interval[0];\n edge !== -Infinity && pieceList.unshift({\n interval: [-Infinity, edge]\n });\n edge = pieceList[pieceList.length - 1].interval[1];\n edge !== Infinity && pieceList.push({\n interval: [edge, Infinity]\n });\n }\n\n var curr = -Infinity;\n zrUtil.each(pieceList, function (piece) {\n var interval = piece.interval;\n\n if (interval) {\n // Fulfill gap.\n interval[0] > curr && setStop([curr, interval[0]], 'outOfRange');\n setStop(interval.slice());\n curr = interval[1];\n }\n }, this);\n return {\n stops: stops,\n outerColors: outerColors\n };\n }\n});\n/**\n * Key is this._mode\n * @type {Object}\n * @this {module:echarts/component/viusalMap/PiecewiseMode}\n */\n\nvar resetMethods = {\n splitNumber: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n var precision = Math.min(thisOption.precision, 20);\n var dataExtent = this.getExtent();\n var splitNumber = thisOption.splitNumber;\n splitNumber = Math.max(parseInt(splitNumber, 10), 1);\n thisOption.splitNumber = splitNumber;\n var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; // Precision auto-adaption\n\n while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {\n precision++;\n }\n\n thisOption.precision = precision;\n splitStep = +splitStep.toFixed(precision);\n\n if (thisOption.minOpen) {\n pieceList.push({\n interval: [-Infinity, dataExtent[0]],\n close: [0, 0]\n });\n }\n\n for (var index = 0, curr = dataExtent[0]; index < splitNumber; curr += splitStep, index++) {\n var max = index === splitNumber - 1 ? dataExtent[1] : curr + splitStep;\n pieceList.push({\n interval: [curr, max],\n close: [1, 1]\n });\n }\n\n if (thisOption.maxOpen) {\n pieceList.push({\n interval: [dataExtent[1], Infinity],\n close: [0, 0]\n });\n }\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece, index) {\n piece.index = index;\n piece.text = this.formatValueText(piece.interval);\n }, this);\n },\n categories: function () {\n var thisOption = this.option;\n zrUtil.each(thisOption.categories, function (cate) {\n // FIXME category模式也使用pieceList,但在visualMapping中不是使用pieceList。\n // 是否改一致。\n this._pieceList.push({\n text: this.formatValueText(cate, true),\n value: cate\n });\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, this._pieceList);\n },\n pieces: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n zrUtil.each(thisOption.pieces, function (pieceListItem, index) {\n if (!zrUtil.isObject(pieceListItem)) {\n pieceListItem = {\n value: pieceListItem\n };\n }\n\n var item = {\n text: '',\n index: index\n };\n\n if (pieceListItem.label != null) {\n item.text = pieceListItem.label;\n }\n\n if (pieceListItem.hasOwnProperty('value')) {\n var value = item.value = pieceListItem.value;\n item.interval = [value, value];\n item.close = [1, 1];\n } else {\n // `min` `max` is legacy option.\n // `lt` `gt` `lte` `gte` is recommanded.\n var interval = item.interval = [];\n var close = item.close = [0, 0];\n var closeList = [1, 0, 1];\n var infinityList = [-Infinity, Infinity];\n var useMinMax = [];\n\n for (var lg = 0; lg < 2; lg++) {\n var names = [['gte', 'gt', 'min'], ['lte', 'lt', 'max']][lg];\n\n for (var i = 0; i < 3 && interval[lg] == null; i++) {\n interval[lg] = pieceListItem[names[i]];\n close[lg] = closeList[i];\n useMinMax[lg] = i === 2;\n }\n\n interval[lg] == null && (interval[lg] = infinityList[lg]);\n }\n\n useMinMax[0] && interval[1] === Infinity && (close[0] = 0);\n useMinMax[1] && interval[0] === -Infinity && (close[1] = 0);\n\n if (interval[0] === interval[1] && close[0] && close[1]) {\n // Consider: [{min: 5, max: 5, visual: {...}}, {min: 0, max: 5}],\n // we use value to lift the priority when min === max\n item.value = interval[0];\n }\n }\n\n item.visual = VisualMapping.retrieveVisuals(pieceListItem);\n pieceList.push(item);\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, pieceList); // Only pieces\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\n var close = piece.close;\n var edgeSymbols = [['<', '≤'][close[1]], ['>', '≥'][close[0]]];\n piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);\n }, this);\n }\n};\n\nfunction normalizeReverse(thisOption, pieceList) {\n var inverse = thisOption.inverse;\n\n if (thisOption.orient === 'vertical' ? !inverse : inverse) {\n pieceList.reverse();\n }\n}\n\nvar _default = PiecewiseModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar zrColor = require(\"zrender/lib/tool/color\");\n\nvar eventUtil = require(\"zrender/lib/core/event\");\n\nvar domUtil = require(\"zrender/lib/core/dom\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar formatUtil = require(\"../../util/format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar toCamelCase = formatUtil.toCamelCase;\nvar vendors = ['', '-webkit-', '-moz-', '-o-'];\nvar gCssText = 'position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;';\n/**\n * @param {number} duration\n * @return {string}\n * @inner\n */\n\nfunction assembleTransition(duration) {\n var transitionCurve = 'cubic-bezier(0.23, 1, 0.32, 1)';\n var transitionText = 'left ' + duration + 's ' + transitionCurve + ',' + 'top ' + duration + 's ' + transitionCurve;\n return zrUtil.map(vendors, function (vendorPrefix) {\n return vendorPrefix + 'transition:' + transitionText;\n }).join(';');\n}\n/**\n * @param {Object} textStyle\n * @return {string}\n * @inner\n */\n\n\nfunction assembleFont(textStyleModel) {\n var cssText = [];\n var fontSize = textStyleModel.get('fontSize');\n var color = textStyleModel.getTextColor();\n color && cssText.push('color:' + color);\n cssText.push('font:' + textStyleModel.getFont());\n var lineHeight = textStyleModel.get('lineHeight');\n\n if (lineHeight == null) {\n lineHeight = Math.round(fontSize * 3 / 2);\n }\n\n fontSize && cssText.push('line-height:' + lineHeight + 'px');\n var shadowColor = textStyleModel.get('textShadowColor');\n var shadowBlur = textStyleModel.get('textShadowBlur') || 0;\n var shadowOffsetX = textStyleModel.get('textShadowOffsetX') || 0;\n var shadowOffsetY = textStyleModel.get('textShadowOffsetY') || 0;\n shadowBlur && cssText.push('text-shadow:' + shadowOffsetX + 'px ' + shadowOffsetY + 'px ' + shadowBlur + 'px ' + shadowColor);\n each(['decoration', 'align'], function (name) {\n var val = textStyleModel.get(name);\n val && cssText.push('text-' + name + ':' + val);\n });\n return cssText.join(';');\n}\n/**\n * @param {Object} tooltipModel\n * @return {string}\n * @inner\n */\n\n\nfunction assembleCssText(tooltipModel) {\n var cssText = [];\n var transitionDuration = tooltipModel.get('transitionDuration');\n var backgroundColor = tooltipModel.get('backgroundColor');\n var textStyleModel = tooltipModel.getModel('textStyle');\n var padding = tooltipModel.get('padding'); // Animation transition. Do not animate when transitionDuration is 0.\n\n transitionDuration && cssText.push(assembleTransition(transitionDuration));\n\n if (backgroundColor) {\n if (env.canvasSupported) {\n cssText.push('background-Color:' + backgroundColor);\n } else {\n // for ie\n cssText.push('background-Color:#' + zrColor.toHex(backgroundColor));\n cssText.push('filter:alpha(opacity=70)');\n }\n } // Border style\n\n\n each(['width', 'color', 'radius'], function (name) {\n var borderName = 'border-' + name;\n var camelCase = toCamelCase(borderName);\n var val = tooltipModel.get(camelCase);\n val != null && cssText.push(borderName + ':' + val + (name === 'color' ? '' : 'px'));\n }); // Text style\n\n cssText.push(assembleFont(textStyleModel)); // Padding\n\n if (padding != null) {\n cssText.push('padding:' + formatUtil.normalizeCssArray(padding).join('px ') + 'px');\n }\n\n return cssText.join(';') + ';';\n} // If not able to make, do not modify the input `out`.\n\n\nfunction makeStyleCoord(out, zr, appendToBody, zrX, zrY) {\n var zrPainter = zr && zr.painter;\n\n if (appendToBody) {\n var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();\n\n if (zrViewportRoot) {\n // Some APPs might use scale on body, so we support CSS transform here.\n domUtil.transformLocalCoord(out, zrViewportRoot, document.body, zrX, zrY);\n }\n } else {\n out[0] = zrX;\n out[1] = zrY; // xy should be based on canvas root. But tooltipContent is\n // the sibling of canvas root. So padding of ec container\n // should be considered here.\n\n var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();\n\n if (viewportRootOffset) {\n out[0] += viewportRootOffset.offsetLeft;\n out[1] += viewportRootOffset.offsetTop;\n }\n }\n\n out[2] = out[0] / zr.getWidth(); // The ratio of left to width\n\n out[3] = out[1] / zr.getHeight(); // The ratio of top to height\n}\n/**\n * @alias module:echarts/component/tooltip/TooltipContent\n * @param {HTMLElement} container\n * @param {ExtensionAPI} api\n * @param {Object} [opt]\n * @param {boolean} [opt.appendToBody]\n * `false`: the DOM element will be inside the container. Default value.\n * `true`: the DOM element will be appended to HTML body, which avoid\n * some overflow clip but intrude outside of the container.\n * @constructor\n */\n\n\nfunction TooltipContent(container, api, opt) {\n if (env.wxa) {\n return null;\n }\n\n var el = document.createElement('div');\n el.domBelongToZr = true;\n this.el = el;\n var zr = this._zr = api.getZr();\n var appendToBody = this._appendToBody = opt && opt.appendToBody;\n this._styleCoord = [0, 0, 0, 0]; // [left, top, left/width, top/height]\n\n makeStyleCoord(this._styleCoord, zr, appendToBody, api.getWidth() / 2, api.getHeight() / 2);\n\n if (appendToBody) {\n document.body.appendChild(el);\n } else {\n container.appendChild(el);\n }\n\n this._container = container;\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout; // FIXME\n // Is it needed to trigger zr event manually if\n // the browser do not support `pointer-events: none`.\n\n var self = this;\n\n el.onmouseenter = function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n };\n\n el.onmousemove = function (e) {\n e = e || window.event;\n\n if (!self._enterable) {\n // `pointer-events: none` is set to tooltip content div\n // if `enterable` is set as `false`, and `el.onmousemove`\n // can not be triggered. But in browser that do not\n // support `pointer-events`, we need to do this:\n // Try trigger zrender event to avoid mouse\n // in and out shape too frequently\n var handler = zr.handler;\n var zrViewportRoot = zr.painter.getViewportRoot();\n eventUtil.normalizeEvent(zrViewportRoot, e, true);\n handler.dispatch('mousemove', e);\n }\n };\n\n el.onmouseleave = function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n };\n}\n\nTooltipContent.prototype = {\n constructor: TooltipContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function (tooltipModel) {\n // FIXME\n // Move this logic to ec main?\n var container = this._container;\n var stl = container.currentStyle || document.defaultView.getComputedStyle(container);\n var domStyle = container.style;\n\n if (domStyle.position !== 'absolute' && stl.position !== 'absolute') {\n domStyle.position = 'relative';\n }\n\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveTooltipIfResized(); // Hide the tooltip\n // PENDING\n // this.hide();\n },\n\n /**\n * when `alwaysShowContent` is true,\n * we should move the tooltip after chart resized\n */\n _moveTooltipIfResized: function () {\n var ratioX = this._styleCoord[2]; // The ratio of left to width\n\n var ratioY = this._styleCoord[3]; // The ratio of top to height\n\n var realX = ratioX * this._zr.getWidth();\n\n var realY = ratioY * this._zr.getHeight();\n\n this.moveTo(realX, realY);\n },\n show: function (tooltipModel) {\n clearTimeout(this._hideTimeout);\n var el = this.el;\n var styleCoord = this._styleCoord;\n el.style.cssText = gCssText + assembleCssText(tooltipModel) // Because of the reason described in:\n // http://stackoverflow.com/questions/21125587/css3-transition-not-working-in-chrome-anymore\n // we should set initial value to `left` and `top`.\n + ';left:' + styleCoord[0] + 'px;top:' + styleCoord[1] + 'px;' + (tooltipModel.get('extraCssText') || '');\n el.style.display = el.innerHTML ? 'block' : 'none'; // If mouse occasionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cause some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not supported by IE8~IE10, fortunately it is a rare\n // scenario.\n\n el.style.pointerEvents = this._enterable ? 'auto' : 'none';\n this._show = true;\n },\n setContent: function (content) {\n this.el.innerHTML = content == null ? '' : content;\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var el = this.el;\n return [el.clientWidth, el.clientHeight];\n },\n moveTo: function (zrX, zrY) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, this._appendToBody, zrX, zrY);\n var style = this.el.style;\n style.left = styleCoord[0] + 'px';\n style.top = styleCoord[1] + 'px';\n },\n hide: function () {\n this.el.style.display = 'none';\n this._show = false;\n },\n hideLater: function (time) {\n if (this._show && !(this._inContent && this._enterable)) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n dispose: function () {\n this.el.parentNode.removeChild(this.el);\n },\n getOuterSize: function () {\n var width = this.el.clientWidth;\n var height = this.el.clientHeight; // Consider browser compatibility.\n // IE8 does not support getComputedStyle.\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n var stl = document.defaultView.getComputedStyle(this.el);\n\n if (stl) {\n width += parseInt(stl.borderLeftWidth, 10) + parseInt(stl.borderRightWidth, 10);\n height += parseInt(stl.borderTopWidth, 10) + parseInt(stl.borderBottomWidth, 10);\n }\n }\n\n return {\n width: width,\n height: height\n };\n }\n};\nvar _default = TooltipContent;\nmodule.exports = _default;","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./gauge/GaugeSeries\");\n\nrequire(\"./gauge/GaugeView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/parallel\");\n\nrequire(\"./parallel/ParallelSeries\");\n\nrequire(\"./parallel/ParallelView\");\n\nvar parallelVisual = require(\"./parallel/parallelVisual\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(parallelVisual);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./candlestick/CandlestickSeries\");\n\nrequire(\"./candlestick/CandlestickView\");\n\nvar preprocessor = require(\"./candlestick/preprocessor\");\n\nvar candlestickVisual = require(\"./candlestick/candlestickVisual\");\n\nvar candlestickLayout = require(\"./candlestick/candlestickLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(preprocessor);\necharts.registerVisual(candlestickVisual);\necharts.registerLayout(candlestickLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../../coord/Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar TimelineAxis = function (dim, scale, coordExtent, axisType) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis model\n * @param {module:echarts/component/TimelineModel}\n */\n\n this.model = null;\n};\n\nTimelineAxis.prototype = {\n constructor: TimelineAxis,\n\n /**\n * @override\n */\n getLabelModel: function () {\n return this.model.getModel('label');\n },\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.model.get('orient') === 'horizontal';\n }\n};\nzrUtil.inherits(TimelineAxis, Axis);\nvar _default = TimelineAxis;\nmodule.exports = _default;","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _graphic = require(\"../../util/graphic\");\n\nvar subPixelOptimize = _graphic.subPixelOptimize;\n\nvar createRenderPlanner = require(\"../helper/createRenderPlanner\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar retrieve2 = _util.retrieve2;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var candleWidth = calculateCandleWidth(seriesModel, data);\n var cDimIdx = 0;\n var vDimIdx = 1;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n var openDim = vDims[0];\n var closeDim = vDims[1];\n var lowestDim = vDims[2];\n var highestDim = vDims[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDim == null || vDims.length < 4) {\n return;\n }\n\n return {\n progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress\n };\n\n function normalProgress(params, data) {\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n var ocLow = Math.min(openVal, closeVal);\n var ocHigh = Math.max(openVal, closeVal);\n var ocLowPoint = getPoint(ocLow, axisDimVal);\n var ocHighPoint = getPoint(ocHigh, axisDimVal);\n var lowestPoint = getPoint(lowestVal, axisDimVal);\n var highestPoint = getPoint(highestVal, axisDimVal);\n var ends = [];\n addBodyEnd(ends, ocHighPoint, 0);\n addBodyEnd(ends, ocLowPoint, 1);\n ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));\n data.setItemLayout(dataIndex, {\n sign: getSign(data, dataIndex, openVal, closeVal, closeDim),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\n // open point.\n ends: ends,\n brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)\n });\n }\n\n function getPoint(val, axisDimVal) {\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n return isNaN(axisDimVal) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p);\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] = subPixelOptimize(point1[cDimIdx] + candleWidth / 2, 1, false);\n point2[cDimIdx] = subPixelOptimize(point2[cDimIdx] - candleWidth / 2, 1, true);\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function makeBrushRect(lowestVal, highestVal, axisDimVal) {\n var pmin = getPoint(lowestVal, axisDimVal);\n var pmax = getPoint(highestVal, axisDimVal);\n pmin[cDimIdx] -= candleWidth / 2;\n pmax[cDimIdx] -= candleWidth / 2;\n return {\n x: pmin[0],\n y: pmin[1],\n width: vDimIdx ? candleWidth : pmax[0] - pmin[0],\n height: vDimIdx ? pmax[1] - pmin[1] : candleWidth\n };\n }\n\n function subPixelOptimizePoint(point) {\n point[cDimIdx] = subPixelOptimize(point[cDimIdx], 1);\n return point;\n }\n }\n\n function largeProgress(params, data) {\n // Structure: [sign, x, yhigh, ylow, sign, x, yhigh, ylow, ...]\n var points = new LargeArr(params.count * 4);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n\n if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {\n points[offset++] = NaN;\n offset += 3;\n continue;\n }\n\n points[offset++] = getSign(data, dataIndex, openVal, closeVal, closeDim);\n tmpIn[cDimIdx] = axisDimVal;\n tmpIn[vDimIdx] = lowestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[0] : NaN;\n points[offset++] = point ? point[1] : NaN;\n tmpIn[vDimIdx] = highestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[1] : NaN;\n }\n\n data.setLayout('largePoints', points);\n }\n }\n};\n\nfunction getSign(data, dataIndex, openVal, closeVal, closeDim) {\n var sign;\n\n if (openVal > closeVal) {\n sign = -1;\n } else if (openVal < closeVal) {\n sign = 1;\n } else {\n sign = dataIndex > 0 // If close === open, compare with close of last record\n ? data.get(closeDim, dataIndex - 1) <= closeVal ? 1 : -1 : // No record of previous, set to be positive\n 1;\n }\n\n return sign;\n}\n\nfunction calculateCandleWidth(seriesModel, data) {\n var baseAxis = seriesModel.getBaseAxis();\n var extent;\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : (extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / data.count());\n var barMaxWidth = parsePercent(retrieve2(seriesModel.get('barMaxWidth'), bandWidth), bandWidth);\n var barMinWidth = parsePercent(retrieve2(seriesModel.get('barMinWidth'), 1), bandWidth);\n var barWidth = seriesModel.get('barWidth');\n return barWidth != null ? parsePercent(barWidth, bandWidth) // Put max outer to ensure bar visible in spite of overlap.\n : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);\n}\n\nmodule.exports = _default;","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get';\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoomSlider\");\n\nrequire(\"./dataZoomInside\");","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","var eventUtil = require(\"./event\");\n\n/**\n * Only implements needed gestures for mobile.\n */\nvar GestureMgr = function () {\n /**\n * @private\n * @type {Array.}\n */\n this._track = [];\n};\n\nGestureMgr.prototype = {\n constructor: GestureMgr,\n recognize: function (event, target, root) {\n this._doTrack(event, target, root);\n\n return this._recognize(event);\n },\n clear: function () {\n this._track.length = 0;\n return this;\n },\n _doTrack: function (event, target, root) {\n var touches = event.touches;\n\n if (!touches) {\n return;\n }\n\n var trackItem = {\n points: [],\n touches: [],\n target: target,\n event: event\n };\n\n for (var i = 0, len = touches.length; i < len; i++) {\n var touch = touches[i];\n var pos = eventUtil.clientToLocal(root, touch, {});\n trackItem.points.push([pos.zrX, pos.zrY]);\n trackItem.touches.push(touch);\n }\n\n this._track.push(trackItem);\n },\n _recognize: function (event) {\n for (var eventName in recognizers) {\n if (recognizers.hasOwnProperty(eventName)) {\n var gestureInfo = recognizers[eventName](this._track, event);\n\n if (gestureInfo) {\n return gestureInfo;\n }\n }\n }\n }\n};\n\nfunction dist(pointPair) {\n var dx = pointPair[1][0] - pointPair[0][0];\n var dy = pointPair[1][1] - pointPair[0][1];\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction center(pointPair) {\n return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];\n}\n\nvar recognizers = {\n pinch: function (track, event) {\n var trackLen = track.length;\n\n if (!trackLen) {\n return;\n }\n\n var pinchEnd = (track[trackLen - 1] || {}).points;\n var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;\n\n if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {\n var pinchScale = dist(pinchEnd) / dist(pinchPre);\n !isFinite(pinchScale) && (pinchScale = 1);\n event.pinchScale = pinchScale;\n var pinchCenter = center(pinchEnd);\n event.pinchX = pinchCenter[0];\n event.pinchY = pinchCenter[1];\n return {\n type: 'pinch',\n target: track[0].target,\n event: event\n };\n }\n } // Only pinch currently.\n\n};\nvar _default = GestureMgr;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./legend\");\n\nrequire(\"./legend/ScrollableLegendModel\");\n\nrequire(\"./legend/ScrollableLegendView\");\n\nrequire(\"./legend/scrollableLegendAction\");","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n","// Myers' Diff Algorithm\n// Modified from https://github.com/kpdecker/jsdiff/blob/master/src/diff/base.js\nfunction Diff() {}\n\nDiff.prototype = {\n diff: function (oldArr, newArr, equals) {\n if (!equals) {\n equals = function (a, b) {\n return a === b;\n };\n }\n\n this.equals = equals;\n var self = this;\n oldArr = oldArr.slice();\n newArr = newArr.slice(); // Allow subclasses to massage the input prior to running\n\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n var indices = [];\n\n for (var i = 0; i < newArr.length; i++) {\n indices.push(i);\n } // Identity per the equality and tokenizer\n\n\n return [{\n indices: indices,\n count: newArr.length\n }];\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath;\n var addPath = bestPath[diagonalPath - 1];\n var removePath = bestPath[diagonalPath + 1];\n var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen;\n var canRemove = removePath && 0 <= oldPos && oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n oldPos = self.extractCommon(basePath, newArr, oldArr, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n return buildValues(self, basePath.components, newArr, oldArr);\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n }\n\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n },\n pushComponent: function (components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function (basePath, newArr, oldArr, diagonalPath) {\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var newPos = basePath.newPos;\n var oldPos = newPos - diagonalPath;\n var commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n tokenize: function (value) {\n return value.slice();\n },\n join: function (value) {\n return value.slice();\n }\n};\n\nfunction buildValues(diff, components, newArr, oldArr) {\n var componentPos = 0;\n var componentLen = components.length;\n var newPos = 0;\n var oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n var indices = [];\n\n for (var i = newPos; i < newPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n var indices = [];\n\n for (var i = oldPos; i < oldPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n oldPos += component.count;\n }\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar arrayDiff = new Diff();\n\nfunction _default(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nmodule.exports = _default;","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar KEY_DELIMITER = '-->';\n/**\n * params handler\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @returns {*}\n */\n\nvar getAutoCurvenessParams = function (seriesModel) {\n return seriesModel.get('autoCurveness') || null;\n};\n/**\n * Generate a list of edge curvatures, 20 is the default\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param {number} appendLength\n * @return 20 => [0, -0.2, 0.2, -0.4, 0.4, -0.6, 0.6, -0.8, 0.8, -1, 1, -1.2, 1.2, -1.4, 1.4, -1.6, 1.6, -1.8, 1.8, -2]\n */\n\n\nvar createCurveness = function (seriesModel, appendLength) {\n var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);\n var length = 20;\n var curvenessList = []; // handler the function set\n\n if (typeof autoCurvenessParmas === 'number') {\n length = autoCurvenessParmas;\n } else if (zrUtil.isArray(autoCurvenessParmas)) {\n seriesModel.__curvenessList = autoCurvenessParmas;\n return;\n } // append length\n\n\n if (appendLength > length) {\n length = appendLength;\n } // make sure the length is even\n\n\n var len = length % 2 ? length + 2 : length + 3;\n curvenessList = [];\n\n for (var i = 0; i < len; i++) {\n curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));\n }\n\n seriesModel.__curvenessList = curvenessList;\n};\n/**\n * Create different cache key data in the positive and negative directions, in order to set the curvature later\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @returns {string} key\n */\n\n\nvar getKeyOfEdges = function (n1, n2, seriesModel) {\n var source = [n1.id, n1.dataIndex].join('.');\n var target = [n2.id, n2.dataIndex].join('.');\n return [seriesModel.uid, source, target].join(KEY_DELIMITER);\n};\n/**\n * get opposite key\n * @param {string} key\n * @returns {string}\n */\n\n\nvar getOppositeKey = function (key) {\n var keys = key.split(KEY_DELIMITER);\n return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);\n};\n/**\n * get edgeMap with key\n * @param edge\n * @param {module:echarts/model/SeriesModel} seriesModel\n */\n\n\nvar getEdgeFromMap = function (edge, seriesModel) {\n var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n return seriesModel.__edgeMap[key];\n};\n/**\n * calculate all cases total length\n * @param edge\n * @param seriesModel\n * @returns {number}\n */\n\n\nvar getTotalLengthBetweenNodes = function (edge, seriesModel) {\n var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);\n var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);\n return len + lenV;\n};\n/**\n *\n * @param key\n */\n\n\nvar getEdgeMapLengthWithKey = function (key, seriesModel) {\n var edgeMap = seriesModel.__edgeMap;\n return edgeMap[key] ? edgeMap[key].length : 0;\n};\n/**\n * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge\n * @see /graph/GraphSeries.js@getInitialData\n * @param {module:echarts/model/SeriesModel} seriesModel\n */\n\n\nfunction initCurvenessList(seriesModel) {\n if (!getAutoCurvenessParams(seriesModel)) {\n return;\n }\n\n seriesModel.__curvenessList = [];\n seriesModel.__edgeMap = {}; // calc the array of curveness List\n\n createCurveness(seriesModel);\n}\n/**\n * set edgeMap with key\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param {number} index\n */\n\n\nfunction createEdgeMapForCurveness(n1, n2, seriesModel, index) {\n if (!getAutoCurvenessParams(seriesModel)) {\n return;\n }\n\n var key = getKeyOfEdges(n1, n2, seriesModel);\n var edgeMap = seriesModel.__edgeMap;\n var oppositeEdges = edgeMap[getOppositeKey(key)]; // set direction\n\n if (edgeMap[key] && !oppositeEdges) {\n edgeMap[key].isForward = true;\n } else if (oppositeEdges && edgeMap[key]) {\n oppositeEdges.isForward = true;\n edgeMap[key].isForward = false;\n }\n\n edgeMap[key] = edgeMap[key] || [];\n edgeMap[key].push(index);\n}\n/**\n * get curvature for edge\n * @param edge\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param index\n */\n\n\nfunction getCurvenessForEdge(edge, seriesModel, index, needReverse) {\n var autoCurvenessParams = getAutoCurvenessParams(seriesModel);\n var isArrayParam = zrUtil.isArray(autoCurvenessParams);\n\n if (!autoCurvenessParams) {\n return null;\n }\n\n var edgeArray = getEdgeFromMap(edge, seriesModel);\n\n if (!edgeArray) {\n return null;\n }\n\n var edgeIndex = -1;\n\n for (var i = 0; i < edgeArray.length; i++) {\n if (edgeArray[i] === index) {\n edgeIndex = i;\n break;\n }\n } // if totalLen is Longer createCurveness\n\n\n var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);\n createCurveness(seriesModel, totalLen);\n edge.lineStyle = edge.lineStyle || {}; // if is opposite edge, must set curvenss to opposite number\n\n var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n var curvenessList = seriesModel.__curvenessList; // if pass array no need parity\n\n var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;\n\n if (!edgeArray.isForward) {\n // the opposite edge show outside\n var oppositeKey = getOppositeKey(curKey);\n var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);\n var resValue = curvenessList[edgeIndex + len + parityCorrection]; // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite\n\n if (needReverse) {\n // set as array may make the parity handle with the len of opposite\n if (isArrayParam) {\n if (autoCurvenessParams && autoCurvenessParams[0] === 0) {\n return (len + parityCorrection) % 2 ? resValue : -resValue;\n } else {\n return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;\n }\n } else {\n return (len + parityCorrection) % 2 ? resValue : -resValue;\n }\n } else {\n return curvenessList[edgeIndex + len + parityCorrection];\n }\n } else {\n return curvenessList[parityCorrection + edgeIndex];\n }\n}\n\nexports.initCurvenessList = initCurvenessList;\nexports.createEdgeMapForCurveness = createEdgeMapForCurveness;\nexports.getCurvenessForEdge = getCurvenessForEdge;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar RoamController = require(\"./RoamController\");\n\nvar roamHelper = require(\"../../component/helper/roamHelper\");\n\nvar _cursorHelper = require(\"../../component/helper/cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar geoSourceManager = require(\"../../coord/geo/geoSourceManager\");\n\nvar _component = require(\"../../util/component\");\n\nvar getUID = _component.getUID;\n\nvar Transformable = require(\"zrender/lib/mixin/Transformable\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getFixedItemStyle(model) {\n var itemStyle = model.getItemStyle();\n var areaColor = model.get('areaColor'); // If user want the color not to be changed when hover,\n // they should both set areaColor and color to be null.\n\n if (areaColor != null) {\n itemStyle.fill = areaColor;\n }\n\n return itemStyle;\n}\n\nfunction updateMapSelectHandler(mapDraw, mapOrGeoModel, regionsGroup, api, fromView) {\n regionsGroup.off('click');\n regionsGroup.off('mousedown');\n\n if (mapOrGeoModel.get('selectedMode')) {\n regionsGroup.on('mousedown', function () {\n mapDraw._mouseDownFlag = true;\n });\n regionsGroup.on('click', function (e) {\n if (!mapDraw._mouseDownFlag) {\n return;\n }\n\n mapDraw._mouseDownFlag = false;\n var el = e.target;\n\n while (!el.__regions) {\n el = el.parent;\n }\n\n if (!el) {\n return;\n }\n\n var action = {\n type: (mapOrGeoModel.mainType === 'geo' ? 'geo' : 'map') + 'ToggleSelect',\n batch: zrUtil.map(el.__regions, function (region) {\n return {\n name: region.name,\n from: fromView.uid\n };\n })\n };\n action[mapOrGeoModel.mainType + 'Id'] = mapOrGeoModel.id;\n api.dispatchAction(action);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n });\n }\n}\n\nfunction updateMapSelected(mapOrGeoModel, regionsGroup) {\n // FIXME\n regionsGroup.eachChild(function (otherRegionEl) {\n zrUtil.each(otherRegionEl.__regions, function (region) {\n otherRegionEl.trigger(mapOrGeoModel.isSelected(region.name) ? 'emphasis' : 'normal');\n });\n });\n}\n/**\n * @alias module:echarts/component/helper/MapDraw\n * @param {module:echarts/ExtensionAPI} api\n * @param {boolean} updateGroup\n */\n\n\nfunction MapDraw(api, updateGroup) {\n var group = new graphic.Group();\n /**\n * @type {string}\n * @private\n */\n\n this.uid = getUID('ec_map_draw');\n /**\n * @type {module:echarts/component/helper/RoamController}\n * @private\n */\n\n this._controller = new RoamController(api.getZr());\n /**\n * @type {Object} {target, zoom, zoomLimit}\n * @private\n */\n\n this._controllerHost = {\n target: updateGroup ? group : null\n };\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = group;\n /**\n * @type {boolean}\n * @private\n */\n\n this._updateGroup = updateGroup;\n /**\n * This flag is used to make sure that only one among\n * `pan`, `zoom`, `click` can occurs, otherwise 'selected'\n * action may be triggered when `pan`, which is unexpected.\n * @type {booelan}\n */\n\n this._mouseDownFlag;\n /**\n * @type {string}\n */\n\n this._mapName;\n /**\n * @type {boolean}\n */\n\n this._initialized;\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._regionsGroup = new graphic.Group());\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._backgroundGroup = new graphic.Group());\n}\n\nMapDraw.prototype = {\n constructor: MapDraw,\n draw: function (mapOrGeoModel, ecModel, api, fromView, payload) {\n var isGeo = mapOrGeoModel.mainType === 'geo'; // Map series has data. GEO model that controlled by map series\n // will be assigned with map data. Other GEO model has no data.\n\n var data = mapOrGeoModel.getData && mapOrGeoModel.getData();\n isGeo && ecModel.eachComponent({\n mainType: 'series',\n subType: 'map'\n }, function (mapSeries) {\n if (!data && mapSeries.getHostGeoModel() === mapOrGeoModel) {\n data = mapSeries.getData();\n }\n });\n var geo = mapOrGeoModel.coordinateSystem;\n\n this._updateBackground(geo);\n\n var regionsGroup = this._regionsGroup;\n var group = this.group;\n var transformInfo = geo.getTransformInfo(); // No animation when first draw or in action\n\n var isFirstDraw = !regionsGroup.childAt(0) || payload;\n var targetScale;\n\n if (isFirstDraw) {\n group.transform = transformInfo.roamTransform;\n group.decomposeTransform();\n group.dirty();\n } else {\n var target = new Transformable();\n target.transform = transformInfo.roamTransform;\n target.decomposeTransform();\n var props = {\n scale: target.scale,\n position: target.position\n };\n targetScale = target.scale;\n graphic.updateProps(group, props, mapOrGeoModel);\n }\n\n var scale = transformInfo.rawScale;\n var position = transformInfo.rawPosition;\n regionsGroup.removeAll();\n var itemStyleAccessPath = ['itemStyle'];\n var hoverItemStyleAccessPath = ['emphasis', 'itemStyle'];\n var labelAccessPath = ['label'];\n var hoverLabelAccessPath = ['emphasis', 'label'];\n var nameMap = zrUtil.createHashMap();\n zrUtil.each(geo.regions, function (region) {\n // Consider in GeoJson properties.name may be duplicated, for example,\n // there is multiple region named \"United Kindom\" or \"France\" (so many\n // colonies). And it is not appropriate to merge them in geo, which\n // will make them share the same label and bring trouble in label\n // location calculation.\n var regionGroup = nameMap.get(region.name) || nameMap.set(region.name, new graphic.Group());\n var compoundPath = new graphic.CompoundPath({\n segmentIgnoreThreshold: 1,\n shape: {\n paths: []\n }\n });\n regionGroup.add(compoundPath);\n var regionModel = mapOrGeoModel.getRegionModel(region.name) || mapOrGeoModel;\n var itemStyleModel = regionModel.getModel(itemStyleAccessPath);\n var hoverItemStyleModel = regionModel.getModel(hoverItemStyleAccessPath);\n var itemStyle = getFixedItemStyle(itemStyleModel);\n var hoverItemStyle = getFixedItemStyle(hoverItemStyleModel);\n var labelModel = regionModel.getModel(labelAccessPath);\n var hoverLabelModel = regionModel.getModel(hoverLabelAccessPath);\n var dataIdx; // Use the itemStyle in data if has data\n\n if (data) {\n dataIdx = data.indexOfName(region.name); // Only visual color of each item will be used. It can be encoded by dataRange\n // But visual color of series is used in symbol drawing\n //\n // Visual color for each series is for the symbol draw\n\n var visualColor = data.getItemVisual(dataIdx, 'color', true);\n\n if (visualColor) {\n itemStyle.fill = visualColor;\n }\n }\n\n var transformPoint = function (point) {\n return [point[0] * scale[0] + position[0], point[1] * scale[1] + position[1]];\n };\n\n zrUtil.each(region.geometries, function (geometry) {\n if (geometry.type !== 'polygon') {\n return;\n }\n\n var points = [];\n\n for (var i = 0; i < geometry.exterior.length; ++i) {\n points.push(transformPoint(geometry.exterior[i]));\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n segmentIgnoreThreshold: 1,\n shape: {\n points: points\n }\n }));\n\n for (var i = 0; i < (geometry.interiors ? geometry.interiors.length : 0); ++i) {\n var interior = geometry.interiors[i];\n var points = [];\n\n for (var j = 0; j < interior.length; ++j) {\n points.push(transformPoint(interior[j]));\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n segmentIgnoreThreshold: 1,\n shape: {\n points: points\n }\n }));\n }\n });\n compoundPath.setStyle(itemStyle);\n compoundPath.style.strokeNoScale = true;\n compoundPath.culling = true; // Label\n\n var showLabel = labelModel.get('show');\n var hoverShowLabel = hoverLabelModel.get('show');\n var isDataNaN = data && isNaN(data.get(data.mapDimension('value'), dataIdx));\n var itemLayout = data && data.getItemLayout(dataIdx); // In the following cases label will be drawn\n // 1. In map series and data value is NaN\n // 2. In geo component\n // 4. Region has no series legendSymbol, which will be add a showLabel flag in mapSymbolLayout\n\n if (isGeo || isDataNaN && (showLabel || hoverShowLabel) || itemLayout && itemLayout.showLabel) {\n var query = !isGeo ? dataIdx : region.name;\n var labelFetcher; // Consider dataIdx not found.\n\n if (!data || dataIdx >= 0) {\n labelFetcher = mapOrGeoModel;\n }\n\n var textEl = new graphic.Text({\n position: transformPoint(region.center.slice()),\n // FIXME\n // label rotation is not support yet in geo or regions of series-map\n // that has no data. The rotation will be effected by this `scale`.\n // So needed to change to RectText?\n scale: [1 / group.scale[0], 1 / group.scale[1]],\n z2: 10,\n silent: true\n });\n graphic.setLabelStyle(textEl.style, textEl.hoverStyle = {}, labelModel, hoverLabelModel, {\n labelFetcher: labelFetcher,\n labelDataIndex: query,\n defaultText: region.name,\n useInsideStyle: false\n }, {\n textAlign: 'center',\n textVerticalAlign: 'middle'\n });\n\n if (!isFirstDraw) {\n // Text animation\n var textScale = [1 / targetScale[0], 1 / targetScale[1]];\n graphic.updateProps(textEl, {\n scale: textScale\n }, mapOrGeoModel);\n }\n\n regionGroup.add(textEl);\n } // setItemGraphicEl, setHoverStyle after all polygons and labels\n // are added to the rigionGroup\n\n\n if (data) {\n data.setItemGraphicEl(dataIdx, regionGroup);\n } else {\n var regionModel = mapOrGeoModel.getRegionModel(region.name); // Package custom mouse event for geo component\n\n compoundPath.eventData = {\n componentType: 'geo',\n componentIndex: mapOrGeoModel.componentIndex,\n geoIndex: mapOrGeoModel.componentIndex,\n name: region.name,\n region: regionModel && regionModel.option || {}\n };\n }\n\n var groupRegions = regionGroup.__regions || (regionGroup.__regions = []);\n groupRegions.push(region);\n regionGroup.highDownSilentOnTouch = !!mapOrGeoModel.get('selectedMode');\n graphic.setHoverStyle(regionGroup, hoverItemStyle);\n regionsGroup.add(regionGroup);\n });\n\n this._updateController(mapOrGeoModel, ecModel, api);\n\n updateMapSelectHandler(this, mapOrGeoModel, regionsGroup, api, fromView);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n },\n remove: function () {\n this._regionsGroup.removeAll();\n\n this._backgroundGroup.removeAll();\n\n this._controller.dispose();\n\n this._mapName && geoSourceManager.removeGraphic(this._mapName, this.uid);\n this._mapName = null;\n this._controllerHost = {};\n },\n _updateBackground: function (geo) {\n var mapName = geo.map;\n\n if (this._mapName !== mapName) {\n zrUtil.each(geoSourceManager.makeGraphic(mapName, this.uid), function (root) {\n this._backgroundGroup.add(root);\n }, this);\n }\n\n this._mapName = mapName;\n },\n _updateController: function (mapOrGeoModel, ecModel, api) {\n var geo = mapOrGeoModel.coordinateSystem;\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n controllerHost.zoomLimit = mapOrGeoModel.get('scaleLimit');\n controllerHost.zoom = geo.getZoom(); // roamType is will be set default true if it is null\n\n controller.enable(mapOrGeoModel.get('roam') || false);\n var mainType = mapOrGeoModel.mainType;\n\n function makeActionBase() {\n var action = {\n type: 'geoRoam',\n componentType: mainType\n };\n action[mainType + 'Id'] = mapOrGeoModel.id;\n return action;\n }\n\n controller.off('pan').on('pan', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n dx: e.dx,\n dy: e.dy\n }));\n }, this);\n controller.off('zoom').on('zoom', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n }));\n\n if (this._updateGroup) {\n var scale = this.group.scale;\n\n this._regionsGroup.traverse(function (el) {\n if (el.type === 'text') {\n el.attr('scale', [1 / scale[0], 1 / scale[1]]);\n }\n });\n }\n }, this);\n controller.setPointerChecker(function (e, x, y) {\n return geo.getViewRectAfterRoam().contain(x, y) && !onIrrelevantElement(e, api, mapOrGeoModel);\n });\n }\n};\nvar _default = MapDraw;\nmodule.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _cRender = require(\"@jiaminghi/c-render\");\n\nvar _graphs = require(\"@jiaminghi/c-render/lib/config/graphs\");\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nvar _color = require(\"@jiaminghi/color\");\n\nvar _index = require(\"../util/index\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar pie = {\n shape: {\n rx: 0,\n ry: 0,\n ir: 0,\n or: 0,\n startAngle: 0,\n endAngle: 0,\n clockWise: true\n },\n validator: function validator(_ref) {\n var shape = _ref.shape;\n var keys = ['rx', 'ry', 'ir', 'or', 'startAngle', 'endAngle'];\n\n if (keys.find(function (key) {\n return typeof shape[key] !== 'number';\n })) {\n console.error('Pie shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref2, _ref3) {\n var ctx = _ref2.ctx;\n var shape = _ref3.shape;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n ir = shape.ir,\n or = shape.or,\n startAngle = shape.startAngle,\n endAngle = shape.endAngle,\n clockWise = shape.clockWise;\n rx = parseInt(rx) + 0.5;\n ry = parseInt(ry) + 0.5;\n ctx.arc(rx, ry, ir > 0 ? ir : 0, startAngle, endAngle, !clockWise);\n var connectPoint1 = (0, _util.getCircleRadianPoint)(rx, ry, or, endAngle).map(function (p) {\n return parseInt(p) + 0.5;\n });\n var connectPoint2 = (0, _util.getCircleRadianPoint)(rx, ry, ir, startAngle).map(function (p) {\n return parseInt(p) + 0.5;\n });\n ctx.lineTo.apply(ctx, (0, _toConsumableArray2[\"default\"])(connectPoint1));\n ctx.arc(rx, ry, or > 0 ? or : 0, endAngle, startAngle, clockWise);\n ctx.lineTo.apply(ctx, (0, _toConsumableArray2[\"default\"])(connectPoint2));\n ctx.closePath();\n ctx.stroke();\n ctx.fill();\n }\n};\nvar agArc = {\n shape: {\n rx: 0,\n ry: 0,\n r: 0,\n startAngle: 0,\n endAngle: 0,\n gradientStartAngle: null,\n gradientEndAngle: null\n },\n validator: function validator(_ref4) {\n var shape = _ref4.shape;\n var keys = ['rx', 'ry', 'r', 'startAngle', 'endAngle'];\n\n if (keys.find(function (key) {\n return typeof shape[key] !== 'number';\n })) {\n console.error('AgArc shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref5, _ref6) {\n var ctx = _ref5.ctx;\n var shape = _ref6.shape,\n style = _ref6.style;\n var gradient = style.gradient;\n gradient = gradient.map(function (cv) {\n return (0, _color.getColorFromRgbValue)(cv);\n });\n\n if (gradient.length === 1) {\n gradient = [gradient[0], gradient[0]];\n }\n\n var gradientArcNum = gradient.length - 1;\n var gradientStartAngle = shape.gradientStartAngle,\n gradientEndAngle = shape.gradientEndAngle,\n startAngle = shape.startAngle,\n endAngle = shape.endAngle,\n r = shape.r,\n rx = shape.rx,\n ry = shape.ry;\n if (gradientStartAngle === null) gradientStartAngle = startAngle;\n if (gradientEndAngle === null) gradientEndAngle = endAngle;\n var angleGap = (gradientEndAngle - gradientStartAngle) / gradientArcNum;\n if (angleGap === Math.PI * 2) angleGap = Math.PI * 2 - 0.001;\n\n for (var i = 0; i < gradientArcNum; i++) {\n ctx.beginPath();\n var startPoint = (0, _util.getCircleRadianPoint)(rx, ry, r, startAngle + angleGap * i);\n var endPoint = (0, _util.getCircleRadianPoint)(rx, ry, r, startAngle + angleGap * (i + 1));\n var color = (0, _index.getLinearGradientColor)(ctx, startPoint, endPoint, [gradient[i], gradient[i + 1]]);\n var arcStartAngle = startAngle + angleGap * i;\n var arcEndAngle = startAngle + angleGap * (i + 1);\n var doBreak = false;\n\n if (arcEndAngle > endAngle) {\n arcEndAngle = endAngle;\n doBreak = true;\n }\n\n ctx.arc(rx, ry, r, arcStartAngle, arcEndAngle);\n ctx.strokeStyle = color;\n ctx.stroke();\n if (doBreak) break;\n }\n }\n};\nvar numberText = {\n shape: {\n number: [],\n content: '',\n position: [0, 0],\n toFixed: 0,\n rowGap: 0,\n formatter: null\n },\n validator: function validator(_ref7) {\n var shape = _ref7.shape;\n var number = shape.number,\n content = shape.content,\n position = shape.position;\n\n if (!(number instanceof Array) || typeof content !== 'string' || !(position instanceof Array)) {\n console.error('NumberText shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref8, _ref9) {\n var ctx = _ref8.ctx;\n var shape = _ref9.shape;\n var number = shape.number,\n content = shape.content,\n toFixed = shape.toFixed,\n rowGap = shape.rowGap,\n formatter = shape.formatter;\n var textSegments = content.split('{nt}');\n var textString = '';\n textSegments.forEach(function (t, i) {\n var currentNumber = number[i];\n if (typeof currentNumber !== 'number') currentNumber = '';\n\n if (typeof currentNumber === 'number') {\n currentNumber = currentNumber.toFixed(toFixed);\n if (typeof formatter === 'function') currentNumber = formatter(currentNumber);\n }\n\n textString += t + (currentNumber || '');\n });\n\n _graphs.text.draw({\n ctx: ctx\n }, {\n shape: _objectSpread(_objectSpread({}, shape), {}, {\n content: textString,\n rowGap: rowGap\n })\n });\n }\n};\nvar lineIcon = {\n shape: {\n x: 0,\n y: 0,\n w: 0,\n h: 0\n },\n validator: function validator(_ref10) {\n var shape = _ref10.shape;\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n\n if (typeof x !== 'number' || typeof y !== 'number' || typeof w !== 'number' || typeof h !== 'number') {\n console.error('lineIcon shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref11, _ref12) {\n var ctx = _ref11.ctx;\n var shape = _ref12.shape;\n ctx.beginPath();\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n var halfH = h / 2;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.moveTo(x, y + halfH);\n ctx.lineTo(x + w, y + halfH);\n ctx.lineWidth = 1;\n ctx.stroke();\n ctx.beginPath();\n var radius = halfH - 5 * 2;\n if (radius <= 0) radius = 3;\n ctx.arc(x + w / 2, y + halfH, radius, 0, Math.PI * 2);\n ctx.lineWidth = 5;\n ctx.stroke();\n ctx.fillStyle = '#fff';\n ctx.fill();\n },\n hoverCheck: function hoverCheck(position, _ref13) {\n var shape = _ref13.shape;\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n return (0, _util.checkPointIsInRect)(position, x, y, w, h);\n },\n setGraphCenter: function setGraphCenter(e, _ref14) {\n var shape = _ref14.shape,\n style = _ref14.style;\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n style.graphCenter = [x + w / 2, y + h / 2];\n }\n};\n(0, _cRender.extendNewGraph)('pie', pie);\n(0, _cRender.extendNewGraph)('agArc', agArc);\n(0, _cRender.extendNewGraph)('numberText', numberText);\n(0, _cRender.extendNewGraph)('lineIcon', lineIcon);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.radarAxisConfig = void 0;\nvar radarAxisConfig = {\n /**\n * @description Whether to display this radar axis\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Center point of radar axis\n * @type {Array}\n * @default center = ['50%','50%']\n * @example center = ['50%','50%'] | [100, 100]\n */\n center: ['50%', '50%'],\n\n /**\n * @description Radius of radar axis\n * @type {String|Number}\n * @default radius = '65%'\n * @example radius = '65%' | 100\n */\n radius: '65%',\n\n /**\n * @description Radar axis start angle\n * @type {Number}\n * @default startAngle = -Math.PI / 2\n * @example startAngle = -Math.PI\n */\n startAngle: -Math.PI / 2,\n\n /**\n * @description Radar axis split number\n * @type {Number}\n * @default splitNum = 5\n */\n splitNum: 5,\n\n /**\n * @description Whether to enable polygon radar axis\n * @type {Boolean}\n * @default polygon = false\n */\n polygon: false,\n\n /**\n * @description Axis label configuration\n * @type {Object}\n */\n axisLabel: {\n /**\n * @description Whether to display axis label\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Label gap between label and radar axis\n * @type {Number}\n * @default labelGap = 15\n */\n labelGap: 15,\n\n /**\n * @description Label color (Hex|rgb|rgba), will cover style.fill\n * @type {Array}\n * @default color = []\n */\n color: [],\n\n /**\n * @description Axis label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fill: '#333'\n }\n },\n\n /**\n * @description Axis line configuration\n * @type {Object}\n */\n axisLine: {\n /**\n * @description Whether to display axis line\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Line color (Hex|rgb|rgba), will cover style.stroke\n * @type {Array}\n * @default color = []\n */\n color: [],\n\n /**\n * @description Axis label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#999',\n lineWidth: 1\n }\n },\n\n /**\n * @description Split line configuration\n * @type {Object}\n */\n splitLine: {\n /**\n * @description Whether to display split line\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Line color (Hex|rgb|rgba), will cover style.stroke\n * @type {Array}\n * @default color = []\n */\n color: [],\n\n /**\n * @description Split line default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#d4d4d4',\n lineWidth: 1\n }\n },\n\n /**\n * @description Split area configuration\n * @type {Object}\n */\n splitArea: {\n /**\n * @description Whether to display split area\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Area color (Hex|rgb|rgba), will cover style.stroke\n * @type {Array}\n * @default color = []\n */\n color: ['#f5f5f5', '#e6e6e6'],\n\n /**\n * @description Split area default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {}\n },\n\n /**\n * @description Bar chart render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = -10\n */\n rLevel: -10,\n\n /**\n * @description Radar axis animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description Radar axis animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrane: 50\n};\nexports.radarAxisConfig = radarAxisConfig;","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","var matrix = require(\"../core/matrix\");\n\nvar vector = require(\"../core/vector\");\n\n/**\n * 提供变换扩展\n * @module zrender/mixin/Transformable\n * @author pissang (https://www.github.com/pissang)\n */\nvar mIdentity = matrix.identity;\nvar EPSILON = 5e-5;\n\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\n/**\n * @alias module:zrender/mixin/Transformable\n * @constructor\n */\n\n\nvar Transformable = function (opts) {\n opts = opts || {}; // If there are no given position, rotation, scale\n\n if (!opts.position) {\n /**\n * 平移\n * @type {Array.}\n * @default [0, 0]\n */\n this.position = [0, 0];\n }\n\n if (opts.rotation == null) {\n /**\n * 旋转\n * @type {Array.}\n * @default 0\n */\n this.rotation = 0;\n }\n\n if (!opts.scale) {\n /**\n * 缩放\n * @type {Array.}\n * @default [1, 1]\n */\n this.scale = [1, 1];\n }\n /**\n * 旋转和缩放的原点\n * @type {Array.}\n * @default null\n */\n\n\n this.origin = this.origin || null;\n};\n\nvar transformableProto = Transformable.prototype;\ntransformableProto.transform = null;\n/**\n * 判断是否需要有坐标变换\n * 如果有坐标变换, 则从position, rotation, scale以及父节点的transform计算出自身的transform矩阵\n */\n\ntransformableProto.needLocalTransform = function () {\n return isNotAroundZero(this.rotation) || isNotAroundZero(this.position[0]) || isNotAroundZero(this.position[1]) || isNotAroundZero(this.scale[0] - 1) || isNotAroundZero(this.scale[1] - 1);\n};\n\nvar scaleTmp = [];\n\ntransformableProto.updateTransform = function () {\n var parent = this.parent;\n var parentHasTransform = parent && parent.transform;\n var needLocalTransform = this.needLocalTransform();\n var m = this.transform;\n\n if (!(needLocalTransform || parentHasTransform)) {\n m && mIdentity(m);\n return;\n }\n\n m = m || matrix.create();\n\n if (needLocalTransform) {\n this.getLocalTransform(m);\n } else {\n mIdentity(m);\n } // 应用父节点变换\n\n\n if (parentHasTransform) {\n if (needLocalTransform) {\n matrix.mul(m, parent.transform, m);\n } else {\n matrix.copy(m, parent.transform);\n }\n } // 保存这个变换矩阵\n\n\n this.transform = m;\n var globalScaleRatio = this.globalScaleRatio;\n\n if (globalScaleRatio != null && globalScaleRatio !== 1) {\n this.getGlobalScale(scaleTmp);\n var relX = scaleTmp[0] < 0 ? -1 : 1;\n var relY = scaleTmp[1] < 0 ? -1 : 1;\n var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;\n var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;\n m[0] *= sx;\n m[1] *= sx;\n m[2] *= sy;\n m[3] *= sy;\n }\n\n this.invTransform = this.invTransform || matrix.create();\n matrix.invert(this.invTransform, m);\n};\n\ntransformableProto.getLocalTransform = function (m) {\n return Transformable.getLocalTransform(this, m);\n};\n/**\n * 将自己的transform应用到context上\n * @param {CanvasRenderingContext2D} ctx\n */\n\n\ntransformableProto.setTransform = function (ctx) {\n var m = this.transform;\n var dpr = ctx.dpr || 1;\n\n if (m) {\n ctx.setTransform(dpr * m[0], dpr * m[1], dpr * m[2], dpr * m[3], dpr * m[4], dpr * m[5]);\n } else {\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n }\n};\n\ntransformableProto.restoreTransform = function (ctx) {\n var dpr = ctx.dpr || 1;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n};\n\nvar tmpTransform = [];\nvar originTransform = matrix.create();\n\ntransformableProto.setLocalTransform = function (m) {\n if (!m) {\n // TODO return or set identity?\n return;\n }\n\n var sx = m[0] * m[0] + m[1] * m[1];\n var sy = m[2] * m[2] + m[3] * m[3];\n var position = this.position;\n var scale = this.scale;\n\n if (isNotAroundZero(sx - 1)) {\n sx = Math.sqrt(sx);\n }\n\n if (isNotAroundZero(sy - 1)) {\n sy = Math.sqrt(sy);\n }\n\n if (m[0] < 0) {\n sx = -sx;\n }\n\n if (m[3] < 0) {\n sy = -sy;\n }\n\n position[0] = m[4];\n position[1] = m[5];\n scale[0] = sx;\n scale[1] = sy;\n this.rotation = Math.atan2(-m[1] / sy, m[0] / sx);\n};\n/**\n * 分解`transform`矩阵到`position`, `rotation`, `scale`\n */\n\n\ntransformableProto.decomposeTransform = function () {\n if (!this.transform) {\n return;\n }\n\n var parent = this.parent;\n var m = this.transform;\n\n if (parent && parent.transform) {\n // Get local transform and decompose them to position, scale, rotation\n matrix.mul(tmpTransform, parent.invTransform, m);\n m = tmpTransform;\n }\n\n var origin = this.origin;\n\n if (origin && (origin[0] || origin[1])) {\n originTransform[4] = origin[0];\n originTransform[5] = origin[1];\n matrix.mul(tmpTransform, m, originTransform);\n tmpTransform[4] -= origin[0];\n tmpTransform[5] -= origin[1];\n m = tmpTransform;\n }\n\n this.setLocalTransform(m);\n};\n/**\n * Get global scale\n * @return {Array.}\n */\n\n\ntransformableProto.getGlobalScale = function (out) {\n var m = this.transform;\n out = out || [];\n\n if (!m) {\n out[0] = 1;\n out[1] = 1;\n return out;\n }\n\n out[0] = Math.sqrt(m[0] * m[0] + m[1] * m[1]);\n out[1] = Math.sqrt(m[2] * m[2] + m[3] * m[3]);\n\n if (m[0] < 0) {\n out[0] = -out[0];\n }\n\n if (m[3] < 0) {\n out[1] = -out[1];\n }\n\n return out;\n};\n/**\n * 变换坐标位置到 shape 的局部坐标空间\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToLocal = function (x, y) {\n var v2 = [x, y];\n var invTransform = this.invTransform;\n\n if (invTransform) {\n vector.applyTransform(v2, v2, invTransform);\n }\n\n return v2;\n};\n/**\n * 变换局部坐标位置到全局坐标空间\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToGlobal = function (x, y) {\n var v2 = [x, y];\n var transform = this.transform;\n\n if (transform) {\n vector.applyTransform(v2, v2, transform);\n }\n\n return v2;\n};\n/**\n * @static\n * @param {Object} target\n * @param {Array.} target.origin\n * @param {number} target.rotation\n * @param {Array.} target.position\n * @param {Array.} [m]\n */\n\n\nTransformable.getLocalTransform = function (target, m) {\n m = m || [];\n mIdentity(m);\n var origin = target.origin;\n var scale = target.scale || [1, 1];\n var rotation = target.rotation || 0;\n var position = target.position || [0, 0];\n\n if (origin) {\n // Translate to origin\n m[4] -= origin[0];\n m[5] -= origin[1];\n }\n\n matrix.scale(m, m, scale);\n\n if (rotation) {\n matrix.rotate(m, m, rotation);\n }\n\n if (origin) {\n // Translate back from origin\n m[4] += origin[0];\n m[5] += origin[1];\n }\n\n m[4] += position[0];\n m[5] += position[1];\n return m;\n};\n\nvar _default = Transformable;\nmodule.exports = _default;","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export');\nvar microtask = require('./_microtask')();\nvar process = require('./_global').process;\nvar isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","var Displayable = require(\"./Displayable\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar imageHelper = require(\"./helper/image\");\n\n/**\n * @alias zrender/graphic/Image\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nfunction ZImage(opts) {\n Displayable.call(this, opts);\n}\n\nZImage.prototype = {\n constructor: ZImage,\n type: 'image',\n brush: function (ctx, prevEl) {\n var style = this.style;\n var src = style.image; // Must bind each time\n\n style.bind(ctx, this, prevEl);\n var image = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);\n\n if (!image || !imageHelper.isImageReady(image)) {\n return;\n } // 图片已经加载完成\n // if (image.nodeName.toUpperCase() == 'IMG') {\n // if (!image.complete) {\n // return;\n // }\n // }\n // Else is canvas\n\n\n var x = style.x || 0;\n var y = style.y || 0;\n var width = style.width;\n var height = style.height;\n var aspect = image.width / image.height;\n\n if (width == null && height != null) {\n // Keep image/height ratio\n width = height * aspect;\n } else if (height == null && width != null) {\n height = width / aspect;\n } else if (width == null && height == null) {\n width = image.width;\n height = image.height;\n } // 设置transform\n\n\n this.setTransform(ctx);\n\n if (style.sWidth && style.sHeight) {\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);\n } else if (style.sx && style.sy) {\n var sx = style.sx;\n var sy = style.sy;\n var sWidth = width - sx;\n var sHeight = height - sy;\n ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);\n } else {\n ctx.drawImage(image, x, y, width, height);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n getBoundingRect: function () {\n var style = this.style;\n\n if (!this._rect) {\n this._rect = new BoundingRect(style.x || 0, style.y || 0, style.width || 0, style.height || 0);\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(ZImage, Displayable);\nvar _default = ZImage;\nmodule.exports = _default;","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel, payload) {\n ecModel.eachSeriesByType('sankey', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var nodes = graph.nodes;\n\n if (nodes.length) {\n var minValue = Infinity;\n var maxValue = -Infinity;\n zrUtil.each(nodes, function (node) {\n var nodeValue = node.getLayout().value;\n\n if (nodeValue < minValue) {\n minValue = nodeValue;\n }\n\n if (nodeValue > maxValue) {\n maxValue = nodeValue;\n }\n });\n zrUtil.each(nodes, function (node) {\n var mapping = new VisualMapping({\n type: 'color',\n mappingMethod: 'linear',\n dataExtent: [minValue, maxValue],\n visual: seriesModel.get('color')\n });\n var mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);\n var customColor = node.getModel().get('itemStyle.color');\n customColor != null ? node.setVisual('color', customColor) : node.setVisual('color', mapValueToColor);\n });\n }\n });\n}\n\nmodule.exports = _default;","/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar LegendView = require(\"./LegendView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Separate legend and scrollable legend to reduce package size.\n */\nvar Group = graphic.Group;\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\nvar ScrollableLegendView = LegendView.extend({\n type: 'legend.scroll',\n newlineDisabled: true,\n init: function () {\n ScrollableLegendView.superCall(this, 'init');\n /**\n * @private\n * @type {number} For `scroll`.\n */\n\n this._currentIndex = 0;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this.group.add(this._containerGroup = new Group());\n\n this._containerGroup.add(this.getContentGroup());\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n\n this.group.add(this._controllerGroup = new Group());\n /**\n *\n * @private\n */\n\n this._showController;\n },\n\n /**\n * @override\n */\n resetInner: function () {\n ScrollableLegendView.superCall(this, 'resetInner');\n\n this._controllerGroup.removeAll();\n\n this._containerGroup.removeClipPath();\n\n this._containerGroup.__rectSize = null;\n },\n\n /**\n * @override\n */\n renderInner: function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n var me = this; // Render content items.\n\n ScrollableLegendView.superCall(this, 'renderInner', itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition);\n var controllerGroup = this._controllerGroup; // FIXME: support be 'auto' adapt to size number text length,\n // e.g., '3/12345' should not overlap with the control arrow button.\n\n var pageIconSize = legendModel.get('pageIconSize', true);\n\n if (!zrUtil.isArray(pageIconSize)) {\n pageIconSize = [pageIconSize, pageIconSize];\n }\n\n createPageButton('pagePrev', 0);\n var pageTextStyleModel = legendModel.getModel('pageTextStyle');\n controllerGroup.add(new graphic.Text({\n name: 'pageText',\n style: {\n textFill: pageTextStyleModel.getTextColor(),\n font: pageTextStyleModel.getFont(),\n textVerticalAlign: 'middle',\n textAlign: 'center'\n },\n silent: true\n }));\n createPageButton('pageNext', 1);\n\n function createPageButton(name, iconIdx) {\n var pageDataIndexName = name + 'DataIndex';\n var icon = graphic.createIcon(legendModel.get('pageIcons', true)[legendModel.getOrient().name][iconIdx], {\n // Buttons will be created in each render, so we do not need\n // to worry about avoiding using legendModel kept in scope.\n onclick: zrUtil.bind(me._pageGo, me, pageDataIndexName, legendModel, api)\n }, {\n x: -pageIconSize[0] / 2,\n y: -pageIconSize[1] / 2,\n width: pageIconSize[0],\n height: pageIconSize[1]\n });\n icon.name = name;\n controllerGroup.add(icon);\n }\n },\n\n /**\n * @override\n */\n layoutInner: function (legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition) {\n var selectorGroup = this.getSelectorGroup();\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n var hw = WH[1 - orientIdx];\n var yx = XY[1 - orientIdx];\n selector && layoutUtil.box( // Buttons in selectorGroup always layout horizontally\n 'horizontal', selectorGroup, legendModel.get('selectorItemGap', true));\n var selectorButtonGap = legendModel.get('selectorButtonGap', true);\n var selectorRect = selectorGroup.getBoundingRect();\n var selectorPos = [-selectorRect.x, -selectorRect.y];\n var processMaxSize = zrUtil.clone(maxSize);\n selector && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);\n\n var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx);\n\n if (selector) {\n if (selectorPosition === 'end') {\n selectorPos[orientIdx] += mainRect[wh] + selectorButtonGap;\n } else {\n var offset = selectorRect[wh] + selectorButtonGap;\n selectorPos[orientIdx] -= offset;\n mainRect[xy] -= offset;\n }\n\n mainRect[wh] += selectorRect[wh] + selectorButtonGap;\n selectorPos[1 - orientIdx] += mainRect[yx] + mainRect[hw] / 2 - selectorRect[hw] / 2;\n mainRect[hw] = Math.max(mainRect[hw], selectorRect[hw]);\n mainRect[yx] = Math.min(mainRect[yx], selectorRect[yx] + selectorPos[1 - orientIdx]);\n selectorGroup.attr('position', selectorPos);\n }\n\n return mainRect;\n },\n _layoutContentAndController: function (legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx) {\n var contentGroup = this.getContentGroup();\n var containerGroup = this._containerGroup;\n var controllerGroup = this._controllerGroup; // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);\n layoutUtil.box( // Buttons in controller are layout always horizontally.\n 'horizontal', controllerGroup, legendModel.get('pageButtonItemGap', true));\n var contentRect = contentGroup.getBoundingRect();\n var controllerRect = controllerGroup.getBoundingRect();\n var showController = this._showController = contentRect[wh] > maxSize[wh];\n var contentPos = [-contentRect.x, -contentRect.y]; // Remain contentPos when scroll animation perfroming.\n // If first rendering, `contentGroup.position` is [0, 0], which\n // does not make sense and may cause unexepcted animation if adopted.\n\n if (!isFirstRender) {\n contentPos[orientIdx] = contentGroup.position[orientIdx];\n } // Layout container group based on 0.\n\n\n var containerPos = [0, 0];\n var controllerPos = [-controllerRect.x, -controllerRect.y];\n var pageButtonGap = zrUtil.retrieve2(legendModel.get('pageButtonGap', true), legendModel.get('itemGap', true)); // Place containerGroup and controllerGroup and contentGroup.\n\n if (showController) {\n var pageButtonPosition = legendModel.get('pageButtonPosition', true); // controller is on the right / bottom.\n\n if (pageButtonPosition === 'end') {\n controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];\n } // controller is on the left / top.\n else {\n containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;\n }\n } // Always align controller to content as 'middle'.\n\n\n controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;\n contentGroup.attr('position', contentPos);\n containerGroup.attr('position', containerPos);\n controllerGroup.attr('position', controllerPos); // Calculate `mainRect` and set `clipPath`.\n // mainRect should not be calculated by `this.group.getBoundingRect()`\n // for sake of the overflow.\n\n var mainRect = {\n x: 0,\n y: 0\n }; // Consider content may be overflow (should be clipped).\n\n mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];\n mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]); // `containerRect[yx] + containerPos[1 - orientIdx]` is 0.\n\n mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);\n containerGroup.__rectSize = maxSize[wh];\n\n if (showController) {\n var clipShape = {\n x: 0,\n y: 0\n };\n clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);\n clipShape[hw] = mainRect[hw];\n containerGroup.setClipPath(new graphic.Rect({\n shape: clipShape\n })); // Consider content may be larger than container, container rect\n // can not be obtained from `containerGroup.getBoundingRect()`.\n\n containerGroup.__rectSize = clipShape[wh];\n } else {\n // Do not remove or ignore controller. Keep them set as placeholders.\n controllerGroup.eachChild(function (child) {\n child.attr({\n invisible: true,\n silent: true\n });\n });\n } // Content translate animation.\n\n\n var pageInfo = this._getPageInfo(legendModel);\n\n pageInfo.pageIndex != null && graphic.updateProps(contentGroup, {\n position: pageInfo.contentPosition\n }, // When switch from \"show controller\" to \"not show controller\", view should be\n // updated immediately without animation, otherwise causes weird effect.\n showController ? legendModel : false);\n\n this._updatePageInfoView(legendModel, pageInfo);\n\n return mainRect;\n },\n _pageGo: function (to, legendModel, api) {\n var scrollDataIndex = this._getPageInfo(legendModel)[to];\n\n scrollDataIndex != null && api.dispatchAction({\n type: 'legendScroll',\n scrollDataIndex: scrollDataIndex,\n legendId: legendModel.id\n });\n },\n _updatePageInfoView: function (legendModel, pageInfo) {\n var controllerGroup = this._controllerGroup;\n zrUtil.each(['pagePrev', 'pageNext'], function (name) {\n var canJump = pageInfo[name + 'DataIndex'] != null;\n var icon = controllerGroup.childOfName(name);\n\n if (icon) {\n icon.setStyle('fill', canJump ? legendModel.get('pageIconColor', true) : legendModel.get('pageIconInactiveColor', true));\n icon.cursor = canJump ? 'pointer' : 'default';\n }\n });\n var pageText = controllerGroup.childOfName('pageText');\n var pageFormatter = legendModel.get('pageFormatter');\n var pageIndex = pageInfo.pageIndex;\n var current = pageIndex != null ? pageIndex + 1 : 0;\n var total = pageInfo.pageCount;\n pageText && pageFormatter && pageText.setStyle('text', zrUtil.isString(pageFormatter) ? pageFormatter.replace('{current}', current).replace('{total}', total) : pageFormatter({\n current: current,\n total: total\n }));\n },\n\n /**\n * @param {module:echarts/model/Model} legendModel\n * @return {Object} {\n * contentPosition: Array., null when data item not found.\n * pageIndex: number, null when data item not found.\n * pageCount: number, always be a number, can be 0.\n * pagePrevDataIndex: number, null when no previous page.\n * pageNextDataIndex: number, null when no next page.\n * }\n */\n _getPageInfo: function (legendModel) {\n var scrollDataIndex = legendModel.get('scrollDataIndex', true);\n var contentGroup = this.getContentGroup();\n var containerRectSize = this._containerGroup.__rectSize;\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n\n var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);\n\n var children = contentGroup.children();\n var targetItem = children[targetItemIndex];\n var itemCount = children.length;\n var pCount = !itemCount ? 0 : 1;\n var result = {\n contentPosition: contentGroup.position.slice(),\n pageCount: pCount,\n pageIndex: pCount - 1,\n pagePrevDataIndex: null,\n pageNextDataIndex: null\n };\n\n if (!targetItem) {\n return result;\n }\n\n var targetItemInfo = getItemInfo(targetItem);\n result.contentPosition[orientIdx] = -targetItemInfo.s; // Strategy:\n // (1) Always align based on the left/top most item.\n // (2) It is user-friendly that the last item shown in the\n // current window is shown at the begining of next window.\n // Otherwise if half of the last item is cut by the window,\n // it will have no chance to display entirely.\n // (3) Consider that item size probably be different, we\n // have calculate pageIndex by size rather than item index,\n // and we can not get page index directly by division.\n // (4) The window is to narrow to contain more than\n // one item, we should make sure that the page can be fliped.\n\n for (var i = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i <= itemCount; ++i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // Half of the last item is out of the window.\n !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page\n // can be started at the current item or the last item.\n currItemInfo && !intersect(currItemInfo, winStartItemInfo.s)) {\n if (winEndItemInfo.i > winStartItemInfo.i) {\n winStartItemInfo = winEndItemInfo;\n } else {\n // e.g., when page size is smaller than item size.\n winStartItemInfo = currItemInfo;\n }\n\n if (winStartItemInfo) {\n if (result.pageNextDataIndex == null) {\n result.pageNextDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n }\n }\n\n winEndItemInfo = currItemInfo;\n }\n\n for (var i = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i >= -1; --i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // If the the end item does not intersect with the window started\n // from the current item, a page can be settled.\n (!currItemInfo || !intersect(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.\n winStartItemInfo.i < winEndItemInfo.i) {\n winEndItemInfo = winStartItemInfo;\n\n if (result.pagePrevDataIndex == null) {\n result.pagePrevDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n ++result.pageIndex;\n }\n\n winStartItemInfo = currItemInfo;\n }\n\n return result;\n\n function getItemInfo(el) {\n if (el) {\n var itemRect = el.getBoundingRect();\n var start = itemRect[xy] + el.position[orientIdx];\n return {\n s: start,\n e: start + itemRect[wh],\n i: el.__legendDataIndex\n };\n }\n }\n\n function intersect(itemInfo, winStart) {\n return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;\n }\n },\n _findTargetItemIndex: function (targetDataIndex) {\n if (!this._showController) {\n return 0;\n }\n\n var index;\n var contentGroup = this.getContentGroup();\n var defaultIndex;\n contentGroup.eachChild(function (child, idx) {\n var legendDataIdx = child.__legendDataIndex; // FIXME\n // If the given targetDataIndex (from model) is illegal,\n // we use defaultIndex. But the index on the legend model and\n // action payload is still illegal. That case will not be\n // changed until some scenario requires.\n\n if (defaultIndex == null && legendDataIdx != null) {\n defaultIndex = idx;\n }\n\n if (legendDataIdx === targetDataIndex) {\n index = idx;\n }\n });\n return index != null ? index : defaultIndex;\n }\n});\nvar _default = ScrollableLegendView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor module:echarts/coord/parallel/ParallelAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n */\nvar ParallelAxis = function (dim, scale, coordExtent, axisType, axisIndex) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * @type {number}\n * @readOnly\n */\n\n this.axisIndex = axisIndex;\n};\n\nParallelAxis.prototype = {\n constructor: ParallelAxis,\n\n /**\n * Axis model\n * @param {module:echarts/coord/parallel/AxisModel}\n */\n model: null,\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.coordinateSystem.getModel().get('layout') !== 'horizontal';\n }\n};\nzrUtil.inherits(ParallelAxis, Axis);\nvar _default = ParallelAxis;\nmodule.exports = _default;","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar getDataItemValue = _model.getDataItemValue;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar isString = _util.isString;\nvar isObject = _util.isObject;\nvar isTypedArray = _util.isTypedArray;\nvar isArrayLike = _util.isArrayLike;\nvar extend = _util.extend;\nvar assert = _util.assert;\n\nvar Source = require(\"../Source\");\n\nvar _sourceType = require(\"./sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SERIES_LAYOUT_BY_ROW = _sourceType.SERIES_LAYOUT_BY_ROW;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// The result of `guessOrdinal`.\nvar BE_ORDINAL = {\n Must: 1,\n // Encounter string but not '-' and not number-like.\n Might: 2,\n // Encounter string but number-like.\n Not: 3 // Other cases\n\n};\nvar inner = makeInner();\n/**\n * @see {module:echarts/data/Source}\n * @param {module:echarts/component/dataset/DatasetModel} datasetModel\n * @return {string} sourceFormat\n */\n\nfunction detectSourceFormat(datasetModel) {\n var data = datasetModel.option.source;\n var sourceFormat = SOURCE_FORMAT_UNKNOWN;\n\n if (isTypedArray(data)) {\n sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;\n } else if (isArray(data)) {\n // FIXME Whether tolerate null in top level array?\n if (data.length === 0) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n }\n\n for (var i = 0, len = data.length; i < len; i++) {\n var item = data[i];\n\n if (item == null) {\n continue;\n } else if (isArray(item)) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n break;\n } else if (isObject(item)) {\n sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;\n break;\n }\n }\n } else if (isObject(data)) {\n for (var key in data) {\n if (data.hasOwnProperty(key) && isArrayLike(data[key])) {\n sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;\n break;\n }\n }\n } else if (data != null) {\n throw new Error('Invalid data');\n }\n\n inner(datasetModel).sourceFormat = sourceFormat;\n}\n/**\n * [Scenarios]:\n * (1) Provide source data directly:\n * series: {\n * encode: {...},\n * dimensions: [...]\n * seriesLayoutBy: 'row',\n * data: [[...]]\n * }\n * (2) Refer to datasetModel.\n * series: [{\n * encode: {...}\n * // Ignore datasetIndex means `datasetIndex: 0`\n * // and the dimensions defination in dataset is used\n * }, {\n * encode: {...},\n * seriesLayoutBy: 'column',\n * datasetIndex: 1\n * }]\n *\n * Get data from series itself or datset.\n * @return {module:echarts/data/Source} source\n */\n\n\nfunction getSource(seriesModel) {\n return inner(seriesModel).source;\n}\n/**\n * MUST be called before mergeOption of all series.\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction resetSourceDefaulter(ecModel) {\n // `datasetMap` is used to make default encode.\n inner(ecModel).datasetMap = createHashMap();\n}\n/**\n * [Caution]:\n * MUST be called after series option merged and\n * before \"series.getInitailData()\" called.\n *\n * [The rule of making default encode]:\n * Category axis (if exists) alway map to the first dimension.\n * Each other axis occupies a subsequent dimension.\n *\n * [Why make default encode]:\n * Simplify the typing of encode in option, avoiding the case like that:\n * series: [{encode: {x: 0, y: 1}}, {encode: {x: 0, y: 2}}, {encode: {x: 0, y: 3}}],\n * where the \"y\" have to be manually typed as \"1, 2, 3, ...\".\n *\n * @param {module:echarts/model/Series} seriesModel\n */\n\n\nfunction prepareSource(seriesModel) {\n var seriesOption = seriesModel.option;\n var data = seriesOption.data;\n var sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;\n var fromDataset = false;\n var seriesLayoutBy = seriesOption.seriesLayoutBy;\n var sourceHeader = seriesOption.sourceHeader;\n var dimensionsDefine = seriesOption.dimensions;\n var datasetModel = getDatasetModel(seriesModel);\n\n if (datasetModel) {\n var datasetOption = datasetModel.option;\n data = datasetOption.source;\n sourceFormat = inner(datasetModel).sourceFormat;\n fromDataset = true; // These settings from series has higher priority.\n\n seriesLayoutBy = seriesLayoutBy || datasetOption.seriesLayoutBy;\n sourceHeader == null && (sourceHeader = datasetOption.sourceHeader);\n dimensionsDefine = dimensionsDefine || datasetOption.dimensions;\n }\n\n var completeResult = completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine);\n inner(seriesModel).source = new Source({\n data: data,\n fromDataset: fromDataset,\n seriesLayoutBy: seriesLayoutBy,\n sourceFormat: sourceFormat,\n dimensionsDefine: completeResult.dimensionsDefine,\n startIndex: completeResult.startIndex,\n dimensionsDetectCount: completeResult.dimensionsDetectCount,\n // Note: dataset option does not have `encode`.\n encodeDefine: seriesOption.encode\n });\n} // return {startIndex, dimensionsDefine, dimensionsCount}\n\n\nfunction completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {\n if (!data) {\n return {\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine)\n };\n }\n\n var dimensionsDetectCount;\n var startIndex;\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n // Rule: Most of the first line are string: it is header.\n // Caution: consider a line with 5 string and 1 number,\n // it still can not be sure it is a head, because the\n // 5 string may be 5 values of category columns.\n if (sourceHeader === 'auto' || sourceHeader == null) {\n arrayRowsTravelFirst(function (val) {\n // '-' is regarded as null/undefined.\n if (val != null && val !== '-') {\n if (isString(val)) {\n startIndex == null && (startIndex = 1);\n } else {\n startIndex = 0;\n }\n } // 10 is an experience number, avoid long loop.\n\n }, seriesLayoutBy, data, 10);\n } else {\n startIndex = sourceHeader ? 1 : 0;\n }\n\n if (!dimensionsDefine && startIndex === 1) {\n dimensionsDefine = [];\n arrayRowsTravelFirst(function (val, index) {\n dimensionsDefine[index] = val != null ? val : '';\n }, seriesLayoutBy, data);\n }\n\n dimensionsDetectCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? data.length : data[0] ? data[0].length : null;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimensionsDefine) {\n dimensionsDefine = objectRowsCollectDimensions(data);\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimensionsDefine) {\n dimensionsDefine = [];\n each(data, function (colArr, key) {\n dimensionsDefine.push(key);\n });\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var value0 = getDataItemValue(data[0]);\n dimensionsDetectCount = isArray(value0) && value0.length || 1;\n } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {}\n\n return {\n startIndex: startIndex,\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine),\n dimensionsDetectCount: dimensionsDetectCount\n };\n} // Consider dimensions defined like ['A', 'price', 'B', 'price', 'C', 'price'],\n// which is reasonable. But dimension name is duplicated.\n// Returns undefined or an array contains only object without null/undefiend or string.\n\n\nfunction normalizeDimensionsDefine(dimensionsDefine) {\n if (!dimensionsDefine) {\n // The meaning of null/undefined is different from empty array.\n return;\n }\n\n var nameMap = createHashMap();\n return map(dimensionsDefine, function (item, index) {\n item = extend({}, isObject(item) ? item : {\n name: item\n }); // User can set null in dimensions.\n // We dont auto specify name, othewise a given name may\n // cause it be refered unexpectedly.\n\n if (item.name == null) {\n return item;\n } // Also consider number form like 2012.\n\n\n item.name += ''; // User may also specify displayName.\n // displayName will always exists except user not\n // specified or dim name is not specified or detected.\n // (A auto generated dim name will not be used as\n // displayName).\n\n if (item.displayName == null) {\n item.displayName = item.name;\n }\n\n var exist = nameMap.get(item.name);\n\n if (!exist) {\n nameMap.set(item.name, {\n count: 1\n });\n } else {\n item.name += '-' + exist.count++;\n }\n\n return item;\n });\n}\n\nfunction arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {\n maxLoop == null && (maxLoop = Infinity);\n\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n cb(data[i] ? data[i][0] : null, i);\n }\n } else {\n var value0 = data[0] || [];\n\n for (var i = 0; i < value0.length && i < maxLoop; i++) {\n cb(value0[i], i);\n }\n }\n}\n\nfunction objectRowsCollectDimensions(data) {\n var firstIndex = 0;\n var obj;\n\n while (firstIndex < data.length && !(obj = data[firstIndex++])) {} // jshint ignore: line\n\n\n if (obj) {\n var dimensions = [];\n each(obj, function (value, key) {\n dimensions.push(key);\n });\n return dimensions;\n }\n}\n/**\n * [The strategy of the arrengment of data dimensions for dataset]:\n * \"value way\": all axes are non-category axes. So series one by one take\n * several (the number is coordSysDims.length) dimensions from dataset.\n * The result of data arrengment of data dimensions like:\n * | ser0_x | ser0_y | ser1_x | ser1_y | ser2_x | ser2_y |\n * \"category way\": at least one axis is category axis. So the the first data\n * dimension is always mapped to the first category axis and shared by\n * all of the series. The other data dimensions are taken by series like\n * \"value way\" does.\n * The result of data arrengment of data dimensions like:\n * | ser_shared_x | ser0_y | ser1_y | ser2_y |\n *\n * @param {Array.} coordDimensions [{name: , type: , dimsDef: }, ...]\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {\n var encode = {};\n var datasetModel = getDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel || !coordDimensions) {\n return encode;\n }\n\n var encodeItemName = [];\n var encodeSeriesName = [];\n var ecModel = seriesModel.ecModel;\n var datasetMap = inner(ecModel).datasetMap;\n var key = datasetModel.uid + '_' + source.seriesLayoutBy;\n var baseCategoryDimIndex;\n var categoryWayValueDimStart;\n coordDimensions = coordDimensions.slice();\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n !isObject(coordDimInfo) && (coordDimensions[coordDimIdx] = {\n name: coordDimInfo\n });\n\n if (coordDimInfo.type === 'ordinal' && baseCategoryDimIndex == null) {\n baseCategoryDimIndex = coordDimIdx;\n categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimensions[coordDimIdx]);\n }\n\n encode[coordDimInfo.name] = [];\n });\n var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {\n categoryWayDim: categoryWayValueDimStart,\n valueWayDim: 0\n }); // TODO\n // Auto detect first time axis and do arrangement.\n\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n var coordDimName = coordDimInfo.name;\n var count = getDataDimCountOnCoordDim(coordDimInfo); // In value way.\n\n if (baseCategoryDimIndex == null) {\n var start = datasetRecord.valueWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.valueWayDim += count; // ??? TODO give a better default series name rule?\n // especially when encode x y specified.\n // consider: when mutiple series share one dimension\n // category axis, series name should better use\n // the other dimsion name. On the other hand, use\n // both dimensions name.\n } // In category way, the first category axis.\n else if (baseCategoryDimIndex === coordDimIdx) {\n pushDim(encode[coordDimName], 0, count);\n pushDim(encodeItemName, 0, count);\n } // In category way, the other axis.\n else {\n var start = datasetRecord.categoryWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.categoryWayDim += count;\n }\n });\n\n function pushDim(dimIdxArr, idxFrom, idxCount) {\n for (var i = 0; i < idxCount; i++) {\n dimIdxArr.push(idxFrom + i);\n }\n }\n\n function getDataDimCountOnCoordDim(coordDimInfo) {\n var dimsDef = coordDimInfo.dimsDef;\n return dimsDef ? dimsDef.length : 1;\n }\n\n encodeItemName.length && (encode.itemName = encodeItemName);\n encodeSeriesName.length && (encode.seriesName = encodeSeriesName);\n return encode;\n}\n/**\n * Work for data like [{name: ..., value: ...}, ...].\n *\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {\n var encode = {};\n var datasetModel = getDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel) {\n return encode;\n }\n\n var sourceFormat = source.sourceFormat;\n var dimensionsDefine = source.dimensionsDefine;\n var potentialNameDimIndex;\n\n if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n each(dimensionsDefine, function (dim, idx) {\n if ((isObject(dim) ? dim.name : dim) === 'name') {\n potentialNameDimIndex = idx;\n }\n });\n } // idxResult: {v, n}.\n\n\n var idxResult = function () {\n var idxRes0 = {};\n var idxRes1 = {};\n var guessRecords = []; // 5 is an experience value.\n\n for (var i = 0, len = Math.min(5, dimCount); i < len; i++) {\n var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i);\n guessRecords.push(guessResult);\n var isPureNumber = guessResult === BE_ORDINAL.Not; // [Strategy of idxRes0]: find the first BE_ORDINAL.Not as the value dim,\n // and then find a name dim with the priority:\n // \"BE_ORDINAL.Might|BE_ORDINAL.Must\" > \"other dim\" > \"the value dim itself\".\n\n if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) {\n idxRes0.v = i;\n }\n\n if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {\n idxRes0.n = i;\n }\n\n if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {\n return idxRes0;\n } // [Strategy of idxRes1]: if idxRes0 not satisfied (that is, no BE_ORDINAL.Not),\n // find the first BE_ORDINAL.Might as the value dim,\n // and then find a name dim with the priority:\n // \"other dim\" > \"the value dim itself\".\n // That is for backward compat: number-like (e.g., `'3'`, `'55'`) can be\n // treated as number.\n\n\n if (!isPureNumber) {\n if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) {\n idxRes1.v = i;\n }\n\n if (idxRes1.n == null || idxRes1.n === idxRes1.v) {\n idxRes1.n = i;\n }\n }\n }\n\n function fulfilled(idxResult) {\n return idxResult.v != null && idxResult.n != null;\n }\n\n return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;\n }();\n\n if (idxResult) {\n encode.value = idxResult.v; // `potentialNameDimIndex` has highest priority.\n\n var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n; // By default, label use itemName in charts.\n // So we dont set encodeLabel here.\n\n encode.itemName = [nameDimIndex];\n encode.seriesName = [nameDimIndex];\n }\n\n return encode;\n}\n/**\n * If return null/undefined, indicate that should not use datasetModel.\n */\n\n\nfunction getDatasetModel(seriesModel) {\n var option = seriesModel.option; // Caution: consider the scenario:\n // A dataset is declared and a series is not expected to use the dataset,\n // and at the beginning `setOption({series: { noData })` (just prepare other\n // option but no data), then `setOption({series: {data: [...]}); In this case,\n // the user should set an empty array to avoid that dataset is used by default.\n\n var thisData = option.data;\n\n if (!thisData) {\n return seriesModel.ecModel.getComponent('dataset', option.datasetIndex || 0);\n }\n}\n/**\n * The rule should not be complex, otherwise user might not\n * be able to known where the data is wrong.\n * The code is ugly, but how to make it neat?\n *\n * @param {module:echars/data/Source} source\n * @param {number} dimIndex\n * @return {BE_ORDINAL} guess result.\n */\n\n\nfunction guessOrdinal(source, dimIndex) {\n return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);\n} // dimIndex may be overflow source data.\n// return {BE_ORDINAL}\n\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n var result; // Experience value.\n\n var maxLoop = 5;\n\n if (isTypedArray(data)) {\n return BE_ORDINAL.Not;\n } // When sourceType is 'objectRows' or 'keyedColumns', dimensionsDefine\n // always exists in source.\n\n\n var dimName;\n var dimType;\n\n if (dimensionsDefine) {\n var dimDefItem = dimensionsDefine[dimIndex];\n\n if (isObject(dimDefItem)) {\n dimName = dimDefItem.name;\n dimType = dimDefItem.type;\n } else if (isString(dimDefItem)) {\n dimName = dimDefItem;\n }\n }\n\n if (dimType != null) {\n return dimType === 'ordinal' ? BE_ORDINAL.Must : BE_ORDINAL.Not;\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n var sample = data[dimIndex];\n\n for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {\n if ((result = detectValue(sample[startIndex + i])) != null) {\n return result;\n }\n }\n } else {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var row = data[startIndex + i];\n\n if (row && (result = detectValue(row[dimIndex])) != null) {\n return result;\n }\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n\n if (item && (result = detectValue(item[dimName])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n var sample = data[dimName];\n\n if (!sample || isTypedArray(sample)) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < sample.length && i < maxLoop; i++) {\n if ((result = detectValue(sample[i])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n var val = getDataItemValue(item);\n\n if (!isArray(val)) {\n return BE_ORDINAL.Not;\n }\n\n if ((result = detectValue(val[dimIndex])) != null) {\n return result;\n }\n }\n }\n\n function detectValue(val) {\n var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as \"number\".\n // `isFinit('')` get `true`.\n\n if (val != null && isFinite(val) && val !== '') {\n return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;\n } else if (beStr && val !== '-') {\n return BE_ORDINAL.Must;\n }\n }\n\n return BE_ORDINAL.Not;\n}\n\nexports.BE_ORDINAL = BE_ORDINAL;\nexports.detectSourceFormat = detectSourceFormat;\nexports.getSource = getSource;\nexports.resetSourceDefaulter = resetSourceDefaulter;\nexports.prepareSource = prepareSource;\nexports.makeSeriesEncodeForAxisCoordSys = makeSeriesEncodeForAxisCoordSys;\nexports.makeSeriesEncodeForNameBased = makeSeriesEncodeForNameBased;\nexports.guessOrdinal = guessOrdinal;","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Line = require(\"./Line\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar curveUtil = require(\"zrender/lib/core/curve\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Provide effect for line\n * @module echarts/chart/helper/EffectLine\n */\n\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Line}\n */\nfunction EffectLine(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n this.add(this.createLine(lineData, idx, seriesScope));\n\n this._updateEffectSymbol(lineData, idx);\n}\n\nvar effectLineProto = EffectLine.prototype;\n\neffectLineProto.createLine = function (lineData, idx, seriesScope) {\n return new Line(lineData, idx, seriesScope);\n};\n\neffectLineProto._updateEffectSymbol = function (lineData, idx) {\n var itemModel = lineData.getItemModel(idx);\n var effectModel = itemModel.getModel('effect');\n var size = effectModel.get('symbolSize');\n var symbolType = effectModel.get('symbol');\n\n if (!zrUtil.isArray(size)) {\n size = [size, size];\n }\n\n var color = effectModel.get('color') || lineData.getItemVisual(idx, 'color');\n var symbol = this.childAt(1);\n\n if (this._symbolType !== symbolType) {\n // Remove previous\n this.remove(symbol);\n symbol = createSymbol(symbolType, -0.5, -0.5, 1, 1, color);\n symbol.z2 = 100;\n symbol.culling = true;\n this.add(symbol);\n } // Symbol may be removed if loop is false\n\n\n if (!symbol) {\n return;\n } // Shadow color is same with color in default\n\n\n symbol.setStyle('shadowColor', color);\n symbol.setStyle(effectModel.getItemStyle(['color']));\n symbol.attr('scale', size);\n symbol.setColor(color);\n symbol.attr('scale', size);\n this._symbolType = symbolType;\n this._symbolScale = size;\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\neffectLineProto._updateEffectAnimation = function (lineData, effectModel, idx) {\n var symbol = this.childAt(1);\n\n if (!symbol) {\n return;\n }\n\n var self = this;\n var points = lineData.getItemLayout(idx);\n var period = effectModel.get('period') * 1000;\n var loop = effectModel.get('loop');\n var constantSpeed = effectModel.get('constantSpeed');\n var delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {\n return idx / lineData.count() * period / 3;\n });\n var isDelayFunc = typeof delayExpr === 'function'; // Ignore when updating\n\n symbol.ignore = true;\n this.updateAnimationPoints(symbol, points);\n\n if (constantSpeed > 0) {\n period = this.getLineLength(symbol) / constantSpeed * 1000;\n }\n\n if (period !== this._period || loop !== this._loop) {\n symbol.stopAnimation();\n var delay = delayExpr;\n\n if (isDelayFunc) {\n delay = delayExpr(idx);\n }\n\n if (symbol.__t > 0) {\n delay = -period * symbol.__t;\n }\n\n symbol.__t = 0;\n var animator = symbol.animate('', loop).when(period, {\n __t: 1\n }).delay(delay).during(function () {\n self.updateSymbolPosition(symbol);\n });\n\n if (!loop) {\n animator.done(function () {\n self.remove(symbol);\n });\n }\n\n animator.start();\n }\n\n this._period = period;\n this._loop = loop;\n};\n\neffectLineProto.getLineLength = function (symbol) {\n // Not so accurate\n return vec2.dist(symbol.__p1, symbol.__cp1) + vec2.dist(symbol.__cp1, symbol.__p2);\n};\n\neffectLineProto.updateAnimationPoints = function (symbol, points) {\n symbol.__p1 = points[0];\n symbol.__p2 = points[1];\n symbol.__cp1 = points[2] || [(points[0][0] + points[1][0]) / 2, (points[0][1] + points[1][1]) / 2];\n};\n\neffectLineProto.updateData = function (lineData, idx, seriesScope) {\n this.childAt(0).updateData(lineData, idx, seriesScope);\n\n this._updateEffectSymbol(lineData, idx);\n};\n\neffectLineProto.updateSymbolPosition = function (symbol) {\n var p1 = symbol.__p1;\n var p2 = symbol.__p2;\n var cp1 = symbol.__cp1;\n var t = symbol.__t;\n var pos = symbol.position;\n var lastPos = [pos[0], pos[1]];\n var quadraticAt = curveUtil.quadraticAt;\n var quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;\n pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);\n pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t); // Tangent\n\n var tx = quadraticDerivativeAt(p1[0], cp1[0], p2[0], t);\n var ty = quadraticDerivativeAt(p1[1], cp1[1], p2[1], t);\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2; // enable continuity trail for 'line', 'rect', 'roundRect' symbolType\n\n if (this._symbolType === 'line' || this._symbolType === 'rect' || this._symbolType === 'roundRect') {\n if (symbol.__lastT !== undefined && symbol.__lastT < symbol.__t) {\n var scaleY = vec2.dist(lastPos, pos) * 1.05;\n symbol.attr('scale', [symbol.scale[0], scaleY]); // make sure the last segment render within endPoint\n\n if (t === 1) {\n pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;\n pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;\n }\n } else if (symbol.__lastT === 1) {\n // After first loop, symbol.__t does NOT start with 0, so connect p1 to pos directly.\n var scaleY = 2 * vec2.dist(p1, pos);\n symbol.attr('scale', [symbol.scale[0], scaleY]);\n } else {\n symbol.attr('scale', this._symbolScale);\n }\n }\n\n symbol.__lastT = symbol.__t;\n symbol.ignore = false;\n};\n\neffectLineProto.updateLayout = function (lineData, idx) {\n this.childAt(0).updateLayout(lineData, idx);\n var effectModel = lineData.getItemModel(idx).getModel('effect');\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\nzrUtil.inherits(EffectLine, graphic.Group);\nvar _default = EffectLine;\nmodule.exports = _default;","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar selector = require(\"./selector\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\nvar BrushTargetManager = require(\"../helper/BrushTargetManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\nvar PRIORITY_BRUSH = echarts.PRIORITY.VISUAL.BRUSH;\n/**\n * Layout for visual, the priority higher than other layout, and before brush visual.\n */\n\necharts.registerLayout(PRIORITY_BRUSH, function (ecModel, api, payload) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {\n brushType: false\n });\n });\n layoutCovers(ecModel);\n});\n\nfunction layoutCovers(ecModel) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);\n brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n });\n}\n/**\n * Register the visual encoding if this modules required.\n */\n\n\necharts.registerVisual(PRIORITY_BRUSH, function (ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel, brushIndex) {\n var thisBrushSelected = {\n brushId: brushModel.id,\n brushIndex: brushIndex,\n brushName: brushModel.name,\n areas: zrUtil.clone(brushModel.areas),\n selected: []\n }; // Every brush component exists in event params, convenient\n // for user to find by index.\n\n brushSelected.push(thisBrushSelected);\n var brushOption = brushModel.option;\n var brushLink = brushOption.brushLink;\n var linkedSeriesMap = [];\n var selectedDataIndexForLink = [];\n var rangeInfoBySeries = [];\n var hasBrushExists = 0;\n\n if (!brushIndex) {\n // Only the first throttle setting works.\n throttleType = brushOption.throttleType;\n throttleDelay = brushOption.throttleDelay;\n } // Add boundingRect and selectors to range.\n\n\n var areas = zrUtil.map(brushModel.areas, function (area) {\n return bindSelector(zrUtil.defaults({\n boundingRect: boundingRectBuilders[area.brushType](area)\n }, area));\n });\n var visualMappings = visualSolution.createVisualMappings(brushModel.option, STATE_LIST, function (mappingOption) {\n mappingOption.mappingMethod = 'fixed';\n });\n zrUtil.isArray(brushLink) && zrUtil.each(brushLink, function (seriesIndex) {\n linkedSeriesMap[seriesIndex] = 1;\n });\n\n function linkOthers(seriesIndex) {\n return brushLink === 'all' || linkedSeriesMap[seriesIndex];\n } // If no supported brush or no brush on the series,\n // all visuals should be in original state.\n\n\n function brushed(rangeInfoList) {\n return !!rangeInfoList.length;\n }\n /**\n * Logic for each series: (If the logic has to be modified one day, do it carefully!)\n *\n * ( brushed ┬ && ┬hasBrushExist ┬ && linkOthers ) => StepA: ┬record, ┬ StepB: ┬visualByRecord.\n * !brushed┘ ├hasBrushExist ┤ └nothing,┘ ├visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( !brushed && ┬hasBrushExist ┬ && linkOthers ) => StepA: nothing, StepB: ┬visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( brushed ┬ && !linkOthers ) => StepA: nothing, StepB: ┬visualByCheck.\n * !brushed┘ └nothing.\n * ( !brushed && !linkOthers ) => StepA: nothing, StepB: nothing.\n */\n // Step A\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];\n seriesModel.subType === 'parallel' ? stepAParallel(seriesModel, seriesIndex, rangeInfoList) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n hasBrushExists |= coordSys.hasAxisBrushed();\n linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function (activeState, dataIndex) {\n activeState === 'active' && (selectedDataIndexForLink[dataIndex] = 1);\n });\n }\n\n function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {\n var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n\n if (!selectorsByBrushType || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n selectorsByBrushType[area.brushType] && brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel) && rangeInfoList.push(area);\n hasBrushExists |= brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data = seriesModel.getData();\n data.each(function (dataIndex) {\n if (checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex)) {\n selectedDataIndexForLink[dataIndex] = 1;\n }\n });\n }\n } // Step B\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var seriesBrushSelected = {\n seriesId: seriesModel.id,\n seriesIndex: seriesIndex,\n seriesName: seriesModel.name,\n dataIndex: []\n }; // Every series exists in event params, convenient\n // for user to find series by seriesIndex.\n\n thisBrushSelected.selected.push(seriesBrushSelected);\n var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n var rangeInfoList = rangeInfoBySeries[seriesIndex];\n var data = seriesModel.getData();\n var getValueState = linkOthers(seriesIndex) ? function (dataIndex) {\n return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n } : function (dataIndex) {\n return checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n }; // If no supported brush or no brush, all visuals are in original state.\n\n (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && visualSolution.applyVisual(STATE_LIST, visualMappings, data, getValueState);\n });\n });\n dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\n});\n\nfunction dispatchAction(api, throttleType, throttleDelay, brushSelected, payload) {\n // This event will not be triggered when `setOpion`, otherwise dead lock may\n // triggered when do `setOption` in event listener, which we do not find\n // satisfactory way to solve yet. Some considered resolutions:\n // (a) Diff with prevoius selected data ant only trigger event when changed.\n // But store previous data and diff precisely (i.e., not only by dataIndex, but\n // also detect value changes in selected data) might bring complexity or fragility.\n // (b) Use spectial param like `silent` to suppress event triggering.\n // But such kind of volatile param may be weird in `setOption`.\n if (!payload) {\n return;\n }\n\n var zr = api.getZr();\n\n if (zr[DISPATCH_FLAG]) {\n return;\n }\n\n if (!zr[DISPATCH_METHOD]) {\n zr[DISPATCH_METHOD] = doDispatch;\n }\n\n var fn = throttleUtil.createOrUpdate(zr, DISPATCH_METHOD, throttleDelay, throttleType);\n fn(api, brushSelected);\n}\n\nfunction doDispatch(api, brushSelected) {\n if (!api.isDisposed()) {\n var zr = api.getZr();\n zr[DISPATCH_FLAG] = true;\n api.dispatchAction({\n type: 'brushSelect',\n batch: brushSelected\n });\n zr[DISPATCH_FLAG] = false;\n }\n}\n\nfunction checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (selectorsByBrushType[area.brushType](dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction getSelectorsByBrushType(seriesModel) {\n var brushSelector = seriesModel.brushSelector;\n\n if (zrUtil.isString(brushSelector)) {\n var sels = [];\n zrUtil.each(selector, function (selectorsByElementType, brushType) {\n sels[brushType] = function (dataIndex, data, selectors, area) {\n var itemLayout = data.getItemLayout(dataIndex);\n return selectorsByElementType[brushSelector](itemLayout, selectors, area);\n };\n });\n return sels;\n } else if (zrUtil.isFunction(brushSelector)) {\n var bSelector = {};\n zrUtil.each(selector, function (sel, brushType) {\n bSelector[brushType] = brushSelector;\n });\n return bSelector;\n }\n\n return brushSelector;\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n var seriesIndices = brushModel.option.seriesIndex;\n return seriesIndices != null && seriesIndices !== 'all' && (zrUtil.isArray(seriesIndices) ? zrUtil.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nfunction bindSelector(area) {\n var selectors = area.selectors = {};\n zrUtil.each(selector[area.brushType], function (selFn, elType) {\n // Do not use function binding or curry for performance.\n selectors[elType] = function (itemLayout) {\n return selFn(itemLayout, selectors, area);\n };\n });\n return area;\n}\n\nvar boundingRectBuilders = {\n lineX: zrUtil.noop,\n lineY: zrUtil.noop,\n rect: function (area) {\n return getBoundingRectFromMinMax(area.range);\n },\n polygon: function (area) {\n var minMax;\n var range = area.range;\n\n for (var i = 0, len = range.length; i < len; i++) {\n minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];\n var rg = range[i];\n rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);\n rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);\n rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);\n rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);\n }\n\n return minMax && getBoundingRectFromMinMax(minMax);\n }\n};\n\nfunction getBoundingRectFromMinMax(minMax) {\n return new BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}\n\nexports.layoutCovers = layoutCovers;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./effectScatter/EffectScatterSeries\");\n\nrequire(\"./effectScatter/EffectScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol('effectScatter', 'circle'));\necharts.registerLayout(layoutPoints('effectScatter'));","/*!\n * jQuery JavaScript Library v3.4.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2019-05-01T21:04Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar document = window.document;\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\";\n };\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.4.1\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android <=4.0 only\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code, options ) {\n\t\tDOMEval( code, { nonce: options && options.nonce } );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android <=4.0 only\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.4\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2019-04-08\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t(nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\") ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 && rdescend.test( selector ) ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = \"#\" + nid + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement(\"fieldset\");\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem.namespaceURI,\n\t\tdocElem = (elem.ownerDocument || elem).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( preferredDoc !== document &&\n\t\t(subWindow = document.defaultView) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( el ) {\n\t\tel.appendChild( document.createComment(\"\") );\n\t\treturn !el.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode(\"id\");\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( (elem = elems[i++]) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode(\"id\");\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( el ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll(\":enabled\").length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll(\":disabled\").length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( el ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn (sel + \"\").replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( (oldCache = uniqueCache[ key ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( el ) {\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement(\"fieldset\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( el ) {\n\treturn el.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n};\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( typeof elem.contentDocument !== \"undefined\" ) {\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the master Deferred\n\t\t\tmaster = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tmaster.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( master.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn master.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\n\t\t}\n\n\t\treturn master.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\nvar swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE <=9 only\n\toption: [ 1, \"\" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
\" ],\n\tcol: [ 2, \"\", \"
\" ],\n\ttr: [ 2, \"\", \"
\" ],\n\ttd: [ 3, \"\", \"
\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE <=9 only\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tvar event = jQuery.event.fix( nativeEvent );\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\n\twhich: function( event ) {\n\t\tvar button = event.button;\n\n\t\t// Add which for key events\n\t\tif ( event.which == null && rkeyEvent.test( event.type ) ) {\n\t\t\treturn event.charCode != null ? event.charCode : event.keyCode;\n\t\t}\n\n\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\tif ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {\n\t\t\tif ( button & 1 ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif ( button & 2 ) {\n\t\t\t\treturn 3;\n\t\t\t}\n\n\t\t\tif ( button & 4 ) {\n\t\t\t\treturn 2;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn event.which;\n\t}\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t/* eslint-disable max-len */\n\n\t// See https://github.com/eslint/eslint/issues/3229\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,\n\n\t/* eslint-enable */\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.access( src );\n\t\tpdataCur = dataPriv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t// This happens for inline elements with no explicit setting (gh-3571)\n\t// Support: Android <=4.1 - 4.3 only\n\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t// Support: IE 9-11 only\n\t// Also use offsetWidth/offsetHeight for when box sizing is unreliable\n\t// We use getClientRects() to check for hidden/disconnected.\n\t// In those cases, the computed value can be trusted to be border-box\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\t\tval === \"auto\" ||\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = Date.now();\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\toriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce++ ) + uncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\n\njQuery._evalUrl = function( url, options ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=9d55478c&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=0cd75252&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport ActiveRingChart from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(ActiveRingChart.name, ActiveRingChart)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-1\"},[_c('svg',{staticClass:\"border\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"10, 27 10, \" + (_vm.height - 27) + \" 13, \" + (_vm.height - 24) + \" 13, \" + (_vm.height - 21) + \" 24, \" + (_vm.height - 11) + \"\\n 38, \" + (_vm.height - 11) + \" 41, \" + (_vm.height - 8) + \" 73, \" + (_vm.height - 8) + \" 75, \" + (_vm.height - 10) + \" 81, \" + (_vm.height - 10) + \"\\n 85, \" + (_vm.height - 6) + \" \" + (_vm.width - 85) + \", \" + (_vm.height - 6) + \" \" + (_vm.width - 81) + \", \" + (_vm.height - 10) + \" \" + (_vm.width - 75) + \", \" + (_vm.height - 10) + \"\\n \" + (_vm.width - 73) + \", \" + (_vm.height - 8) + \" \" + (_vm.width - 41) + \", \" + (_vm.height - 8) + \" \" + (_vm.width - 38) + \", \" + (_vm.height - 11) + \"\\n \" + (_vm.width - 24) + \", \" + (_vm.height - 11) + \" \" + (_vm.width - 13) + \", \" + (_vm.height - 21) + \" \" + (_vm.width - 13) + \", \" + (_vm.height - 24) + \"\\n \" + (_vm.width - 10) + \", \" + (_vm.height - 27) + \" \" + (_vm.width - 10) + \", 27 \" + (_vm.width - 13) + \", 25 \" + (_vm.width - 13) + \", 21\\n \" + (_vm.width - 24) + \", 11 \" + (_vm.width - 38) + \", 11 \" + (_vm.width - 41) + \", 8 \" + (_vm.width - 73) + \", 8 \" + (_vm.width - 75) + \", 10\\n \" + (_vm.width - 81) + \", 10 \" + (_vm.width - 85) + \", 6 85, 6 81, 10 75, 10 73, 8 41, 8 38, 11 24, 11 13, 21 13, 24\")}})]),_vm._l((_vm.border),function(item){return _c('svg',{key:item,class:(item + \" border\"),attrs:{\"width\":\"150px\",\"height\":\"150px\"}},[_c('polygon',{attrs:{\"fill\":_vm.mergedColor[0],\"points\":\"6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63\"}},[_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[0]) + \";\" + (_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0])),\"dur\":\"0.5s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"fill\":_vm.mergedColor[1],\"points\":\"27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8\"}},[_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0]) + \";\" + (_vm.mergedColor[1])),\"dur\":\"0.5s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"fill\":_vm.mergedColor[0],\"points\":\"9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54\"}},[_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[0]) + \";\" + (_vm.mergedColor[1]) + \";transparent\"),\"dur\":\"1s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})])])}),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function randomExtend (minNum, maxNum) {\n if (arguments.length === 1) {\n return parseInt(Math.random() * minNum + 1, 10)\n } else {\n return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10)\n }\n}\n\nexport function debounce (delay, callback) {\n let lastTime\n\n return function () {\n clearTimeout(lastTime)\n\n const [that, args] = [this, arguments]\n\n lastTime = setTimeout(() => {\n callback.apply(that, args)\n }, delay)\n }\n}\n\nexport function observerDomResize (dom, callback) {\n const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver\n\n const observer = new MutationObserver(callback)\n\n observer.observe(dom, { attributes: true, attributeFilter: ['style'], attributeOldValue: true })\n\n return observer\n}\n\nexport function getPointDistance (pointOne, pointTwo) {\n const minusX = Math.abs(pointOne[0] - pointTwo[0])\n\n const minusY = Math.abs(pointOne[1] - pointTwo[1])\n\n return Math.sqrt(minusX * minusX + minusY * minusY)\n}\n\nexport function uuid (hasHyphen) {\n return (hasHyphen ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx').replace(/[xy]/g, function (c) {\n\t\tconst r = Math.random() * 16 | 0\n\t\tconst v = c == 'x' ? r : (r & 0x3 | 0x8)\n\t\treturn v.toString(16)\n })\n}\n","import { debounce, observerDomResize } from '../util/index'\n\nexport default {\n data () {\n return {\n dom: '',\n\n width: 0,\n height: 0,\n\n debounceInitWHFun: '',\n\n domObserver: ''\n }\n },\n methods: {\n async autoResizeMixinInit () {\n const { initWH, getDebounceInitWHFun, bindDomResizeCallback, afterAutoResizeMixinInit } = this\n\n await initWH(false)\n\n getDebounceInitWHFun()\n\n bindDomResizeCallback()\n\n if (typeof afterAutoResizeMixinInit === 'function') afterAutoResizeMixinInit()\n },\n initWH (resize = true) {\n const { $nextTick, $refs, ref, onResize } = this\n\n return new Promise(resolve => {\n $nextTick(_ => {\n const dom = this.dom = $refs[ref]\n\n this.width = dom ? dom.clientWidth : 0\n this.height = dom ? dom.clientHeight : 0\n\n if (!dom) {\n console.warn('DataV: Failed to get dom node, component rendering may be abnormal!')\n } else if (!this.width || !this.height) {\n console.warn('DataV: Component width or height is 0px, rendering abnormality may occur!')\n }\n\n if (typeof onResize === 'function' && resize) onResize()\n\n resolve()\n })\n })\n },\n getDebounceInitWHFun () {\n const { initWH } = this\n\n this.debounceInitWHFun = debounce(100, initWH)\n },\n bindDomResizeCallback () {\n const { dom, debounceInitWHFun } = this\n\n this.domObserver = observerDomResize(dom, debounceInitWHFun)\n\n window.addEventListener('resize', debounceInitWHFun)\n },\n unbindDomResizeCallback () {\n let { domObserver, debounceInitWHFun } = this\n\n if (!domObserver) return\n\n domObserver.disconnect()\n domObserver.takeRecords()\n domObserver = null\n\n window.removeEventListener('resize', debounceInitWHFun)\n }\n },\n mounted () {\n const { autoResizeMixinInit } = this\n\n autoResizeMixinInit()\n },\n beforeDestroy () {\n const { unbindDomResizeCallback } = this\n\n unbindDomResizeCallback()\n }\n}\n","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=205f0004&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox1 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox1.name, BorderBox1)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-10\",style:((\"box-shadow: inset 0 0 25px 3px \" + (_vm.mergedColor[0])))},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 4, 0 \" + (_vm.width - 4) + \", 0 \" + _vm.width + \", 4 \" + _vm.width + \", \" + (_vm.height - 4) + \" \" + (_vm.width - 4) + \", \" + _vm.height + \"\\n 4, \" + _vm.height + \" 0, \" + (_vm.height - 4) + \" 0, 4\\n \")}})]),_vm._l((_vm.border),function(item){return _c('svg',{key:item,class:(item + \" dv-border-svg-container\"),attrs:{\"width\":\"150px\",\"height\":\"150px\"}},[_c('polygon',{attrs:{\"fill\":_vm.mergedColor[1],\"points\":\"40, 0 5, 0 0, 5 0, 16 3, 19 3, 7 7, 3 35, 3\"}})])}),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=de1fc3cc&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox10 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox10.name, BorderBox10)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-11\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('filter',{attrs:{\"id\":_vm.filterId,\"height\":\"150%\",\"width\":\"150%\",\"x\":\"-25%\",\"y\":\"-25%\"}},[_c('feMorphology',{attrs:{\"operator\":\"dilate\",\"radius\":\"2\",\"in\":\"SourceAlpha\",\"result\":\"thicken\"}}),_c('feGaussianBlur',{attrs:{\"in\":\"thicken\",\"stdDeviation\":\"3\",\"result\":\"blurred\"}}),_c('feFlood',{attrs:{\"flood-color\":_vm.mergedColor[1],\"result\":\"glowColor\"}}),_c('feComposite',{attrs:{\"in\":\"glowColor\",\"in2\":\"blurred\",\"operator\":\"in\",\"result\":\"softGlowColored\"}}),_c('feMerge',[_c('feMergeNode',{attrs:{\"in\":\"softGlowColored\"}}),_c('feMergeNode',{attrs:{\"in\":\"SourceGraphic\"}})],1)],1)]),_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 20, 32 \" + (_vm.width * 0.5 - _vm.titleWidth / 2) + \", 32 \" + (_vm.width * 0.5 - _vm.titleWidth / 2 + 20) + \", 53\\n \" + (_vm.width * 0.5 + _vm.titleWidth / 2 - 20) + \", 53 \" + (_vm.width * 0.5 + _vm.titleWidth / 2) + \", 32\\n \" + (_vm.width - 20) + \", 32 \" + (_vm.width - 8) + \", 48 \" + (_vm.width - 8) + \", \" + (_vm.height - 25) + \" \" + (_vm.width - 20) + \", \" + (_vm.height - 8) + \"\\n 20, \" + (_vm.height - 8) + \" 8, \" + (_vm.height - 25) + \" 8, 50\\n \")}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"points\":(\"\\n \" + ((_vm.width - _vm.titleWidth) / 2) + \", 30\\n 20, 30 7, 50 7, \" + (50 + (_vm.height - 167) / 2) + \"\\n 13, \" + (55 + (_vm.height - 167) / 2) + \" 13, \" + (135 + (_vm.height - 167) / 2) + \"\\n 7, \" + (140 + (_vm.height - 167) / 2) + \" 7, \" + (_vm.height - 27) + \"\\n 20, \" + (_vm.height - 7) + \" \" + (_vm.width - 20) + \", \" + (_vm.height - 7) + \" \" + (_vm.width - 7) + \", \" + (_vm.height - 27) + \"\\n \" + (_vm.width - 7) + \", \" + (140 + (_vm.height - 167) / 2) + \" \" + (_vm.width - 13) + \", \" + (135 + (_vm.height - 167) / 2) + \"\\n \" + (_vm.width - 13) + \", \" + (55 + (_vm.height - 167) / 2) + \" \" + (_vm.width - 7) + \", \" + (50 + (_vm.height - 167) / 2) + \"\\n \" + (_vm.width - 7) + \", 50 \" + (_vm.width - 20) + \", 30 \" + ((_vm.width + _vm.titleWidth) / 2) + \", 30\\n \" + ((_vm.width + _vm.titleWidth) / 2 - 20) + \", 7 \" + ((_vm.width - _vm.titleWidth) / 2 + 20) + \", 7\\n \" + ((_vm.width - _vm.titleWidth) / 2) + \", 30 \" + ((_vm.width - _vm.titleWidth) / 2 + 20) + \", 52\\n \" + ((_vm.width + _vm.titleWidth) / 2 - 20) + \", 52 \" + ((_vm.width + _vm.titleWidth) / 2) + \", 30\\n \")}}),_c('polygon',{attrs:{\"stroke\":_vm.mergedColor[0],\"fill\":\"transparent\",\"points\":(\"\\n \" + ((_vm.width + _vm.titleWidth) / 2 - 5) + \", 30 \" + ((_vm.width + _vm.titleWidth) / 2 - 21) + \", 11\\n \" + ((_vm.width + _vm.titleWidth) / 2 - 27) + \", 11 \" + ((_vm.width + _vm.titleWidth) / 2 - 8) + \", 34\\n \")}}),_c('polygon',{attrs:{\"stroke\":_vm.mergedColor[0],\"fill\":\"transparent\",\"points\":(\"\\n \" + ((_vm.width - _vm.titleWidth) / 2 + 5) + \", 30 \" + ((_vm.width - _vm.titleWidth) / 2 + 22) + \", 49\\n \" + ((_vm.width - _vm.titleWidth) / 2 + 28) + \", 49 \" + ((_vm.width - _vm.titleWidth) / 2 + 8) + \", 26\\n \")}}),_c('polygon',{attrs:{\"stroke\":_vm.mergedColor[0],\"fill\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 30),\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"points\":(\"\\n \" + ((_vm.width + _vm.titleWidth) / 2 - 11) + \", 37 \" + ((_vm.width + _vm.titleWidth) / 2 - 32) + \", 11\\n \" + ((_vm.width - _vm.titleWidth) / 2 + 23) + \", 11 \" + ((_vm.width - _vm.titleWidth) / 2 + 11) + \", 23\\n \" + ((_vm.width - _vm.titleWidth) / 2 + 33) + \", 49 \" + ((_vm.width + _vm.titleWidth) / 2 - 22) + \", 49\\n \")}}),_c('polygon',{attrs:{\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"fill\":_vm.mergedColor[0],\"opacity\":\"1\",\"points\":(\"\\n \" + ((_vm.width - _vm.titleWidth) / 2 - 10) + \", 37 \" + ((_vm.width - _vm.titleWidth) / 2 - 31) + \", 37\\n \" + ((_vm.width - _vm.titleWidth) / 2 - 25) + \", 46 \" + ((_vm.width - _vm.titleWidth) / 2 - 4) + \", 46\\n \")}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"1;0.7;1\",\"dur\":\"2s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"fill\":_vm.mergedColor[0],\"opacity\":\"0.7\",\"points\":(\"\\n \" + ((_vm.width - _vm.titleWidth) / 2 - 40) + \", 37 \" + ((_vm.width - _vm.titleWidth) / 2 - 61) + \", 37\\n \" + ((_vm.width - _vm.titleWidth) / 2 - 55) + \", 46 \" + ((_vm.width - _vm.titleWidth) / 2 - 34) + \", 46\\n \")}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"0.7;0.4;0.7\",\"dur\":\"2s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"fill\":_vm.mergedColor[0],\"opacity\":\"0.5\",\"points\":(\"\\n \" + ((_vm.width - _vm.titleWidth) / 2 - 70) + \", 37 \" + ((_vm.width - _vm.titleWidth) / 2 - 91) + \", 37\\n \" + ((_vm.width - _vm.titleWidth) / 2 - 85) + \", 46 \" + ((_vm.width - _vm.titleWidth) / 2 - 64) + \", 46\\n \")}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"0.5;0.2;0.5\",\"dur\":\"2s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"fill\":_vm.mergedColor[0],\"opacity\":\"1\",\"points\":(\"\\n \" + ((_vm.width + _vm.titleWidth) / 2 + 30) + \", 37 \" + ((_vm.width + _vm.titleWidth) / 2 + 9) + \", 37\\n \" + ((_vm.width + _vm.titleWidth) / 2 + 3) + \", 46 \" + ((_vm.width + _vm.titleWidth) / 2 + 24) + \", 46\\n \")}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"1;0.7;1\",\"dur\":\"2s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"fill\":_vm.mergedColor[0],\"opacity\":\"0.7\",\"points\":(\"\\n \" + ((_vm.width + _vm.titleWidth) / 2 + 60) + \", 37 \" + ((_vm.width + _vm.titleWidth) / 2 + 39) + \", 37\\n \" + ((_vm.width + _vm.titleWidth) / 2 + 33) + \", 46 \" + ((_vm.width + _vm.titleWidth) / 2 + 54) + \", 46\\n \")}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"0.7;0.4;0.7\",\"dur\":\"2s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('polygon',{attrs:{\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"fill\":_vm.mergedColor[0],\"opacity\":\"0.5\",\"points\":(\"\\n \" + ((_vm.width + _vm.titleWidth) / 2 + 90) + \", 37 \" + ((_vm.width + _vm.titleWidth) / 2 + 69) + \", 37\\n \" + ((_vm.width + _vm.titleWidth) / 2 + 63) + \", 46 \" + ((_vm.width + _vm.titleWidth) / 2 + 84) + \", 46\\n \")}},[_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"0.5;0.2;0.5\",\"dur\":\"2s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('text',{staticClass:\"dv-border-box-11-title\",attrs:{\"x\":(\"\" + (_vm.width / 2)),\"y\":\"32\",\"fill\":\"#fff\",\"font-size\":\"18\",\"text-anchor\":\"middle\",\"dominant-baseline\":\"middle\"}},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_c('polygon',{attrs:{\"fill\":_vm.mergedColor[0],\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"points\":(\"\\n 7, \" + (53 + (_vm.height - 167) / 2) + \" 11, \" + (57 + (_vm.height - 167) / 2) + \"\\n 11, \" + (133 + (_vm.height - 167) / 2) + \" 7, \" + (137 + (_vm.height - 167) / 2) + \"\\n \")}}),_c('polygon',{attrs:{\"fill\":_vm.mergedColor[0],\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"points\":(\"\\n \" + (_vm.width - 7) + \", \" + (53 + (_vm.height - 167) / 2) + \" \" + (_vm.width - 11) + \", \" + (57 + (_vm.height - 167) / 2) + \"\\n \" + (_vm.width - 11) + \", \" + (133 + (_vm.height - 167) / 2) + \" \" + (_vm.width - 7) + \", \" + (137 + (_vm.height - 167) / 2) + \"\\n \")}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=c3ee2428&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox11 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox11.name, BorderBox11)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-12\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('filter',{attrs:{\"id\":_vm.filterId,\"height\":\"150%\",\"width\":\"150%\",\"x\":\"-25%\",\"y\":\"-25%\"}},[_c('feMorphology',{attrs:{\"operator\":\"dilate\",\"radius\":\"1\",\"in\":\"SourceAlpha\",\"result\":\"thicken\"}}),_c('feGaussianBlur',{attrs:{\"in\":\"thicken\",\"stdDeviation\":\"2\",\"result\":\"blurred\"}}),_c('feFlood',{attrs:{\"flood-color\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 70),\"result\":\"glowColor\"}},[_c('animate',{attrs:{\"attributeName\":\"flood-color\",\"values\":(\"\\n \" + (_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 70)) + \";\\n \" + (_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 30)) + \";\\n \" + (_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 70)) + \";\\n \"),\"dur\":\"3s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('feComposite',{attrs:{\"in\":\"glowColor\",\"in2\":\"blurred\",\"operator\":\"in\",\"result\":\"softGlowColored\"}}),_c('feMerge',[_c('feMergeNode',{attrs:{\"in\":\"softGlowColored\"}}),_c('feMergeNode',{attrs:{\"in\":\"SourceGraphic\"}})],1)],1)]),(_vm.width && _vm.height)?_c('path',{attrs:{\"fill\":_vm.backgroundColor,\"stroke-width\":\"2\",\"stroke\":_vm.mergedColor[0],\"d\":(\"\\n M15 5 L \" + (_vm.width - 15) + \" 5 Q \" + (_vm.width - 5) + \" 5, \" + (_vm.width - 5) + \" 15\\n L \" + (_vm.width - 5) + \" \" + (_vm.height - 15) + \" Q \" + (_vm.width - 5) + \" \" + (_vm.height - 5) + \", \" + (_vm.width - 15) + \" \" + (_vm.height - 5) + \"\\n L 15, \" + (_vm.height - 5) + \" Q 5 \" + (_vm.height - 5) + \" 5 \" + (_vm.height - 15) + \" L 5 15\\n Q 5 5 15 5\\n \")}}):_vm._e(),_c('path',{attrs:{\"stroke-width\":\"2\",\"fill\":\"transparent\",\"stroke-linecap\":\"round\",\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"stroke\":_vm.mergedColor[1],\"d\":\"M 20 5 L 15 5 Q 5 5 5 15 L 5 20\"}}),_c('path',{attrs:{\"stroke-width\":\"2\",\"fill\":\"transparent\",\"stroke-linecap\":\"round\",\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"stroke\":_vm.mergedColor[1],\"d\":(\"M \" + (_vm.width - 20) + \" 5 L \" + (_vm.width - 15) + \" 5 Q \" + (_vm.width - 5) + \" 5 \" + (_vm.width - 5) + \" 15 L \" + (_vm.width - 5) + \" 20\")}}),_c('path',{attrs:{\"stroke-width\":\"2\",\"fill\":\"transparent\",\"stroke-linecap\":\"round\",\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"stroke\":_vm.mergedColor[1],\"d\":(\"\\n M \" + (_vm.width - 20) + \" \" + (_vm.height - 5) + \" L \" + (_vm.width - 15) + \" \" + (_vm.height - 5) + \"\\n Q \" + (_vm.width - 5) + \" \" + (_vm.height - 5) + \" \" + (_vm.width - 5) + \" \" + (_vm.height - 15) + \"\\n L \" + (_vm.width - 5) + \" \" + (_vm.height - 20) + \"\\n \")}}),_c('path',{attrs:{\"stroke-width\":\"2\",\"fill\":\"transparent\",\"stroke-linecap\":\"round\",\"filter\":(\"url(#\" + _vm.filterId + \")\"),\"stroke\":_vm.mergedColor[1],\"d\":(\"\\n M 20 \" + (_vm.height - 5) + \" L 15 \" + (_vm.height - 5) + \"\\n Q 5 \" + (_vm.height - 5) + \" 5 \" + (_vm.height - 15) + \"\\n L 5 \" + (_vm.height - 20) + \"\\n \")}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=460c1118&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox12 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox12.name, BorderBox12)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-13\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('path',{attrs:{\"fill\":_vm.backgroundColor,\"stroke\":_vm.mergedColor[0],\"d\":(\"\\n M 5 20 L 5 10 L 12 3 L 60 3 L 68 10\\n L \" + (_vm.width - 20) + \" 10 L \" + (_vm.width - 5) + \" 25\\n L \" + (_vm.width - 5) + \" \" + (_vm.height - 5) + \" L 20 \" + (_vm.height - 5) + \"\\n L 5 \" + (_vm.height - 20) + \" L 5 20\\n \")}}),_c('path',{attrs:{\"fill\":\"transparent\",\"stroke-width\":\"3\",\"stroke-linecap\":\"round\",\"stroke-dasharray\":\"10, 5\",\"stroke\":_vm.mergedColor[0],\"d\":\"M 16 9 L 61 9\"}}),_c('path',{attrs:{\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[1],\"d\":\"M 5 20 L 5 10 L 12 3 L 60 3 L 68 10\"}}),_c('path',{attrs:{\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[1],\"d\":(\"M \" + (_vm.width - 5) + \" \" + (_vm.height - 30) + \" L \" + (_vm.width - 5) + \" \" + (_vm.height - 5) + \" L \" + (_vm.width - 30) + \" \" + (_vm.height - 5))}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=886c55d0&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox13 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox13.name, BorderBox13)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-2\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 7, 7 \" + (_vm.width - 7) + \", 7 \" + (_vm.width - 7) + \", \" + (_vm.height - 7) + \" 7, \" + (_vm.height - 7) + \"\\n \")}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"2, 2 \" + (_vm.width - 2) + \" ,2 \" + (_vm.width - 2) + \", \" + (_vm.height - 2) + \" 2, \" + (_vm.height - 2) + \" 2, 2\")}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"6, 6 \" + (_vm.width - 6) + \", 6 \" + (_vm.width - 6) + \", \" + (_vm.height - 6) + \" 6, \" + (_vm.height - 6) + \" 6, 6\")}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[0],\"cx\":\"11\",\"cy\":\"11\",\"r\":\"1\"}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[0],\"cx\":_vm.width - 11,\"cy\":\"11\",\"r\":\"1\"}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[0],\"cx\":_vm.width - 11,\"cy\":_vm.height - 11,\"r\":\"1\"}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[0],\"cx\":\"11\",\"cy\":_vm.height - 11,\"r\":\"1\"}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=7ed8b580&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox2 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox2.name, BorderBox2)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-3\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 23, 23 \" + (_vm.width - 24) + \", 23 \" + (_vm.width - 24) + \", \" + (_vm.height - 24) + \" 23, \" + (_vm.height - 24) + \"\\n \")}}),_c('polyline',{staticClass:\"dv-bb3-line1\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"4, 4 \" + (_vm.width - 22) + \" ,4 \" + (_vm.width - 22) + \", \" + (_vm.height - 22) + \" 4, \" + (_vm.height - 22) + \" 4, 4\")}}),_c('polyline',{staticClass:\"dv-bb3-line2\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"10, 10 \" + (_vm.width - 16) + \", 10 \" + (_vm.width - 16) + \", \" + (_vm.height - 16) + \" 10, \" + (_vm.height - 16) + \" 10, 10\")}}),_c('polyline',{staticClass:\"dv-bb3-line2\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"16, 16 \" + (_vm.width - 10) + \", 16 \" + (_vm.width - 10) + \", \" + (_vm.height - 10) + \" 16, \" + (_vm.height - 10) + \" 16, 16\")}}),_c('polyline',{staticClass:\"dv-bb3-line2\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"22, 22 \" + (_vm.width - 4) + \", 22 \" + (_vm.width - 4) + \", \" + (_vm.height - 4) + \" 22, \" + (_vm.height - 4) + \" 22, 22\")}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=580afe41&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox3 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox3.name, BorderBox3)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-4\"},[_c('svg',{class:(\"dv-border-svg-container \" + (_vm.reverse && 'dv-reverse')),attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n \" + (_vm.width - 15) + \", 22 170, 22 150, 7 40, 7 28, 21 32, 24\\n 16, 42 16, \" + (_vm.height - 32) + \" 41, \" + (_vm.height - 7) + \" \" + (_vm.width - 15) + \", \" + (_vm.height - 7) + \"\\n \")}}),_c('polyline',{staticClass:\"dv-bb4-line-1\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"145, \" + (_vm.height - 5) + \" 40, \" + (_vm.height - 5) + \" 10, \" + (_vm.height - 35) + \"\\n 10, 40 40, 5 150, 5 170, 20 \" + (_vm.width - 15) + \", 20\")}}),_c('polyline',{staticClass:\"dv-bb4-line-2\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"245, \" + (_vm.height - 1) + \" 36, \" + (_vm.height - 1) + \" 14, \" + (_vm.height - 23) + \"\\n 14, \" + (_vm.height - 100))}}),_c('polyline',{staticClass:\"dv-bb4-line-3\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"7, \" + (_vm.height - 40) + \" 7, \" + (_vm.height - 75))}}),_c('polyline',{staticClass:\"dv-bb4-line-4\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":\"28, 24 13, 41 13, 64\"}}),_c('polyline',{staticClass:\"dv-bb4-line-5\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":\"5, 45 5, 140\"}}),_c('polyline',{staticClass:\"dv-bb4-line-6\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":\"14, 75 14, 180\"}}),_c('polyline',{staticClass:\"dv-bb4-line-7\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":\"55, 11 147, 11 167, 26 250, 26\"}}),_c('polyline',{staticClass:\"dv-bb4-line-8\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":\"158, 5 173, 16\"}}),_c('polyline',{staticClass:\"dv-bb4-line-9\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"200, 17 \" + (_vm.width - 10) + \", 17\")}}),_c('polyline',{staticClass:\"dv-bb4-line-10\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"385, 17 \" + (_vm.width - 10) + \", 17\")}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=a5527428&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox4 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox4.name, BorderBox4)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-5\"},[_c('svg',{class:(\"dv-border-svg-container \" + (_vm.reverse && 'dv-reverse')),attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 10, 22 \" + (_vm.width - 22) + \", 22 \" + (_vm.width - 22) + \", \" + (_vm.height - 86) + \" \" + (_vm.width - 84) + \", \" + (_vm.height - 24) + \" 10, \" + (_vm.height - 24) + \"\\n \")}}),_c('polyline',{staticClass:\"dv-bb5-line-1\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"8, 5 \" + (_vm.width - 5) + \", 5 \" + (_vm.width - 5) + \", \" + (_vm.height - 100) + \"\\n \" + (_vm.width - 100) + \", \" + (_vm.height - 5) + \" 8, \" + (_vm.height - 5) + \" 8, 5\")}}),_c('polyline',{staticClass:\"dv-bb5-line-2\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"3, 5 \" + (_vm.width - 20) + \", 5 \" + (_vm.width - 20) + \", \" + (_vm.height - 60) + \"\\n \" + (_vm.width - 74) + \", \" + (_vm.height - 5) + \" 3, \" + (_vm.height - 5) + \" 3, 5\")}}),_c('polyline',{staticClass:\"dv-bb5-line-3\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"50, 13 \" + (_vm.width - 35) + \", 13\")}}),_c('polyline',{staticClass:\"dv-bb5-line-4\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"15, 20 \" + (_vm.width - 35) + \", 20\")}}),_c('polyline',{staticClass:\"dv-bb5-line-5\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"15, \" + (_vm.height - 20) + \" \" + (_vm.width - 110) + \", \" + (_vm.height - 20))}}),_c('polyline',{staticClass:\"dv-bb5-line-6\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"15, \" + (_vm.height - 13) + \" \" + (_vm.width - 110) + \", \" + (_vm.height - 13))}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=435731f8&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox5 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox5.name, BorderBox5)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-6\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 9, 7 \" + (_vm.width - 9) + \", 7 \" + (_vm.width - 9) + \", \" + (_vm.height - 7) + \" 9, \" + (_vm.height - 7) + \"\\n \")}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[1],\"cx\":\"5\",\"cy\":\"5\",\"r\":\"2\"}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[1],\"cx\":_vm.width - 5,\"cy\":\"5\",\"r\":\"2\"}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[1],\"cx\":_vm.width - 5,\"cy\":_vm.height - 5,\"r\":\"2\"}}),_c('circle',{attrs:{\"fill\":_vm.mergedColor[1],\"cx\":\"5\",\"cy\":_vm.height - 5,\"r\":\"2\"}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"10, 4 \" + (_vm.width - 10) + \", 4\")}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"10, \" + (_vm.height - 4) + \" \" + (_vm.width - 10) + \", \" + (_vm.height - 4))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"5, 70 5, \" + (_vm.height - 70))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 5) + \", 70 \" + (_vm.width - 5) + \", \" + (_vm.height - 70))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":\"3, 10, 3, 50\"}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":\"7, 30 7, 80\"}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 3) + \", 10 \" + (_vm.width - 3) + \", 50\")}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 7) + \", 30 \" + (_vm.width - 7) + \", 80\")}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"3, \" + (_vm.height - 10) + \" 3, \" + (_vm.height - 50))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"7, \" + (_vm.height - 30) + \" 7, \" + (_vm.height - 80))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 3) + \", \" + (_vm.height - 10) + \" \" + (_vm.width - 3) + \", \" + (_vm.height - 50))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 7) + \", \" + (_vm.height - 30) + \" \" + (_vm.width - 7) + \", \" + (_vm.height - 80))}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=7de3177e&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox6 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox6.name, BorderBox6)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-7\",style:((\"box-shadow: inset 0 0 40px \" + (_vm.mergedColor[0]) + \"; border: 1px solid \" + (_vm.mergedColor[0]) + \"; background-color: \" + _vm.backgroundColor))},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polyline',{staticClass:\"dv-bb7-line-width-2\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":\"0, 25 0, 0 25, 0\"}}),_c('polyline',{staticClass:\"dv-bb7-line-width-2\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 25) + \", 0 \" + _vm.width + \", 0 \" + _vm.width + \", 25\")}}),_c('polyline',{staticClass:\"dv-bb7-line-width-2\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":((_vm.width - 25) + \", \" + _vm.height + \" \" + _vm.width + \", \" + _vm.height + \" \" + _vm.width + \", \" + (_vm.height - 25))}}),_c('polyline',{staticClass:\"dv-bb7-line-width-2\",attrs:{\"stroke\":_vm.mergedColor[0],\"points\":(\"0, \" + (_vm.height - 25) + \" 0, \" + _vm.height + \" 25, \" + _vm.height)}}),_c('polyline',{staticClass:\"dv-bb7-line-width-5\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":\"0, 10 0, 0 10, 0\"}}),_c('polyline',{staticClass:\"dv-bb7-line-width-5\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":((_vm.width - 10) + \", 0 \" + _vm.width + \", 0 \" + _vm.width + \", 10\")}}),_c('polyline',{staticClass:\"dv-bb7-line-width-5\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":((_vm.width - 10) + \", \" + _vm.height + \" \" + _vm.width + \", \" + _vm.height + \" \" + _vm.width + \", \" + (_vm.height - 10))}}),_c('polyline',{staticClass:\"dv-bb7-line-width-5\",attrs:{\"stroke\":_vm.mergedColor[1],\"points\":(\"0, \" + (_vm.height - 10) + \" 0, \" + _vm.height + \" 10, \" + _vm.height)}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=3897f12e&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox7 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox7.name, BorderBox7)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-8\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('path',{attrs:{\"id\":_vm.path,\"d\":_vm.pathD,\"fill\":\"transparent\"}}),_c('radialGradient',{attrs:{\"id\":_vm.gradient,\"cx\":\"50%\",\"cy\":\"50%\",\"r\":\"50%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"1\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"0\"}})],1),_c('mask',{attrs:{\"id\":_vm.mask}},[_c('circle',{attrs:{\"cx\":\"0\",\"cy\":\"0\",\"r\":\"150\",\"fill\":(\"url(#\" + _vm.gradient + \")\")}},[_c('animateMotion',{attrs:{\"dur\":(_vm.dur + \"s\"),\"path\":_vm.pathD,\"rotate\":\"auto\",\"repeatCount\":\"indefinite\"}})],1)])],1),_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"5, 5 \" + (_vm.width - 5) + \", 5 \" + (_vm.width - 5) + \" \" + (_vm.height - 5) + \" 5, \" + (_vm.height - 5))}}),_c('use',{attrs:{\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"1\",\"xlink:href\":(\"#\" + _vm.path)}}),_c('use',{attrs:{\"stroke\":_vm.mergedColor[1],\"stroke-width\":\"3\",\"xlink:href\":(\"#\" + _vm.path),\"mask\":(\"url(#\" + _vm.mask + \")\")}},[_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"from\":(\"0, \" + _vm.length),\"to\":(_vm.length + \", 0\"),\"dur\":(_vm.dur + \"s\"),\"repeatCount\":\"indefinite\"}})])]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=667924e2&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox8 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox8.name, BorderBox8)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-border-box-9\"},[_c('svg',{staticClass:\"dv-border-svg-container\",attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('linearGradient',{attrs:{\"id\":_vm.gradientId,\"x1\":\"0%\",\"y1\":\"0%\",\"x2\":\"100%\",\"y2\":\"100%\"}},[_c('animate',{attrs:{\"attributeName\":\"x1\",\"values\":\"0%;100%;0%\",\"dur\":\"10s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"x2\",\"values\":\"100%;0%;100%\",\"dur\":\"10s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}}),_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.mergedColor[0]}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":((_vm.mergedColor[0]) + \";\" + (_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0])),\"dur\":\"10s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})]),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.mergedColor[1]}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0]) + \";\" + (_vm.mergedColor[1])),\"dur\":\"10s\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})])],1),_c('mask',{attrs:{\"id\":_vm.maskId}},[_c('polyline',{attrs:{\"stroke\":\"#fff\",\"stroke-width\":\"3\",\"fill\":\"transparent\",\"points\":(\"8, \" + (_vm.height * 0.4) + \" 8, 3, \" + (_vm.width * 0.4 + 7) + \", 3\")}}),_c('polyline',{attrs:{\"fill\":\"#fff\",\"points\":(\"8, \" + (_vm.height * 0.15) + \" 8, 3, \" + (_vm.width * 0.1 + 7) + \", 3\\n \" + (_vm.width * 0.1) + \", 8 14, 8 14, \" + (_vm.height * 0.15 - 7) + \"\\n \")}}),_c('polyline',{attrs:{\"stroke\":\"#fff\",\"stroke-width\":\"3\",\"fill\":\"transparent\",\"points\":((_vm.width * 0.5) + \", 3 \" + (_vm.width - 3) + \", 3, \" + (_vm.width - 3) + \", \" + (_vm.height * 0.25))}}),_c('polyline',{attrs:{\"fill\":\"#fff\",\"points\":(\"\\n \" + (_vm.width * 0.52) + \", 3 \" + (_vm.width * 0.58) + \", 3\\n \" + (_vm.width * 0.58 - 7) + \", 9 \" + (_vm.width * 0.52 + 7) + \", 9\\n \")}}),_c('polyline',{attrs:{\"fill\":\"#fff\",\"points\":(\"\\n \" + (_vm.width * 0.9) + \", 3 \" + (_vm.width - 3) + \", 3 \" + (_vm.width - 3) + \", \" + (_vm.height * 0.1) + \"\\n \" + (_vm.width - 9) + \", \" + (_vm.height * 0.1 - 7) + \" \" + (_vm.width - 9) + \", 9 \" + (_vm.width * 0.9 + 7) + \", 9\\n \")}}),_c('polyline',{attrs:{\"stroke\":\"#fff\",\"stroke-width\":\"3\",\"fill\":\"transparent\",\"points\":(\"8, \" + (_vm.height * 0.5) + \" 8, \" + (_vm.height - 3) + \" \" + (_vm.width * 0.3 + 7) + \", \" + (_vm.height - 3))}}),_c('polyline',{attrs:{\"fill\":\"#fff\",\"points\":(\"\\n 8, \" + (_vm.height * 0.55) + \" 8, \" + (_vm.height * 0.7) + \"\\n 2, \" + (_vm.height * 0.7 - 7) + \" 2, \" + (_vm.height * 0.55 + 7) + \"\\n \")}}),_c('polyline',{attrs:{\"stroke\":\"#fff\",\"stroke-width\":\"3\",\"fill\":\"transparent\",\"points\":((_vm.width * 0.35) + \", \" + (_vm.height - 3) + \" \" + (_vm.width - 3) + \", \" + (_vm.height - 3) + \" \" + (_vm.width - 3) + \", \" + (_vm.height * 0.35))}}),_c('polyline',{attrs:{\"fill\":\"#fff\",\"points\":(\"\\n \" + (_vm.width * 0.92) + \", \" + (_vm.height - 3) + \" \" + (_vm.width - 3) + \", \" + (_vm.height - 3) + \" \" + (_vm.width - 3) + \", \" + (_vm.height * 0.8) + \"\\n \" + (_vm.width - 9) + \", \" + (_vm.height * 0.8 + 7) + \" \" + (_vm.width - 9) + \", \" + (_vm.height - 9) + \" \" + (_vm.width * 0.92 + 7) + \", \" + (_vm.height - 9) + \"\\n \")}})])],1),_c('polygon',{attrs:{\"fill\":_vm.backgroundColor,\"points\":(\"\\n 15, 9 \" + (_vm.width * 0.1 + 1) + \", 9 \" + (_vm.width * 0.1 + 4) + \", 6 \" + (_vm.width * 0.52 + 2) + \", 6\\n \" + (_vm.width * 0.52 + 6) + \", 10 \" + (_vm.width * 0.58 - 7) + \", 10 \" + (_vm.width * 0.58 - 2) + \", 6\\n \" + (_vm.width * 0.9 + 2) + \", 6 \" + (_vm.width * 0.9 + 6) + \", 10 \" + (_vm.width - 10) + \", 10 \" + (_vm.width - 10) + \", \" + (_vm.height * 0.1 - 6) + \"\\n \" + (_vm.width - 6) + \", \" + (_vm.height * 0.1 - 1) + \" \" + (_vm.width - 6) + \", \" + (_vm.height * 0.8 + 1) + \" \" + (_vm.width - 10) + \", \" + (_vm.height * 0.8 + 6) + \"\\n \" + (_vm.width - 10) + \", \" + (_vm.height - 10) + \" \" + (_vm.width * 0.92 + 7) + \", \" + (_vm.height - 10) + \" \" + (_vm.width * 0.92 + 2) + \", \" + (_vm.height - 6) + \"\\n 11, \" + (_vm.height - 6) + \" 11, \" + (_vm.height * 0.15 - 2) + \" 15, \" + (_vm.height * 0.15 - 7) + \"\\n \")}}),_c('rect',{attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":_vm.width,\"height\":_vm.height,\"fill\":(\"url(#\" + _vm.gradientId + \")\"),\"mask\":(\"url(#\" + _vm.maskId + \")\")}})]),_c('div',{staticClass:\"border-box-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=e8ec3610&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport BorderBox9 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(BorderBox9.name, BorderBox9)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dv-capsule-chart\"},[(_vm.mergedConfig)?[_c('div',{staticClass:\"label-column\"},[_vm._l((_vm.mergedConfig.data),function(item){return _c('div',{key:item.name},[_vm._v(_vm._s(item.name))])}),_c('div',[_vm._v(\" \")])],2),_c('div',{staticClass:\"capsule-container\"},[_vm._l((_vm.capsuleLength),function(capsule,index){return _c('div',{key:index,staticClass:\"capsule-item\"},[_c('div',{staticClass:\"capsule-item-column\",style:((\"width: \" + (capsule * 100) + \"%; background-color: \" + (_vm.mergedConfig.colors[index % _vm.mergedConfig.colors.length]) + \";\"))},[(_vm.mergedConfig.showValue)?_c('div',{staticClass:\"capsule-item-value\"},[_vm._v(_vm._s(_vm.capsuleValue[index]))]):_vm._e()])])}),_c('div',{staticClass:\"unit-label\"},_vm._l((_vm.labelData),function(label,index){return _c('div',{key:label + index},[_vm._v(_vm._s(label))])}),0)],2),(_vm.mergedConfig.unit)?_c('div',{staticClass:\"unit-text\"},[_vm._v(_vm._s(_vm.mergedConfig.unit))]):_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=058edf2a&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport CapsuleChart from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(CapsuleChart.name, CapsuleChart)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-charts-container\"},[_c('div',{ref:_vm.chartRef,staticClass:\"charts-canvas-container\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=d283f50a&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Charts from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Charts.name, Charts)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-conical-column-chart\"},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},_vm._l((_vm.column),function(item,i){return _c('g',{key:i},[_c('path',{attrs:{\"d\":item.d,\"fill\":_vm.mergedConfig.columnColor}}),_c('text',{style:((\"fontSize:\" + (_vm.mergedConfig.fontSize) + \"px\")),attrs:{\"fill\":_vm.mergedConfig.textColor,\"x\":item.x,\"y\":_vm.height - 4}},[_vm._v(\"\\n \"+_vm._s(item.name)+\"\\n \")]),(_vm.mergedConfig.img.length)?_c('image',{attrs:{\"xlink:href\":_vm.mergedConfig.img[i % _vm.mergedConfig.img.length],\"width\":_vm.mergedConfig.imgSideLength,\"height\":_vm.mergedConfig.imgSideLength,\"x\":item.x - _vm.mergedConfig.imgSideLength / 2,\"y\":item.y - _vm.mergedConfig.imgSideLength}}):_vm._e(),(_vm.mergedConfig.showValue)?_c('text',{style:((\"fontSize:\" + (_vm.mergedConfig.fontSize) + \"px\")),attrs:{\"fill\":_vm.mergedConfig.textColor,\"x\":item.x,\"y\":item.textY}},[_vm._v(\"\\n \"+_vm._s(item.value)+\"\\n \")]):_vm._e()])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=7c00d6fd&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport ConicalColumnChart from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(ConicalColumnChart.name, ConicalColumnChart)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-1\"},[_c('svg',{style:((\"transform:scale(\" + (_vm.svgScale[0]) + \",\" + (_vm.svgScale[1]) + \");\")),attrs:{\"width\":((_vm.svgWH[0]) + \"px\"),\"height\":((_vm.svgWH[1]) + \"px\")}},[_vm._l((_vm.points),function(point,i){return [(Math.random() > 0.6)?_c('rect',{key:i,attrs:{\"fill\":_vm.mergedColor[0],\"x\":point[0] - _vm.halfPointSideLength,\"y\":point[1] - _vm.halfPointSideLength,\"width\":_vm.pointSideLength,\"height\":_vm.pointSideLength}},[(Math.random() > 0.6)?_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[0]) + \";transparent\"),\"dur\":\"1s\",\"begin\":Math.random() * 2,\"repeatCount\":\"indefinite\"}}):_vm._e()]):_vm._e()]}),(_vm.rects[0])?_c('rect',{attrs:{\"fill\":_vm.mergedColor[1],\"x\":_vm.rects[0][0] - _vm.pointSideLength,\"y\":_vm.rects[0][1] - _vm.pointSideLength,\"width\":_vm.pointSideLength * 2,\"height\":_vm.pointSideLength * 2}},[_c('animate',{attrs:{\"attributeName\":\"width\",\"values\":(\"0;\" + (_vm.pointSideLength * 2)),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"height\",\"values\":(\"0;\" + (_vm.pointSideLength * 2)),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"x\",\"values\":((_vm.rects[0][0]) + \";\" + (_vm.rects[0][0] - _vm.pointSideLength)),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"y\",\"values\":((_vm.rects[0][1]) + \";\" + (_vm.rects[0][1] - _vm.pointSideLength)),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]):_vm._e(),(_vm.rects[1])?_c('rect',{attrs:{\"fill\":_vm.mergedColor[1],\"x\":_vm.rects[1][0] - 40,\"y\":_vm.rects[1][1] - _vm.pointSideLength,\"width\":40,\"height\":_vm.pointSideLength * 2}},[_c('animate',{attrs:{\"attributeName\":\"width\",\"values\":\"0;40;0\",\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"x\",\"values\":((_vm.rects[1][0]) + \";\" + (_vm.rects[1][0] - 40) + \";\" + (_vm.rects[1][0])),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=295bc631&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration1 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration1.name, Decoration1)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-10\"},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[1],\"stroke-width\":\"2\",\"points\":(\"0, \" + (_vm.height / 2) + \" \" + _vm.width + \", \" + (_vm.height / 2))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"2\",\"points\":(\"5, \" + (_vm.height / 2) + \" \" + (_vm.width * 0.2 - 3) + \", \" + (_vm.height / 2)),\"stroke-dasharray\":(\"0, \" + (_vm.width * 0.2)),\"fill\":\"freeze\"}},[_c('animate',{attrs:{\"id\":_vm.animationId2,\"attributeName\":\"stroke-dasharray\",\"values\":(\"0, \" + (_vm.width * 0.2) + \";\" + (_vm.width * 0.2) + \", 0;\"),\"dur\":\"3s\",\"begin\":(_vm.animationId1 + \".end\"),\"fill\":\"freeze\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"values\":((_vm.width * 0.2) + \", 0;0, \" + (_vm.width * 0.2)),\"dur\":\"0.01s\",\"begin\":(_vm.animationId7 + \".end\"),\"fill\":\"freeze\"}})]),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"2\",\"points\":((_vm.width * 0.2 + 3) + \", \" + (_vm.height / 2) + \" \" + (_vm.width * 0.8 - 3) + \", \" + (_vm.height / 2)),\"stroke-dasharray\":(\"0, \" + (_vm.width * 0.6))}},[_c('animate',{attrs:{\"id\":_vm.animationId4,\"attributeName\":\"stroke-dasharray\",\"values\":(\"0, \" + (_vm.width * 0.6) + \";\" + (_vm.width * 0.6) + \", 0\"),\"dur\":\"3s\",\"begin\":(_vm.animationId3 + \".end + 1s\"),\"fill\":\"freeze\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"values\":((_vm.width * 0.6) + \", 0;0, \" + (_vm.width * 0.6)),\"dur\":\"0.01s\",\"begin\":(_vm.animationId7 + \".end\"),\"fill\":\"freeze\"}})]),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"2\",\"points\":((_vm.width * 0.8 + 3) + \", \" + (_vm.height / 2) + \" \" + (_vm.width - 5) + \", \" + (_vm.height / 2)),\"stroke-dasharray\":(\"0, \" + (_vm.width * 0.2))}},[_c('animate',{attrs:{\"id\":_vm.animationId6,\"attributeName\":\"stroke-dasharray\",\"values\":(\"0, \" + (_vm.width * 0.2) + \";\" + (_vm.width * 0.2) + \", 0\"),\"dur\":\"3s\",\"begin\":(_vm.animationId5 + \".end + 1s\"),\"fill\":\"freeze\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"values\":((_vm.width * 0.2) + \", 0;0, \" + (_vm.width * 0.3)),\"dur\":\"0.01s\",\"begin\":(_vm.animationId7 + \".end\"),\"fill\":\"freeze\"}})]),_c('circle',{attrs:{\"cx\":\"2\",\"cy\":_vm.height / 2,\"r\":\"2\",\"fill\":_vm.mergedColor[1]}},[_c('animate',{attrs:{\"id\":_vm.animationId1,\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0])),\"begin\":(\"0s;\" + _vm.animationId7 + \".end\"),\"dur\":\"0.3s\",\"fill\":\"freeze\"}})]),_c('circle',{attrs:{\"cx\":_vm.width * 0.2,\"cy\":_vm.height / 2,\"r\":\"2\",\"fill\":_vm.mergedColor[1]}},[_c('animate',{attrs:{\"id\":_vm.animationId3,\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0])),\"begin\":(_vm.animationId2 + \".end\"),\"dur\":\"0.3s\",\"fill\":\"freeze\"}}),_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[1])),\"dur\":\"0.01s\",\"begin\":(_vm.animationId7 + \".end\"),\"fill\":\"freeze\"}})]),_c('circle',{attrs:{\"cx\":_vm.width * 0.8,\"cy\":_vm.height / 2,\"r\":\"2\",\"fill\":_vm.mergedColor[1]}},[_c('animate',{attrs:{\"id\":_vm.animationId5,\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0])),\"begin\":(_vm.animationId4 + \".end\"),\"dur\":\"0.3s\",\"fill\":\"freeze\"}}),_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[1])),\"dur\":\"0.01s\",\"begin\":(_vm.animationId7 + \".end\"),\"fill\":\"freeze\"}})]),_c('circle',{attrs:{\"cx\":_vm.width - 2,\"cy\":_vm.height / 2,\"r\":\"2\",\"fill\":_vm.mergedColor[1]}},[_c('animate',{attrs:{\"id\":_vm.animationId7,\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[0])),\"begin\":(_vm.animationId6 + \".end\"),\"dur\":\"0.3s\",\"fill\":\"freeze\"}}),_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":((_vm.mergedColor[1]) + \";\" + (_vm.mergedColor[1])),\"dur\":\"0.01s\",\"begin\":(_vm.animationId7 + \".end\"),\"fill\":\"freeze\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=69543fb4&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration10 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration10.name, Decoration10)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-11\"},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polygon',{attrs:{\"fill\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 10),\"stroke\":_vm.mergedColor[1],\"points\":\"20 10, 25 4, 55 4 60 10\"}}),_c('polygon',{attrs:{\"fill\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 10),\"stroke\":_vm.mergedColor[1],\"points\":(\"20 \" + (_vm.height - 10) + \", 25 \" + (_vm.height - 4) + \", 55 \" + (_vm.height - 4) + \" 60 \" + (_vm.height - 10))}}),_c('polygon',{attrs:{\"fill\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 10),\"stroke\":_vm.mergedColor[1],\"points\":((_vm.width - 20) + \" 10, \" + (_vm.width - 25) + \" 4, \" + (_vm.width - 55) + \" 4 \" + (_vm.width - 60) + \" 10\")}}),_c('polygon',{attrs:{\"fill\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 10),\"stroke\":_vm.mergedColor[1],\"points\":((_vm.width - 20) + \" \" + (_vm.height - 10) + \", \" + (_vm.width - 25) + \" \" + (_vm.height - 4) + \", \" + (_vm.width - 55) + \" \" + (_vm.height - 4) + \" \" + (_vm.width - 60) + \" \" + (_vm.height - 10))}}),_c('polygon',{attrs:{\"fill\":_vm.fade(_vm.mergedColor[0] || _vm.defaultColor[0], 20),\"stroke\":_vm.mergedColor[0],\"points\":(\"\\n 20 10, 5 \" + (_vm.height / 2) + \" 20 \" + (_vm.height - 10) + \"\\n \" + (_vm.width - 20) + \" \" + (_vm.height - 10) + \" \" + (_vm.width - 5) + \" \" + (_vm.height / 2) + \" \" + (_vm.width - 20) + \" 10\\n \")}}),_c('polyline',{attrs:{\"fill\":\"transparent\",\"stroke\":_vm.fade(_vm.mergedColor[0] || _vm.defaultColor[0], 70),\"points\":(\"25 18, 15 \" + (_vm.height / 2) + \" 25 \" + (_vm.height - 18))}}),_c('polyline',{attrs:{\"fill\":\"transparent\",\"stroke\":_vm.fade(_vm.mergedColor[0] || _vm.defaultColor[0], 70),\"points\":((_vm.width - 25) + \" 18, \" + (_vm.width - 15) + \" \" + (_vm.height / 2) + \" \" + (_vm.width - 25) + \" \" + (_vm.height - 18))}})]),_c('div',{staticClass:\"decoration-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=c3e466e8&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration11 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration11.name, Decoration11)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-12\"},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('g',{attrs:{\"id\":_vm.gId}},_vm._l((_vm.pathD),function(d,i){return _c('path',{key:d,attrs:{\"stroke\":_vm.pathColor[i],\"stroke-width\":_vm.width / 2,\"fill\":\"transparent\",\"d\":d}})}),0),_c('radialGradient',{attrs:{\"id\":_vm.gradientId,\"cx\":\"50%\",\"cy\":\"50%\",\"r\":\"50%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"transparent\",\"stop-opacity\":\"1\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 30),\"stop-opacity\":\"1\"}})],1)],1),_vm._l((_vm.circleR),function(r){return _c('circle',{key:r,attrs:{\"r\":r,\"cx\":_vm.x,\"cy\":_vm.y,\"stroke\":_vm.mergedColor[1],\"stroke-width\":0.5,\"fill\":\"transparent\"}})}),_c('circle',{attrs:{\"r\":\"1\",\"cx\":_vm.x,\"cy\":_vm.y,\"stroke\":\"transparent\",\"fill\":(\"url(#\" + _vm.gradientId + \")\")}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"values\":(\"1;\" + (_vm.width / 2)),\"dur\":(_vm.haloDur + \"s\"),\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"1;0\",\"dur\":(_vm.haloDur + \"s\"),\"repeatCount\":\"indefinite\"}})]),_c('circle',{attrs:{\"r\":\"2\",\"cx\":_vm.x,\"cy\":_vm.y,\"fill\":_vm.mergedColor[1]}}),(_vm.showSplitLine)?_c('g',_vm._l((_vm.splitLinePoints),function(p){return _c('polyline',{key:p,attrs:{\"points\":p,\"stroke\":_vm.mergedColor[1],\"stroke-width\":0.5,\"opacity\":\"0.5\"}})}),0):_vm._e(),_vm._l((_vm.arcD),function(d){return _c('path',{key:d,attrs:{\"d\":d,\"stroke\":_vm.mergedColor[1],\"stroke-width\":\"2\",\"fill\":\"transparent\"}})}),_c('use',{attrs:{\"xlink:href\":(\"#\" + _vm.gId)}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"values\":(\"0, \" + _vm.x + \" \" + _vm.y + \";360, \" + _vm.x + \" \" + _vm.y),\"dur\":(_vm.scanDur + \"s\"),\"repeatCount\":\"indefinite\"}})],1)],2),_c('div',{staticClass:\"decoration-content\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=1b5d7dd6&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration12 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration12.name, Decoration12)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-2\"},[_c('svg',{attrs:{\"width\":(_vm.width + \"px\"),\"height\":(_vm.height + \"px\")}},[_c('rect',{attrs:{\"x\":_vm.x,\"y\":_vm.y,\"width\":_vm.w,\"height\":_vm.h,\"fill\":_vm.mergedColor[0]}},[_c('animate',{attrs:{\"attributeName\":_vm.reverse ? 'height' : 'width',\"from\":\"0\",\"to\":_vm.reverse ? _vm.height : _vm.width,\"dur\":(_vm.dur + \"s\"),\"calcMode\":\"spline\",\"keyTimes\":\"0;1\",\"keySplines\":\".42,0,.58,1\",\"repeatCount\":\"indefinite\"}})]),_c('rect',{attrs:{\"x\":_vm.x,\"y\":_vm.y,\"width\":\"1\",\"height\":\"1\",\"fill\":_vm.mergedColor[1]}},[_c('animate',{attrs:{\"attributeName\":_vm.reverse ? 'y' : 'x',\"from\":\"0\",\"to\":_vm.reverse ? _vm.height : _vm.width,\"dur\":(_vm.dur + \"s\"),\"calcMode\":\"spline\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.42,0,0.58,1\",\"repeatCount\":\"indefinite\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=dc7f366c&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration2 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration2.name, Decoration2)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-3\"},[_c('svg',{style:((\"transform:scale(\" + (_vm.svgScale[0]) + \",\" + (_vm.svgScale[1]) + \");\")),attrs:{\"width\":((_vm.svgWH[0]) + \"px\"),\"height\":((_vm.svgWH[1]) + \"px\")}},[_vm._l((_vm.points),function(point,i){return [_c('rect',{key:i,attrs:{\"fill\":_vm.mergedColor[0],\"x\":point[0] - _vm.halfPointSideLength,\"y\":point[1] - _vm.halfPointSideLength,\"width\":_vm.pointSideLength,\"height\":_vm.pointSideLength}},[(Math.random() > 0.6)?_c('animate',{attrs:{\"attributeName\":\"fill\",\"values\":(\"\" + (_vm.mergedColor.join(';'))),\"dur\":Math.random() + 1 + 's',\"begin\":Math.random() * 2,\"repeatCount\":\"indefinite\"}}):_vm._e()])]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=455c74d6&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration3 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration3.name, Decoration3)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-4\"},[_c('div',{class:(\"container \" + (_vm.reverse ? 'reverse' : 'normal')),style:(_vm.reverse ? (\"width:\" + _vm.width + \"px;height:5px;animation-duration:\" + _vm.dur + \"s\") : (\"width:5px;height:\" + _vm.height + \"px;animation-duration:\" + _vm.dur + \"s\"))},[_c('svg',{attrs:{\"width\":_vm.reverse ? _vm.width : 5,\"height\":_vm.reverse ? 5 : _vm.height}},[_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"points\":_vm.reverse ? (\"0, 2.5 \" + _vm.width + \", 2.5\") : (\"2.5, 0 2.5, \" + _vm.height)}}),_c('polyline',{staticClass:\"bold-line\",attrs:{\"stroke\":_vm.mergedColor[1],\"stroke-width\":\"3\",\"stroke-dasharray\":\"20, 80\",\"stroke-dashoffset\":\"-30\",\"points\":_vm.reverse ? (\"0, 2.5 \" + _vm.width + \", 2.5\") : (\"2.5, 0 2.5, \" + _vm.height)}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=29f329c8&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration4 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration4.name, Decoration4)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-5\"},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polyline',{attrs:{\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"3\",\"points\":_vm.line1Points}},[_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"attributeType\":\"XML\",\"from\":(\"0, \" + (_vm.line1Length / 2) + \", 0, \" + (_vm.line1Length / 2)),\"to\":(\"0, 0, \" + _vm.line1Length + \", 0\"),\"dur\":(_vm.dur + \"s\"),\"begin\":\"0s\",\"calcMode\":\"spline\",\"keyTimes\":\"0;1\",\"keySplines\":\"0.4,1,0.49,0.98\",\"repeatCount\":\"indefinite\"}})]),_c('polyline',{attrs:{\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[1],\"stroke-width\":\"2\",\"points\":_vm.line2Points}},[_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"attributeType\":\"XML\",\"from\":(\"0, \" + (_vm.line2Length / 2) + \", 0, \" + (_vm.line2Length / 2)),\"to\":(\"0, 0, \" + _vm.line2Length + \", 0\"),\"dur\":(_vm.dur + \"s\"),\"begin\":\"0s\",\"calcMode\":\"spline\",\"keyTimes\":\"0;1\",\"keySplines\":\".4,1,.49,.98\",\"repeatCount\":\"indefinite\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=791c9101&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration5 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration5.name, Decoration5)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-6\"},[_c('svg',{style:((\"transform:scale(\" + (_vm.svgScale[0]) + \",\" + (_vm.svgScale[1]) + \");\")),attrs:{\"width\":((_vm.svgWH[0]) + \"px\"),\"height\":((_vm.svgWH[1]) + \"px\")}},[_vm._l((_vm.points),function(point,i){return [_c('rect',{key:i,attrs:{\"fill\":_vm.mergedColor[Math.random() > 0.5 ? 0 : 1],\"x\":point[0] - _vm.halfRectWidth,\"y\":point[1] - _vm.heights[i] / 2,\"width\":_vm.rectWidth,\"height\":_vm.heights[i]}},[_c('animate',{attrs:{\"attributeName\":\"y\",\"values\":((point[1] - _vm.minHeights[i] / 2) + \";\" + (point[1] - _vm.heights[i] / 2) + \";\" + (point[1] - _vm.minHeights[i] / 2)),\"dur\":((_vm.randoms[i]) + \"s\"),\"keyTimes\":\"0;0.5;1\",\"calcMode\":\"spline\",\"keySplines\":\"0.42,0,0.58,1;0.42,0,0.58,1\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"height\",\"values\":((_vm.minHeights[i]) + \";\" + (_vm.heights[i]) + \";\" + (_vm.minHeights[i])),\"dur\":((_vm.randoms[i]) + \"s\"),\"keyTimes\":\"0;0.5;1\",\"calcMode\":\"spline\",\"keySplines\":\"0.42,0,0.58,1;0.42,0,0.58,1\",\"begin\":\"0s\",\"repeatCount\":\"indefinite\"}})])]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=a9ebb10e&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration6 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration6.name, Decoration6)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dv-decoration-7\"},[_c('svg',{attrs:{\"width\":\"21px\",\"height\":\"20px\"}},[_c('polyline',{attrs:{\"stroke-width\":\"4\",\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[0],\"points\":\"10, 0 19, 10 10, 20\"}}),_c('polyline',{attrs:{\"stroke-width\":\"2\",\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[1],\"points\":\"2, 0 11, 10 2, 20\"}})]),_vm._t(\"default\"),_c('svg',{attrs:{\"width\":\"21px\",\"height\":\"20px\"}},[_c('polyline',{attrs:{\"stroke-width\":\"4\",\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[0],\"points\":\"11, 0 2, 10 11, 20\"}}),_c('polyline',{attrs:{\"stroke-width\":\"2\",\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[1],\"points\":\"19, 0 10, 10 19, 20\"}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=a40c4f44&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration7 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration7.name, Decoration7)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-8\"},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"2\",\"fill\":\"transparent\",\"points\":((_vm.xPos(0)) + \", 0 \" + (_vm.xPos(30)) + \", \" + (_vm.height / 2))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"2\",\"fill\":\"transparent\",\"points\":((_vm.xPos(20)) + \", 0 \" + (_vm.xPos(50)) + \", \" + (_vm.height / 2) + \" \" + (_vm.xPos(_vm.width)) + \", \" + (_vm.height / 2))}}),_c('polyline',{attrs:{\"stroke\":_vm.mergedColor[1],\"fill\":\"transparent\",\"stroke-width\":\"3\",\"points\":((_vm.xPos(0)) + \", \" + (_vm.height - 3) + \", \" + (_vm.xPos(200)) + \", \" + (_vm.height - 3))}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=8cf9c33e&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration8 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration8.name, Decoration8)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-decoration-9\"},[_c('svg',{style:((\"transform:scale(\" + (_vm.svgScale[0]) + \",\" + (_vm.svgScale[1]) + \");\")),attrs:{\"width\":((_vm.svgWH[0]) + \"px\"),\"height\":((_vm.svgWH[1]) + \"px\")}},[_c('defs',[_c('polygon',{attrs:{\"id\":_vm.polygonId,\"points\":\"15, 46.5, 21, 47.5, 21, 52.5, 15, 53.5\"}})]),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"45\",\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[1],\"stroke-width\":\"10\",\"stroke-dasharray\":\"80, 100, 30, 100\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"values\":\"0 50 50;360 50 50\",\"dur\":(_vm.dur + \"s\"),\"repeatCount\":\"indefinite\"}})],1),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"45\",\"fill\":\"transparent\",\"stroke\":_vm.mergedColor[0],\"stroke-width\":\"6\",\"stroke-dasharray\":\"50, 66, 100, 66\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"values\":\"0 50 50;-360 50 50\",\"dur\":(_vm.dur + \"s\"),\"repeatCount\":\"indefinite\"}})],1),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"38\",\"fill\":\"transparent\",\"stroke\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 30),\"stroke-width\":\"1\",\"stroke-dasharray\":\"5, 1\"}}),_vm._l((new Array(20).fill(0)),function(foo,i){return _c('use',{key:i,attrs:{\"xlink:href\":(\"#\" + _vm.polygonId),\"stroke\":_vm.mergedColor[1],\"fill\":Math.random() > 0.4 ? 'transparent' : _vm.mergedColor[0]}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"values\":\"0 50 50;360 50 50\",\"dur\":(_vm.dur + \"s\"),\"begin\":((i * _vm.dur / 20) + \"s\"),\"repeatCount\":\"indefinite\"}})],1)}),_c('circle',{attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"26\",\"fill\":\"transparent\",\"stroke\":_vm.fade(_vm.mergedColor[1] || _vm.defaultColor[1], 30),\"stroke-width\":\"1\",\"stroke-dasharray\":\"5, 1\"}})],2),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=f8ad0d4c&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Decoration9 from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Decoration9.name, Decoration9)\n}\n","import './src/main.css'\nimport DigitalFlop from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(DigitalFlop.name, DigitalFlop)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"dv-flyline-chart\",staticClass:\"dv-flyline-chart\",style:((\"background-image: url(\" + (_vm.mergedConfig ? _vm.mergedConfig.bgImgUrl : '') + \")\")),on:{\"click\":_vm.consoleClickPos}},[(_vm.mergedConfig)?_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('radialGradient',{attrs:{\"id\":_vm.gradientId,\"cx\":\"50%\",\"cy\":\"50%\",\"r\":\"50%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"1\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"0\"}})],1),_c('radialGradient',{attrs:{\"id\":_vm.gradient2Id,\"cx\":\"50%\",\"cy\":\"50%\",\"r\":\"50%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"0\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"1\"}})],1),(_vm.paths[0])?_c('circle',{attrs:{\"id\":(\"circle\" + (_vm.paths[0].toString())),\"cx\":_vm.paths[0][2][0],\"cy\":_vm.paths[0][2][1]}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"values\":(\"1;\" + (_vm.mergedConfig.halo.radius)),\"dur\":_vm.mergedConfig.halo.duration / 10 + 's',\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"1;0\",\"dur\":_vm.mergedConfig.halo.duration / 10 + 's',\"repeatCount\":\"indefinite\"}})]):_vm._e()],1),(_vm.paths[0])?_c('image',{attrs:{\"xlink:href\":_vm.mergedConfig.centerPointImg.url,\"width\":_vm.mergedConfig.centerPointImg.width,\"height\":_vm.mergedConfig.centerPointImg.height,\"x\":_vm.paths[0][2][0] - _vm.mergedConfig.centerPointImg.width / 2,\"y\":_vm.paths[0][2][1] - _vm.mergedConfig.centerPointImg.height / 2}}):_vm._e(),_c('mask',{attrs:{\"id\":(\"maskhalo\" + (_vm.paths[0].toString()))}},[(_vm.paths[0])?_c('use',{attrs:{\"xlink:href\":(\"#circle\" + (_vm.paths[0].toString())),\"fill\":(\"url(#\" + _vm.gradient2Id + \")\")}}):_vm._e()]),(_vm.paths[0] && _vm.mergedConfig.halo.show)?_c('use',{attrs:{\"xlink:href\":(\"#circle\" + (_vm.paths[0].toString())),\"fill\":_vm.mergedConfig.halo.color,\"mask\":(\"url(#maskhalo\" + (_vm.paths[0].toString()) + \")\")}}):_vm._e(),_vm._l((_vm.paths),function(path,i){return _c('g',{key:i},[_c('defs',[_c('path',{ref:(\"path\" + i),refInFor:true,attrs:{\"id\":(\"path\" + (path.toString())),\"d\":(\"M\" + (path[0].toString()) + \" Q\" + (path[1].toString()) + \" \" + (path[2].toString())),\"fill\":\"transparent\"}})]),_c('use',{attrs:{\"xlink:href\":(\"#path\" + (path.toString())),\"stroke-width\":_vm.mergedConfig.lineWidth,\"stroke\":_vm.mergedConfig.orbitColor}}),(_vm.lengths[i])?_c('use',{attrs:{\"xlink:href\":(\"#path\" + (path.toString())),\"stroke-width\":_vm.mergedConfig.lineWidth,\"stroke\":_vm.mergedConfig.flylineColor,\"mask\":(\"url(#mask\" + _vm.unique + (path.toString()) + \")\")}},[_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"from\":(\"0, \" + (_vm.lengths[i])),\"to\":((_vm.lengths[i]) + \", 0\"),\"dur\":_vm.times[i] || 0,\"repeatCount\":\"indefinite\"}})]):_vm._e(),_c('mask',{attrs:{\"id\":(\"mask\" + _vm.unique + (path.toString()))}},[_c('circle',{attrs:{\"cx\":\"0\",\"cy\":\"0\",\"r\":_vm.mergedConfig.flylineRadius,\"fill\":(\"url(#\" + _vm.gradientId + \")\")}},[_c('animateMotion',{attrs:{\"dur\":_vm.times[i] || 0,\"path\":(\"M\" + (path[0].toString()) + \" Q\" + (path[1].toString()) + \" \" + (path[2].toString())),\"rotate\":\"auto\",\"repeatCount\":\"indefinite\"}})],1)]),_c('image',{attrs:{\"xlink:href\":_vm.mergedConfig.pointsImg.url,\"width\":_vm.mergedConfig.pointsImg.width,\"height\":_vm.mergedConfig.pointsImg.height,\"x\":path[0][0] - _vm.mergedConfig.pointsImg.width / 2,\"y\":path[0][1] - _vm.mergedConfig.pointsImg.height / 2}}),_c('text',{style:((\"fontSize:\" + (_vm.mergedConfig.text.fontSize) + \"px;\")),attrs:{\"fill\":_vm.mergedConfig.text.color,\"x\":path[0][0] + _vm.mergedConfig.text.offset[0],\"y\":path[0][1] + _vm.mergedConfig.text.offset[1]}},[_vm._v(\"\\n \"+_vm._s(_vm.texts[i])+\"\\n \")])])})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=54f2d20f&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport FlylineChart from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(FlylineChart.name, FlylineChart)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-flyline-chart-enhanced\",style:((\"background-image: url(\" + (_vm.mergedConfig ? _vm.mergedConfig.bgImgSrc : '') + \")\")),on:{\"click\":_vm.consoleClickPos}},[(_vm.flylines.length)?_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}},[_c('defs',[_c('radialGradient',{attrs:{\"id\":_vm.flylineGradientId,\"cx\":\"50%\",\"cy\":\"50%\",\"r\":\"50%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"1\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"0\"}})],1),_c('radialGradient',{attrs:{\"id\":_vm.haloGradientId,\"cx\":\"50%\",\"cy\":\"50%\",\"r\":\"50%\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"0\"}}),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":\"#fff\",\"stop-opacity\":\"1\"}})],1)],1),_vm._l((_vm.flylinePoints),function(point){return _c('g',{key:point.key + Math.random()},[_c('defs',[(point.halo.show)?_c('circle',{attrs:{\"id\":(\"halo\" + _vm.unique + (point.key)),\"cx\":point.coordinate[0],\"cy\":point.coordinate[1]}},[_c('animate',{attrs:{\"attributeName\":\"r\",\"values\":(\"1;\" + (point.halo.radius)),\"dur\":((point.halo.time) + \"s\"),\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"opacity\",\"values\":\"1;0\",\"dur\":((point.halo.time) + \"s\"),\"repeatCount\":\"indefinite\"}})]):_vm._e()]),_c('mask',{attrs:{\"id\":(\"mask\" + _vm.unique + (point.key))}},[(point.halo.show)?_c('use',{attrs:{\"xlink:href\":(\"#halo\" + _vm.unique + (point.key)),\"fill\":(\"url(#\" + _vm.haloGradientId + \")\")}}):_vm._e()]),(point.halo.show)?_c('use',{attrs:{\"xlink:href\":(\"#halo\" + _vm.unique + (point.key)),\"fill\":point.halo.color,\"mask\":(\"url(#mask\" + _vm.unique + (point.key) + \")\")}}):_vm._e(),(point.icon.show)?_c('image',{attrs:{\"xlink:href\":point.icon.src,\"width\":point.icon.width,\"height\":point.icon.height,\"x\":point.icon.x,\"y\":point.icon.y}}):_vm._e(),(point.text.show)?_c('text',{style:((\"fontSize:\" + (point.text.fontSize) + \"px;color:\" + (point.text.color))),attrs:{\"fill\":point.text.color,\"x\":point.text.x,\"y\":point.text.y}},[_vm._v(\"\\n \"+_vm._s(point.name)+\"\\n \")]):_vm._e()])}),_vm._l((_vm.flylines),function(line,i){return _c('g',{key:line.key + Math.random()},[_c('defs',[_c('path',{ref:line.key,refInFor:true,attrs:{\"id\":line.key,\"d\":line.d,\"fill\":\"transparent\"}})]),_c('use',{attrs:{\"xlink:href\":(\"#\" + (line.key)),\"stroke-width\":line.width,\"stroke\":line.orbitColor}}),_c('mask',{attrs:{\"id\":(\"mask\" + _vm.unique + (line.key))}},[_c('circle',{attrs:{\"cx\":\"0\",\"cy\":\"0\",\"r\":line.radius,\"fill\":(\"url(#\" + _vm.flylineGradientId + \")\")}},[_c('animateMotion',{attrs:{\"dur\":line.time,\"path\":line.d,\"rotate\":\"auto\",\"repeatCount\":\"indefinite\"}})],1)]),(_vm.flylineLengths[i])?_c('use',{attrs:{\"xlink:href\":(\"#\" + (line.key)),\"stroke-width\":line.width,\"stroke\":line.color,\"mask\":(\"url(#mask\" + _vm.unique + (line.key) + \")\")}},[_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"from\":(\"0, \" + (_vm.flylineLengths[i])),\"to\":((_vm.flylineLengths[i]) + \", 0\"),\"dur\":line.time,\"repeatCount\":\"indefinite\"}})]):_vm._e()])})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=600be252&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport FlylineChartEnhanced from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(FlylineChartEnhanced.name, FlylineChartEnhanced)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,attrs:{\"id\":\"dv-full-screen-container\"}},[(_vm.ready)?[_vm._t(\"default\")]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=fe03f55e&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport FullScreenContainer from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(FullScreenContainer.name, FullScreenContainer)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dv-loading\"},[_c('svg',{attrs:{\"width\":\"50px\",\"height\":\"50px\"}},[_c('circle',{attrs:{\"cx\":\"25\",\"cy\":\"25\",\"r\":\"20\",\"fill\":\"transparent\",\"stroke-width\":\"3\",\"stroke-dasharray\":\"31.415, 31.415\",\"stroke\":\"#02bcfe\",\"stroke-linecap\":\"round\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"values\":\"0, 25 25;360, 25 25\",\"dur\":\"1.5s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke\",\"values\":\"#02bcfe;#3be6cb;#02bcfe\",\"dur\":\"3s\",\"repeatCount\":\"indefinite\"}})],1),_c('circle',{attrs:{\"cx\":\"25\",\"cy\":\"25\",\"r\":\"10\",\"fill\":\"transparent\",\"stroke-width\":\"3\",\"stroke-dasharray\":\"15.7, 15.7\",\"stroke\":\"#3be6cb\",\"stroke-linecap\":\"round\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"rotate\",\"values\":\"360, 25 25;0, 25 25\",\"dur\":\"1.5s\",\"repeatCount\":\"indefinite\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke\",\"values\":\"#3be6cb;#02bcfe;#3be6cb\",\"dur\":\"3s\",\"repeatCount\":\"indefinite\"}})],1)]),_c('div',{staticClass:\"loading-tip\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=05f6cd58&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport Loading from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(Loading.name, Loading)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"percent-pond\",staticClass:\"dv-percent-pond\"},[_c('svg',[_c('defs',[_c('linearGradient',{attrs:{\"id\":_vm.gradientId1,\"x1\":\"0%\",\"y1\":\"0%\",\"x2\":\"100%\",\"y2\":\"0%\"}},_vm._l((_vm.linearGradient),function(lc){return _c('stop',{key:lc[0],attrs:{\"offset\":((lc[0]) + \"%\"),\"stop-color\":lc[1]}})}),1),_c('linearGradient',{attrs:{\"id\":_vm.gradientId2,\"x1\":\"0%\",\"y1\":\"0%\",\"x2\":_vm.gradient2XPos,\"y2\":\"0%\"}},_vm._l((_vm.linearGradient),function(lc){return _c('stop',{key:lc[0],attrs:{\"offset\":((lc[0]) + \"%\"),\"stop-color\":lc[1]}})}),1)],1),_c('rect',{attrs:{\"x\":_vm.mergedConfig ? _vm.mergedConfig.borderWidth / 2 : '0',\"y\":_vm.mergedConfig ? _vm.mergedConfig.borderWidth / 2 : '0',\"rx\":_vm.mergedConfig ? _vm.mergedConfig.borderRadius : '0',\"ry\":_vm.mergedConfig ? _vm.mergedConfig.borderRadius : '0',\"fill\":\"transparent\",\"stroke-width\":_vm.mergedConfig ? _vm.mergedConfig.borderWidth : '0',\"stroke\":(\"url(#\" + _vm.gradientId1 + \")\"),\"width\":_vm.rectWidth > 0 ? _vm.rectWidth : 0,\"height\":_vm.rectHeight > 0 ? _vm.rectHeight : 0}}),_c('polyline',{attrs:{\"stroke-width\":_vm.polylineWidth,\"stroke-dasharray\":_vm.mergedConfig ? _vm.mergedConfig.lineDash.join(',') : '0',\"stroke\":(\"url(#\" + _vm.polylineGradient + \")\"),\"points\":_vm.points}}),_c('text',{attrs:{\"stroke\":_vm.mergedConfig ? _vm.mergedConfig.textColor : '#fff',\"fill\":_vm.mergedConfig ? _vm.mergedConfig.textColor : '#fff',\"x\":_vm.width / 2,\"y\":_vm.height / 2}},[_vm._v(\"\\n \"+_vm._s(_vm.details)+\"\\n \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=ea653244&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport PercentPond from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(PercentPond.name, PercentPond)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-scroll-board\"},[(_vm.header.length && _vm.mergedConfig)?_c('div',{staticClass:\"header\",style:((\"background-color: \" + (_vm.mergedConfig.headerBGC) + \";\"))},_vm._l((_vm.header),function(headerItem,i){return _c('div',{key:(\"\" + headerItem + i),staticClass:\"header-item\",style:((\"\\n height: \" + (_vm.mergedConfig.headerHeight) + \"px;\\n line-height: \" + (_vm.mergedConfig.headerHeight) + \"px;\\n width: \" + (_vm.widths[i]) + \"px;\\n \")),attrs:{\"align\":_vm.aligns[i]},domProps:{\"innerHTML\":_vm._s(headerItem)}})}),0):_vm._e(),(_vm.mergedConfig)?_c('div',{staticClass:\"rows\",style:((\"height: \" + (_vm.height - (_vm.header.length ? _vm.mergedConfig.headerHeight : 0)) + \"px;\"))},_vm._l((_vm.rows),function(row,ri){return _c('div',{key:(\"\" + (row.toString()) + (row.scroll)),staticClass:\"row-item\",style:((\"\\n height: \" + (_vm.heights[ri]) + \"px;\\n line-height: \" + (_vm.heights[ri]) + \"px;\\n background-color: \" + (_vm.mergedConfig[row.rowIndex % 2 === 0 ? 'evenRowBGC' : 'oddRowBGC']) + \";\\n \"))},_vm._l((row.ceils),function(ceil,ci){return _c('div',{key:(\"\" + ceil + ri + ci),staticClass:\"ceil\",style:((\"width: \" + (_vm.widths[ci]) + \"px;\")),attrs:{\"align\":_vm.aligns[ci]},domProps:{\"innerHTML\":_vm._s(ceil)},on:{\"click\":function($event){return _vm.emitEvent('click', ri, ci, row, ceil)},\"mouseenter\":function($event){return _vm.handleHover(true, ri, ci, row, ceil)},\"mouseleave\":function($event){return _vm.handleHover(false)}}})}),0)}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=0c0d0428&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport ScrollBoard from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(ScrollBoard.name, ScrollBoard)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:_vm.ref,staticClass:\"dv-scroll-ranking-board\"},_vm._l((_vm.rows),function(item,i){return _c('div',{key:item.toString() + item.scroll,staticClass:\"row-item\",style:((\"height: \" + (_vm.heights[i]) + \"px;\"))},[_c('div',{staticClass:\"ranking-info\"},[_c('div',{staticClass:\"rank\"},[_vm._v(\"No.\"+_vm._s(item.ranking))]),_c('div',{staticClass:\"info-name\",domProps:{\"innerHTML\":_vm._s(item.name)}}),_c('div',{staticClass:\"ranking-value\"},[_vm._v(_vm._s(_vm.mergedConfig.valueFormatter ? _vm.mergedConfig.valueFormatter(item) : item.value + _vm.mergedConfig.unit))])]),_c('div',{staticClass:\"ranking-column\"},[_c('div',{staticClass:\"inside-column\",style:((\"width: \" + (item.percent) + \"%;\"))},[_c('div',{staticClass:\"shine\"})])])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=045d0900&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport ScrollRankingBoard from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(ScrollRankingBoard.name, ScrollRankingBoard)\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dv-water-pond-level\"},[(_vm.renderer)?_c('svg',[_c('defs',[_c('linearGradient',{attrs:{\"id\":_vm.gradientId,\"x1\":\"0%\",\"y1\":\"0%\",\"x2\":\"0%\",\"y2\":\"100%\"}},_vm._l((_vm.svgBorderGradient),function(lc){return _c('stop',{key:lc[0],attrs:{\"offset\":lc[0],\"stop-color\":lc[1]}})}),1)],1),(_vm.renderer)?_c('text',{attrs:{\"stroke\":(\"url(#\" + _vm.gradientId + \")\"),\"fill\":(\"url(#\" + _vm.gradientId + \")\"),\"x\":_vm.renderer.area[0] / 2 + 8,\"y\":_vm.renderer.area[1] / 2 + 8}},[_vm._v(\"\\n \"+_vm._s(_vm.details)+\"\\n \")]):_vm._e(),(!_vm.shape || _vm.shape === 'round')?_c('ellipse',{attrs:{\"cx\":_vm.renderer.area[0] / 2 + 8,\"cy\":_vm.renderer.area[1] / 2 + 8,\"rx\":_vm.renderer.area[0] / 2 + 5,\"ry\":_vm.renderer.area[1] / 2 + 5,\"stroke\":(\"url(#\" + _vm.gradientId + \")\")}}):_c('rect',{attrs:{\"x\":\"2\",\"y\":\"2\",\"rx\":_vm.shape === 'roundRect' ? 10 : 0,\"ry\":_vm.shape === 'roundRect' ? 10 : 0,\"width\":_vm.renderer.area[0] + 12,\"height\":_vm.renderer.area[1] + 12,\"stroke\":(\"url(#\" + _vm.gradientId + \")\")}})]):_vm._e(),_c('canvas',{ref:\"water-pond-level\",style:((\"border-radius: \" + _vm.radius + \";\"))})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--12-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../cache-loader/dist/cjs.js??ref--0-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=fde64310&\"\nimport script from \"./main.vue?vue&type=script&lang=js&\"\nexport * from \"./main.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './src/main.css'\nimport WaterLevelPond from './src/main.vue'\n\nexport default function (Vue) {\n Vue.component(WaterLevelPond.name, WaterLevelPond)\n}\n","/**\n * EXPORT COMPONENTS\n */\nexport { default as activeRingChart } from './components/activeRingChart/index'\nexport { default as borderBox1 } from './components/borderBox1/index'\nexport { default as borderBox10 } from './components/borderBox10/index'\nexport { default as borderBox11 } from './components/borderBox11/index'\nexport { default as borderBox12 } from './components/borderBox12/index'\nexport { default as borderBox13 } from './components/borderBox13/index'\nexport { default as borderBox2 } from './components/borderBox2/index'\nexport { default as borderBox3 } from './components/borderBox3/index'\nexport { default as borderBox4 } from './components/borderBox4/index'\nexport { default as borderBox5 } from './components/borderBox5/index'\nexport { default as borderBox6 } from './components/borderBox6/index'\nexport { default as borderBox7 } from './components/borderBox7/index'\nexport { default as borderBox8 } from './components/borderBox8/index'\nexport { default as borderBox9 } from './components/borderBox9/index'\nexport { default as capsuleChart } from './components/capsuleChart/index'\nexport { default as charts } from './components/charts/index'\nexport { default as conicalColumnChart } from './components/conicalColumnChart/index'\nexport { default as decoration1 } from './components/decoration1/index'\nexport { default as decoration10 } from './components/decoration10/index'\nexport { default as decoration11 } from './components/decoration11/index'\nexport { default as decoration12 } from './components/decoration12/index'\nexport { default as decoration2 } from './components/decoration2/index'\nexport { default as decoration3 } from './components/decoration3/index'\nexport { default as decoration4 } from './components/decoration4/index'\nexport { default as decoration5 } from './components/decoration5/index'\nexport { default as decoration6 } from './components/decoration6/index'\nexport { default as decoration7 } from './components/decoration7/index'\nexport { default as decoration8 } from './components/decoration8/index'\nexport { default as decoration9 } from './components/decoration9/index'\nexport { default as digitalFlop } from './components/digitalFlop/index'\nexport { default as flylineChart } from './components/flylineChart/index'\nexport { default as flylineChartEnhanced } from './components/flylineChartEnhanced/index'\nexport { default as fullScreenContainer } from './components/fullScreenContainer/index'\nexport { default as loading } from './components/loading/index'\nexport { default as percentPond } from './components/percentPond/index'\nexport { default as scrollBoard } from './components/scrollBoard/index'\nexport { default as scrollRankingBoard } from './components/scrollRankingBoard/index'\nexport { default as waterLevelPond } from './components/waterLevelPond/index'\n/**\n * IMPORT COMPONENTS\n */\nimport fullScreenContainer from './components/fullScreenContainer/index'\nimport loading from './components/loading/index'\n\n// border box\nimport borderBox1 from './components/borderBox1/index'\nimport borderBox2 from './components/borderBox2/index'\nimport borderBox3 from './components/borderBox3/index'\nimport borderBox4 from './components/borderBox4/index'\nimport borderBox5 from './components/borderBox5/index'\nimport borderBox6 from './components/borderBox6/index'\nimport borderBox7 from './components/borderBox7/index'\nimport borderBox8 from './components/borderBox8/index'\nimport borderBox9 from './components/borderBox9/index'\nimport borderBox10 from './components/borderBox10/index'\nimport borderBox11 from './components/borderBox11/index'\nimport borderBox12 from './components/borderBox12/index'\nimport borderBox13 from './components/borderBox13/index'\n\n// decoration\nimport decoration1 from './components/decoration1/index'\nimport decoration2 from './components/decoration2/index'\nimport decoration3 from './components/decoration3/index'\nimport decoration4 from './components/decoration4/index'\nimport decoration5 from './components/decoration5/index'\nimport decoration6 from './components/decoration6/index'\nimport decoration7 from './components/decoration7/index'\nimport decoration8 from './components/decoration8/index'\nimport decoration9 from './components/decoration9/index'\nimport decoration10 from './components/decoration10/index'\nimport decoration11 from './components/decoration11/index'\nimport decoration12 from './components/decoration12/index'\n\n// charts\nimport charts from './components/charts/index'\n\nimport activeRingChart from './components/activeRingChart'\nimport capsuleChart from './components/capsuleChart'\nimport waterLevelPond from './components/waterLevelPond/index'\nimport percentPond from './components/percentPond/index'\nimport flylineChart from './components/flylineChart'\nimport flylineChartEnhanced from './components/flylineChartEnhanced'\nimport conicalColumnChart from './components/conicalColumnChart'\nimport digitalFlop from './components/digitalFlop'\nimport scrollBoard from './components/scrollBoard/index'\nimport scrollRankingBoard from './components/scrollRankingBoard/index'\n\n/**\n * USE COMPONENTS\n */\nexport default function (Vue) {\n Vue.use(fullScreenContainer)\n Vue.use(loading)\n\n // border box\n Vue.use(borderBox1)\n Vue.use(borderBox2)\n Vue.use(borderBox3)\n Vue.use(borderBox4)\n Vue.use(borderBox5)\n Vue.use(borderBox6)\n Vue.use(borderBox7)\n Vue.use(borderBox8)\n Vue.use(borderBox9)\n Vue.use(borderBox10)\n Vue.use(borderBox11)\n Vue.use(borderBox12)\n Vue.use(borderBox13)\n\n // decoration\n Vue.use(decoration1)\n Vue.use(decoration2)\n Vue.use(decoration3)\n Vue.use(decoration4)\n Vue.use(decoration5)\n Vue.use(decoration6)\n Vue.use(decoration7)\n Vue.use(decoration8)\n Vue.use(decoration9)\n Vue.use(decoration10)\n Vue.use(decoration11)\n Vue.use(decoration12)\n\n // charts\n Vue.use(charts)\n\n Vue.use(activeRingChart)\n Vue.use(capsuleChart)\n Vue.use(waterLevelPond)\n Vue.use(percentPond)\n Vue.use(flylineChart)\n Vue.use(flylineChartEnhanced)\n Vue.use(conicalColumnChart)\n Vue.use(digitalFlop)\n Vue.use(scrollBoard)\n Vue.use(scrollRankingBoard)\n}\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Model = require(\"./Model\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassManagement = _clazz.enableClassManagement;\nvar parseClassType = _clazz.parseClassType;\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar layout = require(\"../util/layout\");\n\nvar boxLayoutMixin = require(\"./mixin/boxLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Component model\n *\n * @module echarts/model/Component\n */\nvar inner = makeInner();\n/**\n * @alias module:echarts/model/Component\n * @constructor\n * @param {Object} option\n * @param {module:echarts/model/Model} parentModel\n * @param {module:echarts/model/Model} ecModel\n */\n\nvar ComponentModel = Model.extend({\n type: 'component',\n\n /**\n * @readOnly\n * @type {string}\n */\n id: '',\n\n /**\n * Because simplified concept is probably better, series.name (or component.name)\n * has been having too many resposibilities:\n * (1) Generating id (which requires name in option should not be modified).\n * (2) As an index to mapping series when merging option or calling API (a name\n * can refer to more then one components, which is convinient is some case).\n * (3) Display.\n * @readOnly\n */\n name: '',\n\n /**\n * @readOnly\n * @type {string}\n */\n mainType: '',\n\n /**\n * @readOnly\n * @type {string}\n */\n subType: '',\n\n /**\n * @readOnly\n * @type {number}\n */\n componentIndex: 0,\n\n /**\n * @type {Object}\n * @protected\n */\n defaultOption: null,\n\n /**\n * @type {module:echarts/model/Global}\n * @readOnly\n */\n ecModel: null,\n\n /**\n * key: componentType\n * value: Component model list, can not be null.\n * @type {Object.>}\n * @readOnly\n */\n dependentModels: [],\n\n /**\n * @type {string}\n * @readOnly\n */\n uid: null,\n\n /**\n * Support merge layout params.\n * Only support 'box' now (left/right/top/bottom/width/height).\n * @type {string|Object} Object can be {ignoreSize: true}\n * @readOnly\n */\n layoutMode: null,\n $constructor: function (option, parentModel, ecModel, extraOpt) {\n Model.call(this, option, parentModel, ecModel, extraOpt);\n this.uid = componentUtil.getUID('ec_cpt_model');\n },\n init: function (option, parentModel, ecModel, extraOpt) {\n this.mergeDefaultAndTheme(option, ecModel);\n },\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? layout.getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n zrUtil.merge(option, themeModel.get(this.mainType));\n zrUtil.merge(option, this.getDefaultOption());\n\n if (layoutMode) {\n layout.mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n mergeOption: function (option, extraOpt) {\n zrUtil.merge(this.option, option, true);\n var layoutMode = this.layoutMode;\n\n if (layoutMode) {\n layout.mergeLayoutParam(this.option, option, layoutMode);\n }\n },\n // Hooker after init or mergeOption\n optionUpdated: function (newCptOption, isInit) {},\n getDefaultOption: function () {\n var fields = inner(this);\n\n if (!fields.defaultOption) {\n var optList = [];\n var Class = this.constructor;\n\n while (Class) {\n var opt = Class.prototype.defaultOption;\n opt && optList.push(opt);\n Class = Class.superClass;\n }\n\n var defaultOption = {};\n\n for (var i = optList.length - 1; i >= 0; i--) {\n defaultOption = zrUtil.merge(defaultOption, optList[i], true);\n }\n\n fields.defaultOption = defaultOption;\n }\n\n return fields.defaultOption;\n },\n getReferringComponents: function (mainType) {\n return this.ecModel.queryComponents({\n mainType: mainType,\n index: this.get(mainType + 'Index', true),\n id: this.get(mainType + 'Id', true)\n });\n }\n}); // Reset ComponentModel.extend, add preConstruct.\n// clazzUtil.enableClassExtend(\n// ComponentModel,\n// function (option, parentModel, ecModel, extraOpt) {\n// // Set dependentModels, componentIndex, name, id, mainType, subType.\n// zrUtil.extend(this, extraOpt);\n// this.uid = componentUtil.getUID('componentModel');\n// // this.setReadOnly([\n// // 'type', 'id', 'uid', 'name', 'mainType', 'subType',\n// // 'dependentModels', 'componentIndex'\n// // ]);\n// }\n// );\n// Add capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nenableClassManagement(ComponentModel, {\n registerWhenExtend: true\n});\ncomponentUtil.enableSubTypeDefaulter(ComponentModel); // Add capability of ComponentModel.topologicalTravel.\n\ncomponentUtil.enableTopologicalTravel(ComponentModel, getDependencies);\n\nfunction getDependencies(componentType) {\n var deps = [];\n zrUtil.each(ComponentModel.getClassesByMainType(componentType), function (Clazz) {\n deps = deps.concat(Clazz.prototype.dependencies || []);\n }); // Ensure main type.\n\n deps = zrUtil.map(deps, function (type) {\n return parseClassType(type).main;\n }); // Hack dataset for convenience.\n\n if (componentType !== 'dataset' && zrUtil.indexOf(deps, 'dataset') <= 0) {\n deps.unshift('dataset');\n }\n\n return deps;\n}\n\nzrUtil.mixin(ComponentModel, boxLayoutMixin);\nvar _default = ComponentModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar Transformable = require(\"zrender/lib/mixin/Transformable\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Simple view coordinate system\n * Mapping given x, y to transformd view x, y\n */\nvar v2ApplyTransform = vector.applyTransform; // Dummy transform node\n\nfunction TransformDummy() {\n Transformable.call(this);\n}\n\nzrUtil.mixin(TransformDummy, Transformable);\n\nfunction View(name) {\n /**\n * @type {string}\n */\n this.name = name;\n /**\n * @type {Object}\n */\n\n this.zoomLimit;\n Transformable.call(this);\n this._roamTransformable = new TransformDummy();\n this._rawTransformable = new TransformDummy();\n this._center;\n this._zoom;\n}\n\nView.prototype = {\n constructor: View,\n type: 'view',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['x', 'y'],\n\n /**\n * Set bounding rect\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n // PENDING to getRect\n setBoundingRect: function (x, y, width, height) {\n this._rect = new BoundingRect(x, y, width, height);\n return this._rect;\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n // PENDING to getRect\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n setViewRect: function (x, y, width, height) {\n this.transformTo(x, y, width, height);\n this._viewRect = new BoundingRect(x, y, width, height);\n },\n\n /**\n * Transformed to particular position and size\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var rawTransform = this._rawTransformable;\n rawTransform.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransform.decomposeTransform();\n\n this._updateTransform();\n },\n\n /**\n * Set center of view\n * @param {Array.} [centerCoord]\n */\n setCenter: function (centerCoord) {\n if (!centerCoord) {\n return;\n }\n\n this._center = centerCoord;\n\n this._updateCenterAndZoom();\n },\n\n /**\n * @param {number} zoom\n */\n setZoom: function (zoom) {\n zoom = zoom || 1;\n var zoomLimit = this.zoomLimit;\n\n if (zoomLimit) {\n if (zoomLimit.max != null) {\n zoom = Math.min(zoomLimit.max, zoom);\n }\n\n if (zoomLimit.min != null) {\n zoom = Math.max(zoomLimit.min, zoom);\n }\n }\n\n this._zoom = zoom;\n\n this._updateCenterAndZoom();\n },\n\n /**\n * Get default center without roam\n */\n getDefaultCenter: function () {\n // Rect before any transform\n var rawRect = this.getBoundingRect();\n var cx = rawRect.x + rawRect.width / 2;\n var cy = rawRect.y + rawRect.height / 2;\n return [cx, cy];\n },\n getCenter: function () {\n return this._center || this.getDefaultCenter();\n },\n getZoom: function () {\n return this._zoom || 1;\n },\n\n /**\n * @return {Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n var transform = noRoam ? this._rawTransform : this.transform;\n out = out || [];\n return transform ? v2ApplyTransform(out, data, transform) : vector.copy(out, data);\n },\n\n /**\n * Convert a (x, y) point to (lon, lat) data\n * @param {Array.} point\n * @return {Array.}\n */\n pointToData: function (point) {\n var invTransform = this.invTransform;\n return invTransform ? v2ApplyTransform([], point, invTransform) : [point[0], point[1]];\n },\n\n /**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n containPoint: function (point) {\n return this.getViewRectAfterRoam().contain(point[0], point[1]);\n }\n /**\n * @return {number}\n */\n // getScalarScale: function () {\n // // Use determinant square root of transform to mutiply scalar\n // var m = this.transform;\n // var det = Math.sqrt(Math.abs(m[0] * m[3] - m[2] * m[1]));\n // return det;\n // }\n\n};\nzrUtil.mixin(View, Transformable);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var seriesModel = finder.seriesModel;\n var coordSys = seriesModel ? seriesModel.coordinateSystem : null; // e.g., graph.\n\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = View;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar SymbolClz = require(\"../helper/Symbol\");\n\nvar _layoutHelper = require(\"./layoutHelper\");\n\nvar radialCoordinate = _layoutHelper.radialCoordinate;\n\nvar echarts = require(\"../../echarts\");\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\nvar View = require(\"../../coord/View\");\n\nvar roamHelper = require(\"../../component/helper/roamHelper\");\n\nvar RoamController = require(\"../../component/helper/RoamController\");\n\nvar _cursorHelper = require(\"../../component/helper/cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar TreeShape = graphic.extendShape({\n shape: {\n parentPoint: [],\n childPoints: [],\n orient: '',\n forkPosition: ''\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n var childPoints = shape.childPoints;\n var childLen = childPoints.length;\n var parentPoint = shape.parentPoint;\n var firstChildPos = childPoints[0];\n var lastChildPos = childPoints[childLen - 1];\n\n if (childLen === 1) {\n ctx.moveTo(parentPoint[0], parentPoint[1]);\n ctx.lineTo(firstChildPos[0], firstChildPos[1]);\n return;\n }\n\n var orient = shape.orient;\n var forkDim = orient === 'TB' || orient === 'BT' ? 0 : 1;\n var otherDim = 1 - forkDim;\n var forkPosition = parsePercent(shape.forkPosition, 1);\n var tmpPoint = [];\n tmpPoint[forkDim] = parentPoint[forkDim];\n tmpPoint[otherDim] = parentPoint[otherDim] + (lastChildPos[otherDim] - parentPoint[otherDim]) * forkPosition;\n ctx.moveTo(parentPoint[0], parentPoint[1]);\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n ctx.moveTo(firstChildPos[0], firstChildPos[1]);\n tmpPoint[forkDim] = firstChildPos[forkDim];\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n tmpPoint[forkDim] = lastChildPos[forkDim];\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n ctx.lineTo(lastChildPos[0], lastChildPos[1]);\n\n for (var i = 1; i < childLen - 1; i++) {\n var point = childPoints[i];\n ctx.moveTo(point[0], point[1]);\n tmpPoint[forkDim] = point[forkDim];\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n }\n }\n});\n\nvar _default = echarts.extendChartView({\n type: 'tree',\n\n /**\n * Init the chart\n * @override\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n init: function (ecModel, api) {\n /**\n * @private\n * @type {module:echarts/data/Tree}\n */\n this._oldTree;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this._mainGroup = new graphic.Group();\n /**\n * @private\n * @type {module:echarts/componet/helper/RoamController}\n */\n\n this._controller = new RoamController(api.getZr());\n this._controllerHost = {\n target: this.group\n };\n this.group.add(this._mainGroup);\n },\n render: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var layoutInfo = seriesModel.layoutInfo;\n var group = this._mainGroup;\n var layout = seriesModel.get('layout');\n\n if (layout === 'radial') {\n group.attr('position', [layoutInfo.x + layoutInfo.width / 2, layoutInfo.y + layoutInfo.height / 2]);\n } else {\n group.attr('position', [layoutInfo.x, layoutInfo.y]);\n }\n\n this._updateViewCoordSys(seriesModel, layoutInfo, layout);\n\n this._updateController(seriesModel, ecModel, api);\n\n var oldData = this._data;\n var seriesScope = {\n expandAndCollapse: seriesModel.get('expandAndCollapse'),\n layout: layout,\n edgeShape: seriesModel.get('edgeShape'),\n edgeForkPosition: seriesModel.get('edgeForkPosition'),\n orient: seriesModel.getOrient(),\n curvature: seriesModel.get('lineStyle.curveness'),\n symbolRotate: seriesModel.get('symbolRotate'),\n symbolOffset: seriesModel.get('symbolOffset'),\n hoverAnimation: seriesModel.get('hoverAnimation'),\n useNameLabel: true,\n fadeIn: true\n };\n data.diff(oldData).add(function (newIdx) {\n if (symbolNeedsDraw(data, newIdx)) {\n // Create node and edge\n updateNode(data, newIdx, null, group, seriesModel, seriesScope);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx);\n\n if (!symbolNeedsDraw(data, newIdx)) {\n symbolEl && removeNode(oldData, oldIdx, symbolEl, group, seriesModel, seriesScope);\n return;\n } // Update node and edge\n\n\n updateNode(data, newIdx, symbolEl, group, seriesModel, seriesScope);\n }).remove(function (oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx); // When remove a collapsed node of subtree, since the collapsed\n // node haven't been initialized with a symbol element,\n // you can't found it's symbol element through index.\n // so if we want to remove the symbol element we should insure\n // that the symbol element is not null.\n\n if (symbolEl) {\n removeNode(oldData, oldIdx, symbolEl, group, seriesModel, seriesScope);\n }\n }).execute();\n this._nodeScaleRatio = seriesModel.get('nodeScaleRatio');\n\n this._updateNodeAndLinkScale(seriesModel);\n\n if (seriesScope.expandAndCollapse === true) {\n data.eachItemGraphicEl(function (el, dataIndex) {\n el.off('click').on('click', function () {\n api.dispatchAction({\n type: 'treeExpandAndCollapse',\n seriesId: seriesModel.id,\n dataIndex: dataIndex\n });\n });\n });\n }\n\n this._data = data;\n },\n _updateViewCoordSys: function (seriesModel) {\n var data = seriesModel.getData();\n var points = [];\n data.each(function (idx) {\n var layout = data.getItemLayout(idx);\n\n if (layout && !isNaN(layout.x) && !isNaN(layout.y)) {\n points.push([+layout.x, +layout.y]);\n }\n });\n var min = [];\n var max = [];\n bbox.fromPoints(points, min, max); // If don't Store min max when collapse the root node after roam,\n // the root node will disappear.\n\n var oldMin = this._min;\n var oldMax = this._max; // If width or height is 0\n\n if (max[0] - min[0] === 0) {\n min[0] = oldMin ? oldMin[0] : min[0] - 1;\n max[0] = oldMax ? oldMax[0] : max[0] + 1;\n }\n\n if (max[1] - min[1] === 0) {\n min[1] = oldMin ? oldMin[1] : min[1] - 1;\n max[1] = oldMax ? oldMax[1] : max[1] + 1;\n }\n\n var viewCoordSys = seriesModel.coordinateSystem = new View();\n viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n viewCoordSys.setBoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n viewCoordSys.setCenter(seriesModel.get('center'));\n viewCoordSys.setZoom(seriesModel.get('zoom')); // Here we use viewCoordSys just for computing the 'position' and 'scale' of the group\n\n this.group.attr({\n position: viewCoordSys.position,\n scale: viewCoordSys.scale\n });\n this._viewCoordSys = viewCoordSys;\n this._min = min;\n this._max = max;\n },\n _updateController: function (seriesModel, ecModel, api) {\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n var group = this.group;\n controller.setPointerChecker(function (e, x, y) {\n var rect = group.getBoundingRect();\n rect.applyTransform(group.transform);\n return rect.contain(x, y) && !onIrrelevantElement(e, api, seriesModel);\n });\n controller.enable(seriesModel.get('roam'));\n controllerHost.zoomLimit = seriesModel.get('scaleLimit');\n controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\n controller.off('pan').off('zoom').on('pan', function (e) {\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'treeRoam',\n dx: e.dx,\n dy: e.dy\n });\n }, this).on('zoom', function (e) {\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'treeRoam',\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n });\n\n this._updateNodeAndLinkScale(seriesModel);\n }, this);\n },\n _updateNodeAndLinkScale: function (seriesModel) {\n var data = seriesModel.getData();\n\n var nodeScale = this._getNodeGlobalScale(seriesModel);\n\n var invScale = [nodeScale, nodeScale];\n data.eachItemGraphicEl(function (el, idx) {\n el.attr('scale', invScale);\n });\n },\n _getNodeGlobalScale: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type !== 'view') {\n return 1;\n }\n\n var nodeScaleRatio = this._nodeScaleRatio;\n var groupScale = coordSys.scale;\n var groupZoom = groupScale && groupScale[0] || 1; // Scale node when zoom changes\n\n var roamZoom = coordSys.getZoom();\n var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;\n return nodeScale / groupZoom;\n },\n dispose: function () {\n this._controller && this._controller.dispose();\n this._controllerHost = {};\n },\n remove: function () {\n this._mainGroup.removeAll();\n\n this._data = null;\n }\n});\n\nfunction symbolNeedsDraw(data, dataIndex) {\n var layout = data.getItemLayout(dataIndex);\n return layout && !isNaN(layout.x) && !isNaN(layout.y) && data.getItemVisual(dataIndex, 'symbol') !== 'none';\n}\n\nfunction getTreeNodeStyle(node, itemModel, seriesScope) {\n seriesScope.itemModel = itemModel;\n seriesScope.itemStyle = itemModel.getModel('itemStyle').getItemStyle();\n seriesScope.hoverItemStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n seriesScope.lineStyle = itemModel.getModel('lineStyle').getLineStyle();\n seriesScope.labelModel = itemModel.getModel('label');\n seriesScope.hoverLabelModel = itemModel.getModel('emphasis.label');\n\n if (node.isExpand === false && node.children.length !== 0) {\n seriesScope.symbolInnerColor = seriesScope.itemStyle.fill;\n } else {\n seriesScope.symbolInnerColor = '#fff';\n }\n\n return seriesScope;\n}\n\nfunction updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) {\n var isInit = !symbolEl;\n var node = data.tree.getNodeByDataIndex(dataIndex);\n var itemModel = node.getModel();\n var seriesScope = getTreeNodeStyle(node, itemModel, seriesScope);\n var virtualRoot = data.tree.root;\n var source = node.parentNode === virtualRoot ? node : node.parentNode || node;\n var sourceSymbolEl = data.getItemGraphicEl(source.dataIndex);\n var sourceLayout = source.getLayout();\n var sourceOldLayout = sourceSymbolEl ? {\n x: sourceSymbolEl.position[0],\n y: sourceSymbolEl.position[1],\n rawX: sourceSymbolEl.__radialOldRawX,\n rawY: sourceSymbolEl.__radialOldRawY\n } : sourceLayout;\n var targetLayout = node.getLayout();\n\n if (isInit) {\n symbolEl = new SymbolClz(data, dataIndex, seriesScope);\n symbolEl.attr('position', [sourceOldLayout.x, sourceOldLayout.y]);\n } else {\n symbolEl.updateData(data, dataIndex, seriesScope);\n }\n\n symbolEl.__radialOldRawX = symbolEl.__radialRawX;\n symbolEl.__radialOldRawY = symbolEl.__radialRawY;\n symbolEl.__radialRawX = targetLayout.rawX;\n symbolEl.__radialRawY = targetLayout.rawY;\n group.add(symbolEl);\n data.setItemGraphicEl(dataIndex, symbolEl);\n graphic.updateProps(symbolEl, {\n position: [targetLayout.x, targetLayout.y]\n }, seriesModel);\n var symbolPath = symbolEl.getSymbolPath();\n\n if (seriesScope.layout === 'radial') {\n var realRoot = virtualRoot.children[0];\n var rootLayout = realRoot.getLayout();\n var length = realRoot.children.length;\n var rad;\n var isLeft;\n\n if (targetLayout.x === rootLayout.x && node.isExpand === true) {\n var center = {};\n center.x = (realRoot.children[0].getLayout().x + realRoot.children[length - 1].getLayout().x) / 2;\n center.y = (realRoot.children[0].getLayout().y + realRoot.children[length - 1].getLayout().y) / 2;\n rad = Math.atan2(center.y - rootLayout.y, center.x - rootLayout.x);\n\n if (rad < 0) {\n rad = Math.PI * 2 + rad;\n }\n\n isLeft = center.x < rootLayout.x;\n\n if (isLeft) {\n rad = rad - Math.PI;\n }\n } else {\n rad = Math.atan2(targetLayout.y - rootLayout.y, targetLayout.x - rootLayout.x);\n\n if (rad < 0) {\n rad = Math.PI * 2 + rad;\n }\n\n if (node.children.length === 0 || node.children.length !== 0 && node.isExpand === false) {\n isLeft = targetLayout.x < rootLayout.x;\n\n if (isLeft) {\n rad = rad - Math.PI;\n }\n } else {\n isLeft = targetLayout.x > rootLayout.x;\n\n if (!isLeft) {\n rad = rad - Math.PI;\n }\n }\n }\n\n var textPosition = isLeft ? 'left' : 'right';\n var rotate = seriesScope.labelModel.get('rotate');\n var labelRotateRadian = rotate * (Math.PI / 180);\n symbolPath.setStyle({\n textPosition: seriesScope.labelModel.get('position') || textPosition,\n textRotation: rotate == null ? -rad : labelRotateRadian,\n textOrigin: 'center',\n verticalAlign: 'middle'\n });\n }\n\n drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group, seriesScope);\n}\n\nfunction drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group, seriesScope) {\n var edgeShape = seriesScope.edgeShape;\n var edge = symbolEl.__edge;\n\n if (edgeShape === 'curve') {\n if (node.parentNode && node.parentNode !== virtualRoot) {\n if (!edge) {\n edge = symbolEl.__edge = new graphic.BezierCurve({\n shape: getEdgeShape(seriesScope, sourceOldLayout, sourceOldLayout),\n style: zrUtil.defaults({\n opacity: 0,\n strokeNoScale: true\n }, seriesScope.lineStyle)\n });\n }\n\n graphic.updateProps(edge, {\n shape: getEdgeShape(seriesScope, sourceLayout, targetLayout),\n style: zrUtil.defaults({\n opacity: 1\n }, seriesScope.lineStyle)\n }, seriesModel);\n }\n } else if (edgeShape === 'polyline') {\n if (seriesScope.layout === 'orthogonal') {\n if (node !== virtualRoot && node.children && node.children.length !== 0 && node.isExpand === true) {\n var children = node.children;\n var childPoints = [];\n\n for (var i = 0; i < children.length; i++) {\n var childLayout = children[i].getLayout();\n childPoints.push([childLayout.x, childLayout.y]);\n }\n\n if (!edge) {\n edge = symbolEl.__edge = new TreeShape({\n shape: {\n parentPoint: [targetLayout.x, targetLayout.y],\n childPoints: [[targetLayout.x, targetLayout.y]],\n orient: seriesScope.orient,\n forkPosition: seriesScope.edgeForkPosition\n },\n style: zrUtil.defaults({\n opacity: 0,\n strokeNoScale: true\n }, seriesScope.lineStyle)\n });\n }\n\n graphic.updateProps(edge, {\n shape: {\n parentPoint: [targetLayout.x, targetLayout.y],\n childPoints: childPoints\n },\n style: zrUtil.defaults({\n opacity: 1\n }, seriesScope.lineStyle)\n }, seriesModel);\n }\n } else {}\n }\n\n group.add(edge);\n}\n\nfunction removeNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) {\n var node = data.tree.getNodeByDataIndex(dataIndex);\n var virtualRoot = data.tree.root;\n var itemModel = node.getModel();\n var seriesScope = getTreeNodeStyle(node, itemModel, seriesScope);\n var source = node.parentNode === virtualRoot ? node : node.parentNode || node;\n var edgeShape = seriesScope.edgeShape;\n var sourceLayout;\n\n while (sourceLayout = source.getLayout(), sourceLayout == null) {\n source = source.parentNode === virtualRoot ? source : source.parentNode || source;\n }\n\n graphic.updateProps(symbolEl, {\n position: [sourceLayout.x + 1, sourceLayout.y + 1]\n }, seriesModel, function () {\n group.remove(symbolEl);\n data.setItemGraphicEl(dataIndex, null);\n });\n symbolEl.fadeOut(null, {\n keepLabel: true\n });\n var sourceSymbolEl = data.getItemGraphicEl(source.dataIndex);\n var sourceEdge = sourceSymbolEl.__edge; // 1. when expand the sub tree, delete the children node should delete the edge of\n // the source at the same time. because the polyline edge shape is only owned by the source.\n // 2.when the node is the only children of the source, delete the node should delete the edge of\n // the source at the same time. the same reason as above.\n\n var edge = symbolEl.__edge || (source.isExpand === false || source.children.length === 1 ? sourceEdge : undefined);\n var edgeShape = seriesScope.edgeShape;\n\n if (edge) {\n if (edgeShape === 'curve') {\n graphic.updateProps(edge, {\n shape: getEdgeShape(seriesScope, sourceLayout, sourceLayout),\n style: {\n opacity: 0\n }\n }, seriesModel, function () {\n group.remove(edge);\n });\n } else if (edgeShape === 'polyline' && seriesScope.layout === 'orthogonal') {\n graphic.updateProps(edge, {\n shape: {\n parentPoint: [sourceLayout.x, sourceLayout.y],\n childPoints: [[sourceLayout.x, sourceLayout.y]]\n },\n style: {\n opacity: 0\n }\n }, seriesModel, function () {\n group.remove(edge);\n });\n }\n }\n}\n\nfunction getEdgeShape(seriesScope, sourceLayout, targetLayout) {\n var cpx1;\n var cpy1;\n var cpx2;\n var cpy2;\n var orient = seriesScope.orient;\n var x1;\n var x2;\n var y1;\n var y2;\n\n if (seriesScope.layout === 'radial') {\n x1 = sourceLayout.rawX;\n y1 = sourceLayout.rawY;\n x2 = targetLayout.rawX;\n y2 = targetLayout.rawY;\n var radialCoor1 = radialCoordinate(x1, y1);\n var radialCoor2 = radialCoordinate(x1, y1 + (y2 - y1) * seriesScope.curvature);\n var radialCoor3 = radialCoordinate(x2, y2 + (y1 - y2) * seriesScope.curvature);\n var radialCoor4 = radialCoordinate(x2, y2);\n return {\n x1: radialCoor1.x,\n y1: radialCoor1.y,\n x2: radialCoor4.x,\n y2: radialCoor4.y,\n cpx1: radialCoor2.x,\n cpy1: radialCoor2.y,\n cpx2: radialCoor3.x,\n cpy2: radialCoor3.y\n };\n } else {\n x1 = sourceLayout.x;\n y1 = sourceLayout.y;\n x2 = targetLayout.x;\n y2 = targetLayout.y;\n\n if (orient === 'LR' || orient === 'RL') {\n cpx1 = x1 + (x2 - x1) * seriesScope.curvature;\n cpy1 = y1;\n cpx2 = x2 + (x1 - x2) * seriesScope.curvature;\n cpy2 = y2;\n }\n\n if (orient === 'TB' || orient === 'BT') {\n cpx1 = x1;\n cpy1 = y1 + (y2 - y1) * seriesScope.curvature;\n cpx2 = x2;\n cpy2 = y2 + (y1 - y2) * seriesScope.curvature;\n }\n }\n\n return {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n cpx1: cpx1,\n cpy1: cpy1,\n cpx2: cpx2,\n cpy2: cpy2\n };\n}\n\nmodule.exports = _default;","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","/**\n * @module zrender/core/util\n */\n// 用于处理merge时无法遍历Date等对象的问题\nvar BUILTIN_OBJECT = {\n '[object Function]': 1,\n '[object RegExp]': 1,\n '[object Date]': 1,\n '[object Error]': 1,\n '[object CanvasGradient]': 1,\n '[object CanvasPattern]': 1,\n // For node-canvas\n '[object Image]': 1,\n '[object Canvas]': 1\n};\nvar TYPED_ARRAY = {\n '[object Int8Array]': 1,\n '[object Uint8Array]': 1,\n '[object Uint8ClampedArray]': 1,\n '[object Int16Array]': 1,\n '[object Uint16Array]': 1,\n '[object Int32Array]': 1,\n '[object Uint32Array]': 1,\n '[object Float32Array]': 1,\n '[object Float64Array]': 1\n};\nvar objToString = Object.prototype.toString;\nvar arrayProto = Array.prototype;\nvar nativeForEach = arrayProto.forEach;\nvar nativeFilter = arrayProto.filter;\nvar nativeSlice = arrayProto.slice;\nvar nativeMap = arrayProto.map;\nvar nativeReduce = arrayProto.reduce; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n // Clear ctx instance for different environment\n if (name === 'createCanvas') {\n _ctx = null;\n }\n\n methods[name] = fn;\n}\n/**\n * Those data types can be cloned:\n * Plain object, Array, TypedArray, number, string, null, undefined.\n * Those data types will be assgined using the orginal data:\n * BUILTIN_OBJECT\n * Instance of user defined class will be cloned to a plain object, without\n * properties in prototype.\n * Other data types is not supported (not sure what will happen).\n *\n * Caution: do not support clone Date, for performance consideration.\n * (There might be a large number of date in `series.data`).\n * So date should not be modified in and out of echarts.\n *\n * @param {*} source\n * @return {*} new\n */\n\n\nfunction clone(source) {\n if (source == null || typeof source !== 'object') {\n return source;\n }\n\n var result = source;\n var typeStr = objToString.call(source);\n\n if (typeStr === '[object Array]') {\n if (!isPrimitive(source)) {\n result = [];\n\n for (var i = 0, len = source.length; i < len; i++) {\n result[i] = clone(source[i]);\n }\n }\n } else if (TYPED_ARRAY[typeStr]) {\n if (!isPrimitive(source)) {\n var Ctor = source.constructor;\n\n if (source.constructor.from) {\n result = Ctor.from(source);\n } else {\n result = new Ctor(source.length);\n\n for (var i = 0, len = source.length; i < len; i++) {\n result[i] = clone(source[i]);\n }\n }\n }\n } else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && !isDom(source)) {\n result = {};\n\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n result[key] = clone(source[key]);\n }\n }\n }\n\n return result;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} target\n * @param {*} source\n * @param {boolean} [overwrite=false]\n */\n\n\nfunction merge(target, source, overwrite) {\n // We should escapse that source is string\n // and enter for ... in ...\n if (!isObject(source) || !isObject(target)) {\n return overwrite ? clone(source) : target;\n }\n\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n var targetProp = target[key];\n var sourceProp = source[key];\n\n if (isObject(sourceProp) && isObject(targetProp) && !isArray(sourceProp) && !isArray(targetProp) && !isDom(sourceProp) && !isDom(targetProp) && !isBuiltInObject(sourceProp) && !isBuiltInObject(targetProp) && !isPrimitive(sourceProp) && !isPrimitive(targetProp)) {\n // 如果需要递归覆盖,就递归调用merge\n merge(targetProp, sourceProp, overwrite);\n } else if (overwrite || !(key in target)) {\n // 否则只处理overwrite为true,或者在目标对象中没有此属性的情况\n // NOTE,在 target[key] 不存在的时候也是直接覆盖\n target[key] = clone(source[key], true);\n }\n }\n }\n\n return target;\n}\n/**\n * @param {Array} targetAndSources The first item is target, and the rests are source.\n * @param {boolean} [overwrite=false]\n * @return {*} target\n */\n\n\nfunction mergeAll(targetAndSources, overwrite) {\n var result = targetAndSources[0];\n\n for (var i = 1, len = targetAndSources.length; i < len; i++) {\n result = merge(result, targetAndSources[i], overwrite);\n }\n\n return result;\n}\n/**\n * @param {*} target\n * @param {*} source\n * @memberOf module:zrender/core/util\n */\n\n\nfunction extend(target, source) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n\n return target;\n}\n/**\n * @param {*} target\n * @param {*} source\n * @param {boolean} [overlay=false]\n * @memberOf module:zrender/core/util\n */\n\n\nfunction defaults(target, source, overlay) {\n for (var key in source) {\n if (source.hasOwnProperty(key) && (overlay ? source[key] != null : target[key] == null)) {\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar createCanvas = function () {\n return methods.createCanvas();\n};\n\nmethods.createCanvas = function () {\n return document.createElement('canvas');\n}; // FIXME\n\n\nvar _ctx;\n\nfunction getContext() {\n if (!_ctx) {\n // Use util.createCanvas instead of createCanvas\n // because createCanvas may be overwritten in different environment\n _ctx = createCanvas().getContext('2d');\n }\n\n return _ctx;\n}\n/**\n * 查询数组中元素的index\n * @memberOf module:zrender/core/util\n */\n\n\nfunction indexOf(array, value) {\n if (array) {\n if (array.indexOf) {\n return array.indexOf(value);\n }\n\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n }\n\n return -1;\n}\n/**\n * 构造类继承关系\n *\n * @memberOf module:zrender/core/util\n * @param {Function} clazz 源类\n * @param {Function} baseClazz 基类\n */\n\n\nfunction inherits(clazz, baseClazz) {\n var clazzPrototype = clazz.prototype;\n\n function F() {}\n\n F.prototype = baseClazz.prototype;\n clazz.prototype = new F();\n\n for (var prop in clazzPrototype) {\n if (clazzPrototype.hasOwnProperty(prop)) {\n clazz.prototype[prop] = clazzPrototype[prop];\n }\n }\n\n clazz.prototype.constructor = clazz;\n clazz.superClass = baseClazz;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Object|Function} target\n * @param {Object|Function} sorce\n * @param {boolean} overlay\n */\n\n\nfunction mixin(target, source, overlay) {\n target = 'prototype' in target ? target.prototype : target;\n source = 'prototype' in source ? source.prototype : source;\n defaults(target, source, overlay);\n}\n/**\n * Consider typed array.\n * @param {Array|TypedArray} data\n */\n\n\nfunction isArrayLike(data) {\n if (!data) {\n return;\n }\n\n if (typeof data === 'string') {\n return false;\n }\n\n return typeof data.length === 'number';\n}\n/**\n * 数组或对象遍历\n * @memberOf module:zrender/core/util\n * @param {Object|Array} obj\n * @param {Function} cb\n * @param {*} [context]\n */\n\n\nfunction each(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.forEach && obj.forEach === nativeForEach) {\n obj.forEach(cb, context);\n } else if (obj.length === +obj.length) {\n for (var i = 0, len = obj.length; i < len; i++) {\n cb.call(context, obj[i], i, obj);\n }\n } else {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n cb.call(context, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * 数组映射\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {*} [context]\n * @return {Array}\n */\n\n\nfunction map(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.map && obj.map === nativeMap) {\n return obj.map(cb, context);\n } else {\n var result = [];\n\n for (var i = 0, len = obj.length; i < len; i++) {\n result.push(cb.call(context, obj[i], i, obj));\n }\n\n return result;\n }\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {Object} [memo]\n * @param {*} [context]\n * @return {Array}\n */\n\n\nfunction reduce(obj, cb, memo, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.reduce && obj.reduce === nativeReduce) {\n return obj.reduce(cb, memo, context);\n } else {\n for (var i = 0, len = obj.length; i < len; i++) {\n memo = cb.call(context, memo, obj[i], i, obj);\n }\n\n return memo;\n }\n}\n/**\n * 数组过滤\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {*} [context]\n * @return {Array}\n */\n\n\nfunction filter(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.filter && obj.filter === nativeFilter) {\n return obj.filter(cb, context);\n } else {\n var result = [];\n\n for (var i = 0, len = obj.length; i < len; i++) {\n if (cb.call(context, obj[i], i, obj)) {\n result.push(obj[i]);\n }\n }\n\n return result;\n }\n}\n/**\n * 数组项查找\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {*} [context]\n * @return {*}\n */\n\n\nfunction find(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n for (var i = 0, len = obj.length; i < len; i++) {\n if (cb.call(context, obj[i], i, obj)) {\n return obj[i];\n }\n }\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Function} func\n * @param {*} context\n * @return {Function}\n */\n\n\nfunction bind(func, context) {\n var args = nativeSlice.call(arguments, 2);\n return function () {\n return func.apply(context, args.concat(nativeSlice.call(arguments)));\n };\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Function} func\n * @return {Function}\n */\n\n\nfunction curry(func) {\n var args = nativeSlice.call(arguments, 1);\n return function () {\n return func.apply(this, args.concat(nativeSlice.call(arguments)));\n };\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isArray(value) {\n return objToString.call(value) === '[object Array]';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isString(value) {\n return objToString.call(value) === '[object String]';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return type === 'function' || !!value && type === 'object';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isBuiltInObject(value) {\n return !!BUILTIN_OBJECT[objToString.call(value)];\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isTypedArray(value) {\n return !!TYPED_ARRAY[objToString.call(value)];\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isDom(value) {\n return typeof value === 'object' && typeof value.nodeType === 'number' && typeof value.ownerDocument === 'object';\n}\n/**\n * Whether is exactly NaN. Notice isNaN('a') returns true.\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction eqNaN(value) {\n /* eslint-disable-next-line no-self-compare */\n return value !== value;\n}\n/**\n * If value1 is not null, then return value1, otherwise judget rest of values.\n * Low performance.\n * @memberOf module:zrender/core/util\n * @return {*} Final value\n */\n\n\nfunction retrieve(values) {\n for (var i = 0, len = arguments.length; i < len; i++) {\n if (arguments[i] != null) {\n return arguments[i];\n }\n }\n}\n\nfunction retrieve2(value0, value1) {\n return value0 != null ? value0 : value1;\n}\n\nfunction retrieve3(value0, value1, value2) {\n return value0 != null ? value0 : value1 != null ? value1 : value2;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Array} arr\n * @param {number} startIndex\n * @param {number} endIndex\n * @return {Array}\n */\n\n\nfunction slice() {\n return Function.call.apply(nativeSlice, arguments);\n}\n/**\n * Normalize css liked array configuration\n * e.g.\n * 3 => [3, 3, 3, 3]\n * [4, 2] => [4, 2, 4, 2]\n * [4, 3, 2] => [4, 3, 2, 3]\n * @param {number|Array.} val\n * @return {Array.}\n */\n\n\nfunction normalizeCssArray(val) {\n if (typeof val === 'number') {\n return [val, val, val, val];\n }\n\n var len = val.length;\n\n if (len === 2) {\n // vertical | horizontal\n return [val[0], val[1], val[0], val[1]];\n } else if (len === 3) {\n // top | horizontal | bottom\n return [val[0], val[1], val[2], val[1]];\n }\n\n return val;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {boolean} condition\n * @param {string} message\n */\n\n\nfunction assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {string} str string to be trimed\n * @return {string} trimed string\n */\n\n\nfunction trim(str) {\n if (str == null) {\n return null;\n } else if (typeof str.trim === 'function') {\n return str.trim();\n } else {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n}\n\nvar primitiveKey = '__ec_primitive__';\n/**\n * Set an object as primitive to be ignored traversing children in clone or merge\n */\n\nfunction setAsPrimitive(obj) {\n obj[primitiveKey] = true;\n}\n\nfunction isPrimitive(obj) {\n return obj[primitiveKey];\n}\n/**\n * @constructor\n * @param {Object} obj Only apply `ownProperty`.\n */\n\n\nfunction HashMap(obj) {\n var isArr = isArray(obj); // Key should not be set on this, otherwise\n // methods get/set/... may be overrided.\n\n this.data = {};\n var thisMap = this;\n obj instanceof HashMap ? obj.each(visit) : obj && each(obj, visit);\n\n function visit(value, key) {\n isArr ? thisMap.set(value, key) : thisMap.set(key, value);\n }\n}\n\nHashMap.prototype = {\n constructor: HashMap,\n // Do not provide `has` method to avoid defining what is `has`.\n // (We usually treat `null` and `undefined` as the same, different\n // from ES6 Map).\n get: function (key) {\n return this.data.hasOwnProperty(key) ? this.data[key] : null;\n },\n set: function (key, value) {\n // Comparing with invocation chaining, `return value` is more commonly\n // used in this case: `var someVal = map.set('a', genVal());`\n return this.data[key] = value;\n },\n // Although util.each can be performed on this hashMap directly, user\n // should not use the exposed keys, who are prefixed.\n each: function (cb, context) {\n context !== void 0 && (cb = bind(cb, context));\n /* eslint-disable guard-for-in */\n\n for (var key in this.data) {\n this.data.hasOwnProperty(key) && cb(this.data[key], key);\n }\n /* eslint-enable guard-for-in */\n\n },\n // Do not use this method if performance sensitive.\n removeKey: function (key) {\n delete this.data[key];\n }\n};\n\nfunction createHashMap(obj) {\n return new HashMap(obj);\n}\n\nfunction concatArray(a, b) {\n var newArray = new a.constructor(a.length + b.length);\n\n for (var i = 0; i < a.length; i++) {\n newArray[i] = a[i];\n }\n\n var offset = a.length;\n\n for (i = 0; i < b.length; i++) {\n newArray[i + offset] = b[i];\n }\n\n return newArray;\n}\n\nfunction noop() {}\n\nexports.$override = $override;\nexports.clone = clone;\nexports.merge = merge;\nexports.mergeAll = mergeAll;\nexports.extend = extend;\nexports.defaults = defaults;\nexports.createCanvas = createCanvas;\nexports.getContext = getContext;\nexports.indexOf = indexOf;\nexports.inherits = inherits;\nexports.mixin = mixin;\nexports.isArrayLike = isArrayLike;\nexports.each = each;\nexports.map = map;\nexports.reduce = reduce;\nexports.filter = filter;\nexports.find = find;\nexports.bind = bind;\nexports.curry = curry;\nexports.isArray = isArray;\nexports.isFunction = isFunction;\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isBuiltInObject = isBuiltInObject;\nexports.isTypedArray = isTypedArray;\nexports.isDom = isDom;\nexports.eqNaN = eqNaN;\nexports.retrieve = retrieve;\nexports.retrieve2 = retrieve2;\nexports.retrieve3 = retrieve3;\nexports.slice = slice;\nexports.normalizeCssArray = normalizeCssArray;\nexports.assert = assert;\nexports.trim = trim;\nexports.setAsPrimitive = setAsPrimitive;\nexports.isPrimitive = isPrimitive;\nexports.createHashMap = createHashMap;\nexports.concatArray = concatArray;\nexports.noop = noop;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Traverse the tree from bottom to top and do something\n * @param {module:echarts/data/Tree~TreeNode} root The real root of the tree\n * @param {Function} callback\n */\nfunction eachAfter(root, callback, separation) {\n var nodes = [root];\n var next = [];\n var node;\n\n while (node = nodes.pop()) {\n // jshint ignore:line\n next.push(node);\n\n if (node.isExpand) {\n var children = node.children;\n\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n nodes.push(children[i]);\n }\n }\n }\n }\n\n while (node = next.pop()) {\n // jshint ignore:line\n callback(node, separation);\n }\n}\n/**\n * Traverse the tree from top to bottom and do something\n * @param {module:echarts/data/Tree~TreeNode} root The real root of the tree\n * @param {Function} callback\n */\n\n\nfunction eachBefore(root, callback) {\n var nodes = [root];\n var node;\n\n while (node = nodes.pop()) {\n // jshint ignore:line\n callback(node);\n\n if (node.isExpand) {\n var children = node.children;\n\n if (children.length) {\n for (var i = children.length - 1; i >= 0; i--) {\n nodes.push(children[i]);\n }\n }\n }\n }\n}\n\nexports.eachAfter = eachAfter;\nexports.eachBefore = eachBefore;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.lineConfig = void 0;\nvar lineConfig = {\n /**\n * @description Whether to display this line chart\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Legend name\n * @type {String}\n * @default name = ''\n */\n name: '',\n\n /**\n * @description Data stacking\n * The data value of the series element of the same stack\n * will be superimposed (the latter value will be superimposed on the previous value)\n * @type {String}\n * @default stack = ''\n */\n stack: '',\n\n /**\n * @description Smooth line\n * @type {Boolean}\n * @default smooth = false\n */\n smooth: false,\n\n /**\n * @description Line x axis index\n * @type {Number}\n * @default xAxisIndex = 0\n * @example xAxisIndex = 0 | 1\n */\n xAxisIndex: 0,\n\n /**\n * @description Line y axis index\n * @type {Number}\n * @default yAxisIndex = 0\n * @example yAxisIndex = 0 | 1\n */\n yAxisIndex: 0,\n\n /**\n * @description Line chart data\n * @type {Array}\n * @default data = []\n * @example data = [100, 200, 300]\n */\n data: [],\n\n /**\n * @description Line default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n lineStyle: {\n lineWidth: 1\n },\n\n /**\n * @description Line point configuration\n * @type {Object}\n */\n linePoint: {\n /**\n * @description Whether to display line point\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Line point radius\n * @type {Number}\n * @default radius = 2\n */\n radius: 2,\n\n /**\n * @description Line point default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fill: '#fff',\n lineWidth: 1\n }\n },\n\n /**\n * @description Line area configuration\n * @type {Object}\n */\n lineArea: {\n /**\n * @description Whether to display line area\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Line area gradient color (Hex|rgb|rgba)\n * @type {Array}\n * @default gradient = []\n */\n gradient: [],\n\n /**\n * @description Line area style default configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n opacity: 0.5\n }\n },\n\n /**\n * @description Line label configuration\n * @type {Object}\n */\n label: {\n /**\n * @description Whether to display line label\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Line label position\n * @type {String}\n * @default position = 'top'\n * @example position = 'top' | 'center' | 'bottom'\n */\n position: 'top',\n\n /**\n * @description Line label offset\n * @type {Array}\n * @default offset = [0, -10]\n */\n offset: [0, -10],\n\n /**\n * @description Line label formatter\n * @type {String|Function}\n * @default formatter = null\n * @example formatter = '{value}件'\n * @example formatter = (dataItem) => (dataItem.value)\n */\n formatter: null,\n\n /**\n * @description Line label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fontSize: 10\n }\n },\n\n /**\n * @description Line chart render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = 10\n */\n rLevel: 10,\n\n /**\n * @description Line animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description Line animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrame: 50\n};\nexports.lineConfig = lineConfig;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar ATTR = '\\0_ec_hist_store';\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} newSnapshot {dataZoomId, batch: [payloadInfo, ...]}\n */\n\nfunction push(ecModel, newSnapshot) {\n var store = giveStore(ecModel); // If previous dataZoom can not be found,\n // complete an range with current range.\n\n each(newSnapshot, function (batchItem, dataZoomId) {\n var i = store.length - 1;\n\n for (; i >= 0; i--) {\n var snapshot = store[i];\n\n if (snapshot[dataZoomId]) {\n break;\n }\n }\n\n if (i < 0) {\n // No origin range set, create one by current range.\n var dataZoomModel = ecModel.queryComponents({\n mainType: 'dataZoom',\n subType: 'select',\n id: dataZoomId\n })[0];\n\n if (dataZoomModel) {\n var percentRange = dataZoomModel.getPercentRange();\n store[0][dataZoomId] = {\n dataZoomId: dataZoomId,\n start: percentRange[0],\n end: percentRange[1]\n };\n }\n }\n });\n store.push(newSnapshot);\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} snapshot\n */\n\n\nfunction pop(ecModel) {\n var store = giveStore(ecModel);\n var head = store[store.length - 1];\n store.length > 1 && store.pop(); // Find top for all dataZoom.\n\n var snapshot = {};\n each(head, function (batchItem, dataZoomId) {\n for (var i = store.length - 1; i >= 0; i--) {\n var batchItem = store[i][dataZoomId];\n\n if (batchItem) {\n snapshot[dataZoomId] = batchItem;\n break;\n }\n }\n });\n return snapshot;\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction clear(ecModel) {\n ecModel[ATTR] = null;\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n * @return {number} records. always >= 1.\n */\n\n\nfunction count(ecModel) {\n return giveStore(ecModel).length;\n}\n/**\n * [{key: dataZoomId, value: {dataZoomId, range}}, ...]\n * History length of each dataZoom may be different.\n * this._history[0] is used to store origin range.\n * @type {Array.}\n */\n\n\nfunction giveStore(ecModel) {\n var store = ecModel[ATTR];\n\n if (!store) {\n store = ecModel[ATTR] = [{}];\n }\n\n return store;\n}\n\nexports.push = push;\nexports.pop = pop;\nexports.clear = clear;\nexports.count = count;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Data selectable mixin for chart series.\n * To eanble data select, option of series must have `selectedMode`.\n * And each data item will use `selected` to toggle itself selected status\n */\nvar _default = {\n /**\n * @param {Array.} targetList [{name, value, selected}, ...]\n * If targetList is an array, it should like [{name: ..., value: ...}, ...].\n * If targetList is a \"List\", it must have coordDim: 'value' dimension and name.\n */\n updateSelectedMap: function (targetList) {\n this._targetList = zrUtil.isArray(targetList) ? targetList.slice() : [];\n this._selectTargetMap = zrUtil.reduce(targetList || [], function (targetMap, target) {\n targetMap.set(target.name, target);\n return targetMap;\n }, zrUtil.createHashMap());\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n // PENGING If selectedMode is null ?\n select: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name);\n var selectedMode = this.get('selectedMode');\n\n if (selectedMode === 'single') {\n this._selectTargetMap.each(function (target) {\n target.selected = false;\n });\n }\n\n target && (target.selected = true);\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n unSelect: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name); // var selectedMode = this.get('selectedMode');\n // selectedMode !== 'single' && target && (target.selected = false);\n\n target && (target.selected = false);\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n toggleSelected: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name);\n\n if (target != null) {\n this[target.selected ? 'unSelect' : 'select'](name, id);\n return target.selected;\n }\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n isSelected: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name);\n return target && target.selected;\n }\n};\nmodule.exports = _default;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar defaultOption = {\n show: true,\n zlevel: 0,\n z: 0,\n // Inverse the axis.\n inverse: false,\n // Axis name displayed.\n name: '',\n // 'start' | 'middle' | 'end'\n nameLocation: 'end',\n // By degree. By default auto rotate by nameLocation.\n nameRotate: null,\n nameTruncate: {\n maxWidth: null,\n ellipsis: '...',\n placeholder: '.'\n },\n // Use global text style by default.\n nameTextStyle: {},\n // The gap between axisName and axisLine.\n nameGap: 15,\n // Default `false` to support tooltip.\n silent: false,\n // Default `false` to avoid legacy user event listener fail.\n triggerEvent: false,\n tooltip: {\n show: false\n },\n axisPointer: {},\n axisLine: {\n show: true,\n onZero: true,\n onZeroAxisIndex: null,\n lineStyle: {\n color: '#333',\n width: 1,\n type: 'solid'\n },\n // The arrow at both ends the the axis.\n symbol: ['none', 'none'],\n symbolSize: [10, 15]\n },\n axisTick: {\n show: true,\n // Whether axisTick is inside the grid or outside the grid.\n inside: false,\n // The length of axisTick.\n length: 5,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n // Whether axisLabel is inside the grid or outside the grid.\n inside: false,\n rotate: 0,\n // true | false | null/undefined (auto)\n showMinLabel: null,\n // true | false | null/undefined (auto)\n showMaxLabel: null,\n margin: 8,\n // formatter: null,\n fontSize: 12\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)']\n }\n }\n};\nvar axisDefault = {};\naxisDefault.categoryAxis = zrUtil.merge({\n // The gap at both ends of the axis. For categoryAxis, boolean.\n boundaryGap: true,\n // Set false to faster category collection.\n // Only usefull in the case like: category is\n // ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // null means \"auto\":\n // if axis.data provided, do not deduplication,\n // else do deduplication.\n deduplication: null,\n // splitArea: {\n // show: false\n // },\n splitLine: {\n show: false\n },\n axisTick: {\n // If tick is align with label when boundaryGap is true\n alignWithLabel: false,\n interval: 'auto'\n },\n axisLabel: {\n interval: 'auto'\n }\n}, defaultOption);\naxisDefault.valueAxis = zrUtil.merge({\n // The gap at both ends of the axis. For value axis, [GAP, GAP], where\n // `GAP` can be an absolute pixel number (like `35`), or percent (like `'30%'`)\n boundaryGap: [0, 0],\n // TODO\n // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n // Min value of the axis. can be:\n // + a number\n // + 'dataMin': use the min value in data.\n // + null/undefined: auto decide min value (consider pretty look and boundaryGap).\n // min: null,\n // Max value of the axis. can be:\n // + a number\n // + 'dataMax': use the max value in data.\n // + null/undefined: auto decide max value (consider pretty look and boundaryGap).\n // max: null,\n // Readonly prop, specifies start value of the range when using data zoom.\n // rangeStart: null\n // Readonly prop, specifies end value of the range when using data zoom.\n // rangeEnd: null\n // Optional value can be:\n // + `false`: always include value 0.\n // + `true`: the extent do not consider value 0.\n // scale: false,\n // AxisTick and axisLabel and splitLine are caculated based on splitNumber.\n splitNumber: 5,\n // Interval specifies the span of the ticks is mandatorily.\n // interval: null\n // Specify min interval when auto calculate tick interval.\n // minInterval: null\n // Specify max interval when auto calculate tick interval.\n // maxInterval: null\n minorTick: {\n // Minor tick, not available for cateogry axis.\n show: false,\n // Split number of minor ticks. The value should be in range of (0, 100)\n splitNumber: 5,\n // Lenght of minor tick\n length: 3,\n // Same inside with axisTick\n // Line style\n lineStyle: {// Default to be same with axisTick\n }\n },\n minorSplitLine: {\n show: false,\n lineStyle: {\n color: '#eee',\n width: 1\n }\n }\n}, defaultOption);\naxisDefault.timeAxis = zrUtil.defaults({\n scale: true,\n min: 'dataMin',\n max: 'dataMax'\n}, axisDefault.valueAxis);\naxisDefault.logAxis = zrUtil.defaults({\n scale: true,\n logBase: 10\n}, axisDefault.valueAxis);\nvar _default = axisDefault;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('themeRiver', function (seriesModel) {\n var data = seriesModel.getData();\n var rawData = seriesModel.getRawData();\n var colorList = seriesModel.get('color');\n var idxMap = createHashMap();\n data.each(function (idx) {\n idxMap.set(data.getRawIndex(idx), idx);\n });\n rawData.each(function (rawIndex) {\n var name = rawData.getName(rawIndex);\n var color = colorList[(seriesModel.nameMap.get(name) - 1) % colorList.length];\n rawData.setItemVisual(rawIndex, 'color', color);\n var idx = idxMap.get(rawIndex);\n\n if (idx != null) {\n data.setItemVisual(idx, 'color', color);\n }\n });\n });\n}\n\nmodule.exports = _default;","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatten');\n","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _ariaUtils = require('./aria-utils');\n\nvar _ariaUtils2 = _interopRequireDefault(_ariaUtils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @constructor\n * @desc Dialog object providing modal focus management.\n *\n * Assumptions: The element serving as the dialog container is present in the\n * DOM and hidden. The dialog container has role='dialog'.\n *\n * @param dialogId\n * The ID of the element serving as the dialog container.\n * @param focusAfterClosed\n * Either the DOM node or the ID of the DOM node to focus when the\n * dialog closes.\n * @param focusFirst\n * Optional parameter containing either the DOM node or the ID of the\n * DOM node to focus when the dialog opens. If not specified, the\n * first focusable element in the dialog will receive focus.\n */\nvar aria = aria || {};\nvar tabEvent;\n\naria.Dialog = function (dialog, focusAfterClosed, focusFirst) {\n var _this = this;\n\n this.dialogNode = dialog;\n if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') {\n throw new Error('Dialog() requires a DOM element with ARIA role of dialog.');\n }\n\n if (typeof focusAfterClosed === 'string') {\n this.focusAfterClosed = document.getElementById(focusAfterClosed);\n } else if ((typeof focusAfterClosed === 'undefined' ? 'undefined' : _typeof(focusAfterClosed)) === 'object') {\n this.focusAfterClosed = focusAfterClosed;\n } else {\n this.focusAfterClosed = null;\n }\n\n if (typeof focusFirst === 'string') {\n this.focusFirst = document.getElementById(focusFirst);\n } else if ((typeof focusFirst === 'undefined' ? 'undefined' : _typeof(focusFirst)) === 'object') {\n this.focusFirst = focusFirst;\n } else {\n this.focusFirst = null;\n }\n\n if (this.focusFirst) {\n this.focusFirst.focus();\n } else {\n _ariaUtils2.default.focusFirstDescendant(this.dialogNode);\n }\n\n this.lastFocus = document.activeElement;\n tabEvent = function tabEvent(e) {\n _this.trapFocus(e);\n };\n this.addListeners();\n};\n\naria.Dialog.prototype.addListeners = function () {\n document.addEventListener('focus', tabEvent, true);\n};\n\naria.Dialog.prototype.removeListeners = function () {\n document.removeEventListener('focus', tabEvent, true);\n};\n\naria.Dialog.prototype.closeDialog = function () {\n var _this2 = this;\n\n this.removeListeners();\n if (this.focusAfterClosed) {\n setTimeout(function () {\n _this2.focusAfterClosed.focus();\n });\n }\n};\n\naria.Dialog.prototype.trapFocus = function (event) {\n if (_ariaUtils2.default.IgnoreUtilFocusChanges) {\n return;\n }\n if (this.dialogNode.contains(event.target)) {\n this.lastFocus = event.target;\n } else {\n _ariaUtils2.default.focusFirstDescendant(this.dialogNode);\n if (this.lastFocus === document.activeElement) {\n _ariaUtils2.default.focusLastDescendant(this.dialogNode);\n }\n this.lastFocus = document.activeElement;\n }\n};\n\nexports.default = aria.Dialog;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar List = require(\"../../data/List\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar concatArray = _util.concatArray;\nvar mergeAll = _util.mergeAll;\nvar map = _util.map;\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Uint32Array, Float64Array, Float32Array */\nvar Uint32Arr = typeof Uint32Array === 'undefined' ? Array : Uint32Array;\nvar Float64Arr = typeof Float64Array === 'undefined' ? Array : Float64Array;\n\nfunction compatEc2(seriesOpt) {\n var data = seriesOpt.data;\n\n if (data && data[0] && data[0][0] && data[0][0].coord) {\n seriesOpt.data = map(data, function (itemOpt) {\n var coords = [itemOpt[0].coord, itemOpt[1].coord];\n var target = {\n coords: coords\n };\n\n if (itemOpt[0].name) {\n target.fromName = itemOpt[0].name;\n }\n\n if (itemOpt[1].name) {\n target.toName = itemOpt[1].name;\n }\n\n return mergeAll([target, itemOpt[0], itemOpt[1]]);\n });\n }\n}\n\nvar LinesSeries = SeriesModel.extend({\n type: 'series.lines',\n dependencies: ['grid', 'polar'],\n visualColorAccessPath: 'lineStyle.color',\n init: function (option) {\n // The input data may be null/undefined.\n option.data = option.data || []; // Not using preprocessor because mergeOption may not have series.type\n\n compatEc2(option);\n\n var result = this._processFlatCoordsArray(option.data);\n\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n\n if (result.flatCoords) {\n option.data = new Float32Array(result.count);\n }\n\n LinesSeries.superApply(this, 'init', arguments);\n },\n mergeOption: function (option) {\n compatEc2(option);\n\n if (option.data) {\n // Only update when have option data to merge.\n var result = this._processFlatCoordsArray(option.data);\n\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n\n if (result.flatCoords) {\n option.data = new Float32Array(result.count);\n }\n }\n\n LinesSeries.superApply(this, 'mergeOption', arguments);\n },\n appendData: function (params) {\n var result = this._processFlatCoordsArray(params.data);\n\n if (result.flatCoords) {\n if (!this._flatCoords) {\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n } else {\n this._flatCoords = concatArray(this._flatCoords, result.flatCoords);\n this._flatCoordsOffset = concatArray(this._flatCoordsOffset, result.flatCoordsOffset);\n }\n\n params.data = new Float32Array(result.count);\n }\n\n this.getRawData().appendData(params.data);\n },\n _getCoordsFromItemModel: function (idx) {\n var itemModel = this.getData().getItemModel(idx);\n var coords = itemModel.option instanceof Array ? itemModel.option : itemModel.getShallow('coords');\n return coords;\n },\n getLineCoordsCount: function (idx) {\n if (this._flatCoordsOffset) {\n return this._flatCoordsOffset[idx * 2 + 1];\n } else {\n return this._getCoordsFromItemModel(idx).length;\n }\n },\n getLineCoords: function (idx, out) {\n if (this._flatCoordsOffset) {\n var offset = this._flatCoordsOffset[idx * 2];\n var len = this._flatCoordsOffset[idx * 2 + 1];\n\n for (var i = 0; i < len; i++) {\n out[i] = out[i] || [];\n out[i][0] = this._flatCoords[offset + i * 2];\n out[i][1] = this._flatCoords[offset + i * 2 + 1];\n }\n\n return len;\n } else {\n var coords = this._getCoordsFromItemModel(idx);\n\n for (var i = 0; i < coords.length; i++) {\n out[i] = out[i] || [];\n out[i][0] = coords[i][0];\n out[i][1] = coords[i][1];\n }\n\n return coords.length;\n }\n },\n _processFlatCoordsArray: function (data) {\n var startOffset = 0;\n\n if (this._flatCoords) {\n startOffset = this._flatCoords.length;\n } // Stored as a typed array. In format\n // Points Count(2) | x | y | x | y | Points Count(3) | x | y | x | y | x | y |\n\n\n if (typeof data[0] === 'number') {\n var len = data.length; // Store offset and len of each segment\n\n var coordsOffsetAndLenStorage = new Uint32Arr(len);\n var coordsStorage = new Float64Arr(len);\n var coordsCursor = 0;\n var offsetCursor = 0;\n var dataCount = 0;\n\n for (var i = 0; i < len;) {\n dataCount++;\n var count = data[i++]; // Offset\n\n coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset; // Len\n\n coordsOffsetAndLenStorage[offsetCursor++] = count;\n\n for (var k = 0; k < count; k++) {\n var x = data[i++];\n var y = data[i++];\n coordsStorage[coordsCursor++] = x;\n coordsStorage[coordsCursor++] = y;\n\n if (i > len) {}\n }\n }\n\n return {\n flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),\n flatCoords: coordsStorage,\n count: dataCount\n };\n }\n\n return {\n flatCoordsOffset: null,\n flatCoords: null,\n count: data.length\n };\n },\n getInitialData: function (option, ecModel) {\n var lineData = new List(['value'], this);\n lineData.hasItemOption = false;\n lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {\n // dataItem is simply coords\n if (dataItem instanceof Array) {\n return NaN;\n } else {\n lineData.hasItemOption = true;\n var value = dataItem.value;\n\n if (value != null) {\n return value instanceof Array ? value[dimIndex] : value;\n }\n }\n });\n return lineData;\n },\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var itemModel = data.getItemModel(dataIndex);\n var name = itemModel.get('name');\n\n if (name) {\n return name;\n }\n\n var fromName = itemModel.get('fromName');\n var toName = itemModel.get('toName');\n var html = [];\n fromName != null && html.push(fromName);\n toName != null && html.push(toName);\n return encodeHTML(html.join(' > '));\n },\n preventIncremental: function () {\n return !!this.get('effect.show');\n },\n getProgressive: function () {\n var progressive = this.option.progressive;\n\n if (progressive == null) {\n return this.option.large ? 1e4 : this.get('progressive');\n }\n\n return progressive;\n },\n getProgressiveThreshold: function () {\n var progressiveThreshold = this.option.progressiveThreshold;\n\n if (progressiveThreshold == null) {\n return this.option.large ? 2e4 : this.get('progressiveThreshold');\n }\n\n return progressiveThreshold;\n },\n defaultOption: {\n coordinateSystem: 'geo',\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // Cartesian coordinate system\n xAxisIndex: 0,\n yAxisIndex: 0,\n symbol: ['none', 'none'],\n symbolSize: [10, 10],\n // Geo coordinate system\n geoIndex: 0,\n effect: {\n show: false,\n period: 4,\n // Animation delay. support callback\n // delay: 0,\n // If move with constant speed px/sec\n // period will be ignored if this property is > 0,\n constantSpeed: 0,\n symbol: 'circle',\n symbolSize: 3,\n loop: true,\n // Length of trail, 0 - 1\n trailLength: 0.2 // Same with lineStyle.color\n // color\n\n },\n large: false,\n // Available when large is true\n largeThreshold: 2000,\n // If lines are polyline\n // polyline not support curveness, label, animation\n polyline: false,\n // If clip the overflow.\n // Available when coordinateSystem is cartesian or polar.\n clip: true,\n label: {\n show: false,\n position: 'end' // distance: 5,\n // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n\n },\n lineStyle: {\n opacity: 0.5\n }\n }\n});\nvar _default = LinesSeries;\nmodule.exports = _default;","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pie = pie;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _updater = require(\"../class/updater.class\");\n\nvar _pie = require(\"../config/pie\");\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nvar _util2 = require(\"../util\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction pie(chart) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var series = option.series;\n if (!series) series = [];\n var pies = (0, _util2.initNeedSeries)(series, _pie.pieConfig, 'pie');\n pies = calcPiesCenter(pies, chart);\n pies = calcPiesRadius(pies, chart);\n pies = calcRosePiesRadius(pies, chart);\n pies = calcPiesPercent(pies);\n pies = calcPiesAngle(pies, chart);\n pies = calcPiesInsideLabelPos(pies);\n pies = calcPiesEdgeCenterPos(pies);\n pies = calcPiesOutSideLabelPos(pies);\n (0, _updater.doUpdate)({\n chart: chart,\n series: pies,\n key: 'pie',\n getGraphConfig: getPieConfig,\n getStartGraphConfig: getStartPieConfig,\n beforeChange: beforeChangePie\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: pies,\n key: 'pieInsideLabel',\n getGraphConfig: getInsideLabelConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: pies,\n key: 'pieOutsideLabelLine',\n getGraphConfig: getOutsideLabelLineConfig,\n getStartGraphConfig: getStartOutsideLabelLineConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: pies,\n key: 'pieOutsideLabel',\n getGraphConfig: getOutsideLabelConfig,\n getStartGraphConfig: getStartOutsideLabelConfig\n });\n}\n\nfunction calcPiesCenter(pies, chart) {\n var area = chart.render.area;\n pies.forEach(function (pie) {\n var center = pie.center;\n center = center.map(function (pos, i) {\n if (typeof pos === 'number') return pos;\n return parseInt(pos) / 100 * area[i];\n });\n pie.center = center;\n });\n return pies;\n}\n\nfunction calcPiesRadius(pies, chart) {\n var maxRadius = Math.min.apply(Math, (0, _toConsumableArray2[\"default\"])(chart.render.area)) / 2;\n pies.forEach(function (pie) {\n var radius = pie.radius,\n data = pie.data;\n radius = getNumberRadius(radius, maxRadius);\n data.forEach(function (item) {\n var itemRadius = item.radius;\n if (!itemRadius) itemRadius = radius;\n itemRadius = getNumberRadius(itemRadius, maxRadius);\n item.radius = itemRadius;\n });\n pie.radius = radius;\n });\n return pies;\n}\n\nfunction getNumberRadius(radius, maxRadius) {\n if (!(radius instanceof Array)) radius = [0, radius];\n radius = radius.map(function (r) {\n if (typeof r === 'number') return r;\n return parseInt(r) / 100 * maxRadius;\n });\n return radius;\n}\n\nfunction calcRosePiesRadius(pies, chart) {\n var rosePie = pies.filter(function (_ref) {\n var roseType = _ref.roseType;\n return roseType;\n });\n rosePie.forEach(function (pie) {\n var radius = pie.radius,\n data = pie.data,\n roseSort = pie.roseSort;\n var roseIncrement = getRoseIncrement(pie);\n var dataCopy = (0, _toConsumableArray2[\"default\"])(data);\n data = sortData(data);\n data.forEach(function (item, i) {\n item.radius[1] = radius[1] - roseIncrement * i;\n });\n\n if (roseSort) {\n data.reverse();\n } else {\n pie.data = dataCopy;\n }\n\n pie.roseIncrement = roseIncrement;\n });\n return pies;\n}\n\nfunction sortData(data) {\n return data.sort(function (_ref2, _ref3) {\n var a = _ref2.value;\n var b = _ref3.value;\n if (a === b) return 0;\n if (a > b) return -1;\n if (a < b) return 1;\n });\n}\n\nfunction getRoseIncrement(pie) {\n var radius = pie.radius,\n roseIncrement = pie.roseIncrement;\n if (typeof roseIncrement === 'number') return roseIncrement;\n\n if (roseIncrement === 'auto') {\n var data = pie.data;\n var allRadius = data.reduce(function (all, _ref4) {\n var radius = _ref4.radius;\n return [].concat((0, _toConsumableArray2[\"default\"])(all), (0, _toConsumableArray2[\"default\"])(radius));\n }, []);\n var minRadius = Math.min.apply(Math, (0, _toConsumableArray2[\"default\"])(allRadius));\n var maxRadius = Math.max.apply(Math, (0, _toConsumableArray2[\"default\"])(allRadius));\n return (maxRadius - minRadius) * 0.6 / (data.length - 1 || 1);\n }\n\n return parseInt(roseIncrement) / 100 * radius[1];\n}\n\nfunction calcPiesPercent(pies) {\n pies.forEach(function (pie) {\n var data = pie.data,\n percentToFixed = pie.percentToFixed;\n var sum = getDataSum(data);\n data.forEach(function (item) {\n var value = item.value;\n item.percent = value / sum * 100;\n item.percentForLabel = toFixedNoCeil(value / sum * 100, percentToFixed);\n });\n var percentSumNoLast = (0, _util2.mulAdd)(data.slice(0, -1).map(function (_ref5) {\n var percent = _ref5.percent;\n return percent;\n }));\n data.slice(-1)[0].percent = 100 - percentSumNoLast;\n data.slice(-1)[0].percentForLabel = toFixedNoCeil(100 - percentSumNoLast, percentToFixed);\n });\n return pies;\n}\n\nfunction toFixedNoCeil(number) {\n var toFixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var stringNumber = number.toString();\n var splitedNumber = stringNumber.split('.');\n var decimal = splitedNumber[1] || '0';\n var fixedDecimal = decimal.slice(0, toFixed);\n splitedNumber[1] = fixedDecimal;\n return parseFloat(splitedNumber.join('.'));\n}\n\nfunction getDataSum(data) {\n return (0, _util2.mulAdd)(data.map(function (_ref6) {\n var value = _ref6.value;\n return value;\n }));\n}\n\nfunction calcPiesAngle(pies) {\n pies.forEach(function (pie) {\n var start = pie.startAngle,\n data = pie.data;\n data.forEach(function (item, i) {\n var _getDataAngle = getDataAngle(data, i),\n _getDataAngle2 = (0, _slicedToArray2[\"default\"])(_getDataAngle, 2),\n startAngle = _getDataAngle2[0],\n endAngle = _getDataAngle2[1];\n\n item.startAngle = start + startAngle;\n item.endAngle = start + endAngle;\n });\n });\n return pies;\n}\n\nfunction getDataAngle(data, i) {\n var fullAngle = Math.PI * 2;\n var needAddData = data.slice(0, i + 1);\n var percentSum = (0, _util2.mulAdd)(needAddData.map(function (_ref7) {\n var percent = _ref7.percent;\n return percent;\n }));\n var percent = data[i].percent;\n var startPercent = percentSum - percent;\n return [fullAngle * startPercent / 100, fullAngle * percentSum / 100];\n}\n\nfunction calcPiesInsideLabelPos(pies) {\n pies.forEach(function (pieItem) {\n var data = pieItem.data;\n data.forEach(function (item) {\n item.insideLabelPos = getPieInsideLabelPos(pieItem, item);\n });\n });\n return pies;\n}\n\nfunction getPieInsideLabelPos(pieItem, dataItem) {\n var center = pieItem.center;\n\n var startAngle = dataItem.startAngle,\n endAngle = dataItem.endAngle,\n _dataItem$radius = (0, _slicedToArray2[\"default\"])(dataItem.radius, 2),\n ir = _dataItem$radius[0],\n or = _dataItem$radius[1];\n\n var radius = (ir + or) / 2;\n var angle = (startAngle + endAngle) / 2;\n return _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(center).concat([radius, angle]));\n}\n\nfunction calcPiesEdgeCenterPos(pies) {\n pies.forEach(function (pie) {\n var data = pie.data,\n center = pie.center;\n data.forEach(function (item) {\n var startAngle = item.startAngle,\n endAngle = item.endAngle,\n radius = item.radius;\n var centerAngle = (startAngle + endAngle) / 2;\n\n var pos = _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(center).concat([radius[1], centerAngle]));\n\n item.edgeCenterPos = pos;\n });\n });\n return pies;\n}\n\nfunction calcPiesOutSideLabelPos(pies) {\n pies.forEach(function (pieItem) {\n var leftPieDataItems = getLeftOrRightPieDataItems(pieItem);\n var rightPieDataItems = getLeftOrRightPieDataItems(pieItem, false);\n leftPieDataItems = sortPiesFromTopToBottom(leftPieDataItems);\n rightPieDataItems = sortPiesFromTopToBottom(rightPieDataItems);\n addLabelLineAndAlign(leftPieDataItems, pieItem);\n addLabelLineAndAlign(rightPieDataItems, pieItem, false);\n });\n return pies;\n}\n\nfunction getLabelLineBendRadius(pieItem) {\n var labelLineBendGap = pieItem.outsideLabel.labelLineBendGap;\n var maxRadius = getPieMaxRadius(pieItem);\n\n if (typeof labelLineBendGap !== 'number') {\n labelLineBendGap = parseInt(labelLineBendGap) / 100 * maxRadius;\n }\n\n return labelLineBendGap + maxRadius;\n}\n\nfunction getPieMaxRadius(pieItem) {\n var data = pieItem.data;\n var radius = data.map(function (_ref8) {\n var _ref8$radius = (0, _slicedToArray2[\"default\"])(_ref8.radius, 2),\n foo = _ref8$radius[0],\n r = _ref8$radius[1];\n\n return r;\n });\n return Math.max.apply(Math, (0, _toConsumableArray2[\"default\"])(radius));\n}\n\nfunction getLeftOrRightPieDataItems(pieItem) {\n var left = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var data = pieItem.data,\n center = pieItem.center;\n var centerXPos = center[0];\n return data.filter(function (_ref9) {\n var edgeCenterPos = _ref9.edgeCenterPos;\n var xPos = edgeCenterPos[0];\n if (left) return xPos <= centerXPos;\n return xPos > centerXPos;\n });\n}\n\nfunction sortPiesFromTopToBottom(dataItem) {\n dataItem.sort(function (_ref10, _ref11) {\n var _ref10$edgeCenterPos = (0, _slicedToArray2[\"default\"])(_ref10.edgeCenterPos, 2),\n t = _ref10$edgeCenterPos[0],\n ay = _ref10$edgeCenterPos[1];\n\n var _ref11$edgeCenterPos = (0, _slicedToArray2[\"default\"])(_ref11.edgeCenterPos, 2),\n tt = _ref11$edgeCenterPos[0],\n by = _ref11$edgeCenterPos[1];\n\n if (ay > by) return 1;\n if (ay < by) return -1;\n if (ay === by) return 0;\n });\n return dataItem;\n}\n\nfunction addLabelLineAndAlign(dataItem, pieItem) {\n var left = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var center = pieItem.center,\n outsideLabel = pieItem.outsideLabel;\n var radius = getLabelLineBendRadius(pieItem);\n dataItem.forEach(function (item) {\n var edgeCenterPos = item.edgeCenterPos,\n startAngle = item.startAngle,\n endAngle = item.endAngle;\n var labelLineEndLength = outsideLabel.labelLineEndLength;\n var angle = (startAngle + endAngle) / 2;\n\n var bendPoint = _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(center).concat([radius, angle]));\n\n var endPoint = (0, _toConsumableArray2[\"default\"])(bendPoint);\n endPoint[0] += labelLineEndLength * (left ? -1 : 1);\n item.labelLine = [edgeCenterPos, bendPoint, endPoint];\n item.labelLineLength = (0, _util2.getPolylineLength)(item.labelLine);\n item.align = {\n textAlign: 'left',\n textBaseline: 'middle'\n };\n if (left) item.align.textAlign = 'right';\n });\n}\n\nfunction getPieConfig(pieItem) {\n var data = pieItem.data,\n animationCurve = pieItem.animationCurve,\n animationFrame = pieItem.animationFrame,\n rLevel = pieItem.rLevel;\n return data.map(function (foo, i) {\n return {\n name: 'pie',\n index: rLevel,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getPieShape(pieItem, i),\n style: getPieStyle(pieItem, i)\n };\n });\n}\n\nfunction getStartPieConfig(pieItem) {\n var animationDelayGap = pieItem.animationDelayGap,\n startAnimationCurve = pieItem.startAnimationCurve;\n var configs = getPieConfig(pieItem);\n configs.forEach(function (config, i) {\n config.animationCurve = startAnimationCurve;\n config.animationDelay = i * animationDelayGap;\n config.shape.or = config.shape.ir;\n });\n return configs;\n}\n\nfunction beforeChangePie(graph) {\n graph.animationDelay = 0;\n}\n\nfunction getPieShape(pieItem, i) {\n var center = pieItem.center,\n data = pieItem.data;\n var dataItem = data[i];\n var radius = dataItem.radius,\n startAngle = dataItem.startAngle,\n endAngle = dataItem.endAngle;\n return {\n startAngle: startAngle,\n endAngle: endAngle,\n ir: radius[0],\n or: radius[1],\n rx: center[0],\n ry: center[1]\n };\n}\n\nfunction getPieStyle(pieItem, i) {\n var pieStyle = pieItem.pieStyle,\n data = pieItem.data;\n var dataItem = data[i];\n var color = dataItem.color;\n return (0, _util2.deepMerge)({\n fill: color\n }, pieStyle);\n}\n\nfunction getInsideLabelConfig(pieItem) {\n var animationCurve = pieItem.animationCurve,\n animationFrame = pieItem.animationFrame,\n data = pieItem.data,\n rLevel = pieItem.rLevel;\n return data.map(function (foo, i) {\n return {\n name: 'text',\n index: rLevel,\n visible: pieItem.insideLabel.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getInsideLabelShape(pieItem, i),\n style: getInsideLabelStyle(pieItem, i)\n };\n });\n}\n\nfunction getInsideLabelShape(pieItem, i) {\n var insideLabel = pieItem.insideLabel,\n data = pieItem.data;\n var formatter = insideLabel.formatter;\n var dataItem = data[i];\n var formatterType = (0, _typeof2[\"default\"])(formatter);\n var label = '';\n\n if (formatterType === 'string') {\n label = formatter.replace('{name}', dataItem.name);\n label = label.replace('{percent}', dataItem.percentForLabel);\n label = label.replace('{value}', dataItem.value);\n }\n\n if (formatterType === 'function') {\n label = formatter(dataItem);\n }\n\n return {\n content: label,\n position: dataItem.insideLabelPos\n };\n}\n\nfunction getInsideLabelStyle(pieItem, i) {\n var style = pieItem.insideLabel.style;\n return style;\n}\n\nfunction getOutsideLabelLineConfig(pieItem) {\n var animationCurve = pieItem.animationCurve,\n animationFrame = pieItem.animationFrame,\n data = pieItem.data,\n rLevel = pieItem.rLevel;\n return data.map(function (foo, i) {\n return {\n name: 'polyline',\n index: rLevel,\n visible: pieItem.outsideLabel.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getOutsideLabelLineShape(pieItem, i),\n style: getOutsideLabelLineStyle(pieItem, i)\n };\n });\n}\n\nfunction getStartOutsideLabelLineConfig(pieItem) {\n var data = pieItem.data;\n var configs = getOutsideLabelLineConfig(pieItem);\n configs.forEach(function (config, i) {\n config.style.lineDash = [0, data[i].labelLineLength];\n });\n return configs;\n}\n\nfunction getOutsideLabelLineShape(pieItem, i) {\n var data = pieItem.data;\n var dataItem = data[i];\n return {\n points: dataItem.labelLine\n };\n}\n\nfunction getOutsideLabelLineStyle(pieItem, i) {\n var outsideLabel = pieItem.outsideLabel,\n data = pieItem.data;\n var labelLineStyle = outsideLabel.labelLineStyle;\n var color = data[i].color;\n return (0, _util2.deepMerge)({\n stroke: color,\n lineDash: [data[i].labelLineLength, 0]\n }, labelLineStyle);\n}\n\nfunction getOutsideLabelConfig(pieItem) {\n var animationCurve = pieItem.animationCurve,\n animationFrame = pieItem.animationFrame,\n data = pieItem.data,\n rLevel = pieItem.rLevel;\n return data.map(function (foo, i) {\n return {\n name: 'text',\n index: rLevel,\n visible: pieItem.outsideLabel.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getOutsideLabelShape(pieItem, i),\n style: getOutsideLabelStyle(pieItem, i)\n };\n });\n}\n\nfunction getStartOutsideLabelConfig(pieItem) {\n var data = pieItem.data;\n var configs = getOutsideLabelConfig(pieItem);\n configs.forEach(function (config, i) {\n config.shape.position = data[i].labelLine[1];\n });\n return configs;\n}\n\nfunction getOutsideLabelShape(pieItem, i) {\n var outsideLabel = pieItem.outsideLabel,\n data = pieItem.data;\n var formatter = outsideLabel.formatter;\n var _data$i = data[i],\n labelLine = _data$i.labelLine,\n name = _data$i.name,\n percentForLabel = _data$i.percentForLabel,\n value = _data$i.value;\n var formatterType = (0, _typeof2[\"default\"])(formatter);\n var label = '';\n\n if (formatterType === 'string') {\n label = formatter.replace('{name}', name);\n label = label.replace('{percent}', percentForLabel);\n label = label.replace('{value}', value);\n }\n\n if (formatterType === 'function') {\n label = formatter(data[i]);\n }\n\n return {\n content: label,\n position: labelLine[2]\n };\n}\n\nfunction getOutsideLabelStyle(pieItem, i) {\n var outsideLabel = pieItem.outsideLabel,\n data = pieItem.data;\n var _data$i2 = data[i],\n color = _data$i2.color,\n align = _data$i2.align;\n var style = outsideLabel.style;\n return (0, _util2.deepMerge)(_objectSpread({\n fill: color\n }, align), style);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar layout = require(\"../../util/layout\");\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'visualMap',\n\n /**\n * @readOnly\n * @type {Object}\n */\n autoPositionValues: {\n left: 1,\n right: 1,\n top: 1,\n bottom: 1\n },\n init: function (ecModel, api) {\n /**\n * @readOnly\n * @type {module:echarts/model/Global}\n */\n this.ecModel = ecModel;\n /**\n * @readOnly\n * @type {module:echarts/ExtensionAPI}\n */\n\n this.api = api;\n /**\n * @readOnly\n * @type {module:echarts/component/visualMap/visualMapModel}\n */\n\n this.visualMapModel;\n },\n\n /**\n * @protected\n */\n render: function (visualMapModel, ecModel, api, payload) {\n this.visualMapModel = visualMapModel;\n\n if (visualMapModel.get('show') === false) {\n this.group.removeAll();\n return;\n }\n\n this.doRender.apply(this, arguments);\n },\n\n /**\n * @protected\n */\n renderBackground: function (group) {\n var visualMapModel = this.visualMapModel;\n var padding = formatUtil.normalizeCssArray(visualMapModel.get('padding') || 0);\n var rect = group.getBoundingRect();\n group.add(new graphic.Rect({\n z2: -1,\n // Lay background rect on the lowest layer.\n silent: true,\n shape: {\n x: rect.x - padding[3],\n y: rect.y - padding[0],\n width: rect.width + padding[3] + padding[1],\n height: rect.height + padding[0] + padding[2]\n },\n style: {\n fill: visualMapModel.get('backgroundColor'),\n stroke: visualMapModel.get('borderColor'),\n lineWidth: visualMapModel.get('borderWidth')\n }\n }));\n },\n\n /**\n * @protected\n * @param {number} targetValue can be Infinity or -Infinity\n * @param {string=} visualCluster Only can be 'color' 'opacity' 'symbol' 'symbolSize'\n * @param {Object} [opts]\n * @param {string=} [opts.forceState] Specify state, instead of using getValueState method.\n * @param {string=} [opts.convertOpacityToAlpha=false] For color gradient in controller widget.\n * @return {*} Visual value.\n */\n getControllerVisual: function (targetValue, visualCluster, opts) {\n opts = opts || {};\n var forceState = opts.forceState;\n var visualMapModel = this.visualMapModel;\n var visualObj = {}; // Default values.\n\n if (visualCluster === 'symbol') {\n visualObj.symbol = visualMapModel.get('itemSymbol');\n }\n\n if (visualCluster === 'color') {\n var defaultColor = visualMapModel.get('contentColor');\n visualObj.color = defaultColor;\n }\n\n function getter(key) {\n return visualObj[key];\n }\n\n function setter(key, value) {\n visualObj[key] = value;\n }\n\n var mappings = visualMapModel.controllerVisuals[forceState || visualMapModel.getValueState(targetValue)];\n var visualTypes = VisualMapping.prepareVisualTypes(mappings);\n zrUtil.each(visualTypes, function (type) {\n var visualMapping = mappings[type];\n\n if (opts.convertOpacityToAlpha && type === 'opacity') {\n type = 'colorAlpha';\n visualMapping = mappings.__alphaForOpacity;\n }\n\n if (VisualMapping.dependsOn(type, visualCluster)) {\n visualMapping && visualMapping.applyVisual(targetValue, getter, setter);\n }\n });\n return visualObj[visualCluster];\n },\n\n /**\n * @protected\n */\n positionGroup: function (group) {\n var model = this.visualMapModel;\n var api = this.api;\n layout.positionElement(group, model.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n },\n\n /**\n * @protected\n * @abstract\n */\n doRender: zrUtil.noop\n});\n\nmodule.exports = _default;","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassCheck = _clazz.enableClassCheck;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// id may be function name of Object, add a prefix to avoid this problem.\nfunction generateNodeKey(id) {\n return '_EC_' + id;\n}\n/**\n * @alias module:echarts/data/Graph\n * @constructor\n * @param {boolean} directed\n */\n\n\nvar Graph = function (directed) {\n /**\n * 是否是有向图\n * @type {boolean}\n * @private\n */\n this._directed = directed || false;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.nodes = [];\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.edges = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._nodesMap = {};\n /**\n * @type {Object.}\n * @private\n */\n\n this._edgesMap = {};\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.edgeData;\n};\n\nvar graphProto = Graph.prototype;\n/**\n * @type {string}\n */\n\ngraphProto.type = 'graph';\n/**\n * If is directed graph\n * @return {boolean}\n */\n\ngraphProto.isDirected = function () {\n return this._directed;\n};\n/**\n * Add a new node\n * @param {string} id\n * @param {number} [dataIndex]\n */\n\n\ngraphProto.addNode = function (id, dataIndex) {\n id = id == null ? '' + dataIndex : '' + id;\n var nodesMap = this._nodesMap;\n\n if (nodesMap[generateNodeKey(id)]) {\n return;\n }\n\n var node = new Node(id, dataIndex);\n node.hostGraph = this;\n this.nodes.push(node);\n nodesMap[generateNodeKey(id)] = node;\n return node;\n};\n/**\n * Get node by data index\n * @param {number} dataIndex\n * @return {module:echarts/data/Graph~Node}\n */\n\n\ngraphProto.getNodeByIndex = function (dataIndex) {\n var rawIdx = this.data.getRawIndex(dataIndex);\n return this.nodes[rawIdx];\n};\n/**\n * Get node by id\n * @param {string} id\n * @return {module:echarts/data/Graph.Node}\n */\n\n\ngraphProto.getNodeById = function (id) {\n return this._nodesMap[generateNodeKey(id)];\n};\n/**\n * Add a new edge\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {number} [dataIndex=-1]\n * @return {module:echarts/data/Graph.Edge}\n */\n\n\ngraphProto.addEdge = function (n1, n2, dataIndex) {\n var nodesMap = this._nodesMap;\n var edgesMap = this._edgesMap; // PNEDING\n\n if (typeof n1 === 'number') {\n n1 = this.nodes[n1];\n }\n\n if (typeof n2 === 'number') {\n n2 = this.nodes[n2];\n }\n\n if (!Node.isInstance(n1)) {\n n1 = nodesMap[generateNodeKey(n1)];\n }\n\n if (!Node.isInstance(n2)) {\n n2 = nodesMap[generateNodeKey(n2)];\n }\n\n if (!n1 || !n2) {\n return;\n }\n\n var key = n1.id + '-' + n2.id;\n var edge = new Edge(n1, n2, dataIndex);\n edge.hostGraph = this;\n\n if (this._directed) {\n n1.outEdges.push(edge);\n n2.inEdges.push(edge);\n }\n\n n1.edges.push(edge);\n\n if (n1 !== n2) {\n n2.edges.push(edge);\n }\n\n this.edges.push(edge);\n edgesMap[key] = edge;\n return edge;\n};\n/**\n * Get edge by data index\n * @param {number} dataIndex\n * @return {module:echarts/data/Graph~Node}\n */\n\n\ngraphProto.getEdgeByIndex = function (dataIndex) {\n var rawIdx = this.edgeData.getRawIndex(dataIndex);\n return this.edges[rawIdx];\n};\n/**\n * Get edge by two linked nodes\n * @param {module:echarts/data/Graph.Node|string} n1\n * @param {module:echarts/data/Graph.Node|string} n2\n * @return {module:echarts/data/Graph.Edge}\n */\n\n\ngraphProto.getEdge = function (n1, n2) {\n if (Node.isInstance(n1)) {\n n1 = n1.id;\n }\n\n if (Node.isInstance(n2)) {\n n2 = n2.id;\n }\n\n var edgesMap = this._edgesMap;\n\n if (this._directed) {\n return edgesMap[n1 + '-' + n2];\n } else {\n return edgesMap[n1 + '-' + n2] || edgesMap[n2 + '-' + n1];\n }\n};\n/**\n * Iterate all nodes\n * @param {Function} cb\n * @param {*} [context]\n */\n\n\ngraphProto.eachNode = function (cb, context) {\n var nodes = this.nodes;\n var len = nodes.length;\n\n for (var i = 0; i < len; i++) {\n if (nodes[i].dataIndex >= 0) {\n cb.call(context, nodes[i], i);\n }\n }\n};\n/**\n * Iterate all edges\n * @param {Function} cb\n * @param {*} [context]\n */\n\n\ngraphProto.eachEdge = function (cb, context) {\n var edges = this.edges;\n var len = edges.length;\n\n for (var i = 0; i < len; i++) {\n if (edges[i].dataIndex >= 0 && edges[i].node1.dataIndex >= 0 && edges[i].node2.dataIndex >= 0) {\n cb.call(context, edges[i], i);\n }\n }\n};\n/**\n * Breadth first traverse\n * @param {Function} cb\n * @param {module:echarts/data/Graph.Node} startNode\n * @param {string} [direction='none'] 'none'|'in'|'out'\n * @param {*} [context]\n */\n\n\ngraphProto.breadthFirstTraverse = function (cb, startNode, direction, context) {\n if (!Node.isInstance(startNode)) {\n startNode = this._nodesMap[generateNodeKey(startNode)];\n }\n\n if (!startNode) {\n return;\n }\n\n var edgeType = direction === 'out' ? 'outEdges' : direction === 'in' ? 'inEdges' : 'edges';\n\n for (var i = 0; i < this.nodes.length; i++) {\n this.nodes[i].__visited = false;\n }\n\n if (cb.call(context, startNode, null)) {\n return;\n }\n\n var queue = [startNode];\n\n while (queue.length) {\n var currentNode = queue.shift();\n var edges = currentNode[edgeType];\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n var otherNode = e.node1 === currentNode ? e.node2 : e.node1;\n\n if (!otherNode.__visited) {\n if (cb.call(context, otherNode, currentNode)) {\n // Stop traversing\n return;\n }\n\n queue.push(otherNode);\n otherNode.__visited = true;\n }\n }\n }\n}; // TODO\n// graphProto.depthFirstTraverse = function (\n// cb, startNode, direction, context\n// ) {\n// };\n// Filter update\n\n\ngraphProto.update = function () {\n var data = this.data;\n var edgeData = this.edgeData;\n var nodes = this.nodes;\n var edges = this.edges;\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n nodes[i].dataIndex = -1;\n }\n\n for (var i = 0, len = data.count(); i < len; i++) {\n nodes[data.getRawIndex(i)].dataIndex = i;\n }\n\n edgeData.filterSelf(function (idx) {\n var edge = edges[edgeData.getRawIndex(idx)];\n return edge.node1.dataIndex >= 0 && edge.node2.dataIndex >= 0;\n }); // Update edge\n\n for (var i = 0, len = edges.length; i < len; i++) {\n edges[i].dataIndex = -1;\n }\n\n for (var i = 0, len = edgeData.count(); i < len; i++) {\n edges[edgeData.getRawIndex(i)].dataIndex = i;\n }\n};\n/**\n * @return {module:echarts/data/Graph}\n */\n\n\ngraphProto.clone = function () {\n var graph = new Graph(this._directed);\n var nodes = this.nodes;\n var edges = this.edges;\n\n for (var i = 0; i < nodes.length; i++) {\n graph.addNode(nodes[i].id, nodes[i].dataIndex);\n }\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n graph.addEdge(e.node1.id, e.node2.id, e.dataIndex);\n }\n\n return graph;\n};\n/**\n * @alias module:echarts/data/Graph.Node\n */\n\n\nfunction Node(id, dataIndex) {\n /**\n * @type {string}\n */\n this.id = id == null ? '' : id;\n /**\n * @type {Array.}\n */\n\n this.inEdges = [];\n /**\n * @type {Array.}\n */\n\n this.outEdges = [];\n /**\n * @type {Array.}\n */\n\n this.edges = [];\n /**\n * @type {module:echarts/data/Graph}\n */\n\n this.hostGraph;\n /**\n * @type {number}\n */\n\n this.dataIndex = dataIndex == null ? -1 : dataIndex;\n}\n\nNode.prototype = {\n constructor: Node,\n\n /**\n * @return {number}\n */\n degree: function () {\n return this.edges.length;\n },\n\n /**\n * @return {number}\n */\n inDegree: function () {\n return this.inEdges.length;\n },\n\n /**\n * @return {number}\n */\n outDegree: function () {\n return this.outEdges.length;\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var graph = this.hostGraph;\n var itemModel = graph.data.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n }\n};\n/**\n * 图边\n * @alias module:echarts/data/Graph.Edge\n * @param {module:echarts/data/Graph.Node} n1\n * @param {module:echarts/data/Graph.Node} n2\n * @param {number} [dataIndex=-1]\n */\n\nfunction Edge(n1, n2, dataIndex) {\n /**\n * 节点1,如果是有向图则为源节点\n * @type {module:echarts/data/Graph.Node}\n */\n this.node1 = n1;\n /**\n * 节点2,如果是有向图则为目标节点\n * @type {module:echarts/data/Graph.Node}\n */\n\n this.node2 = n2;\n this.dataIndex = dataIndex == null ? -1 : dataIndex;\n}\n/**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n\n\nEdge.prototype.getModel = function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var graph = this.hostGraph;\n var itemModel = graph.edgeData.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n};\n\nvar createGraphDataProxyMixin = function (hostName, dataName) {\n return {\n /**\n * @param {string=} [dimension='value'] Default 'value'. can be 'a', 'b', 'c', 'd', 'e'.\n * @return {number}\n */\n getValue: function (dimension) {\n var data = this[hostName][dataName];\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object|string} key\n * @param {*} [value]\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this[hostName][dataName].setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * @param {string} key\n * @return {boolean}\n */\n getVisual: function (key, ignoreParent) {\n return this[hostName][dataName].getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @param {Object} layout\n * @return {boolean} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this[hostName][dataName].setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object}\n */\n getLayout: function () {\n return this[hostName][dataName].getItemLayout(this.dataIndex);\n },\n\n /**\n * @return {module:zrender/Element}\n */\n getGraphicEl: function () {\n return this[hostName][dataName].getItemGraphicEl(this.dataIndex);\n },\n\n /**\n * @return {number}\n */\n getRawIndex: function () {\n return this[hostName][dataName].getRawIndex(this.dataIndex);\n }\n };\n};\n\nzrUtil.mixin(Node, createGraphDataProxyMixin('hostGraph', 'data'));\nzrUtil.mixin(Edge, createGraphDataProxyMixin('hostGraph', 'edgeData'));\nGraph.Node = Node;\nGraph.Edge = Edge;\nenableClassCheck(Node);\nenableClassCheck(Edge);\nvar _default = Graph;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar LineGroup = require(\"./Line\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/LineDraw\n */\n// import IncrementalDisplayable from 'zrender/src/graphic/IncrementalDisplayable';\n\n/**\n * @alias module:echarts/component/marker/LineDraw\n * @constructor\n */\nfunction LineDraw(ctor) {\n this._ctor = ctor || LineGroup;\n this.group = new graphic.Group();\n}\n\nvar lineDrawProto = LineDraw.prototype;\n\nlineDrawProto.isPersistent = function () {\n return true;\n};\n/**\n * @param {module:echarts/data/List} lineData\n */\n\n\nlineDrawProto.updateData = function (lineData) {\n var lineDraw = this;\n var group = lineDraw.group;\n var oldLineData = lineDraw._lineData;\n lineDraw._lineData = lineData; // There is no oldLineData only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!oldLineData) {\n group.removeAll();\n }\n\n var seriesScope = makeSeriesScope(lineData);\n lineData.diff(oldLineData).add(function (idx) {\n doAdd(lineDraw, lineData, idx, seriesScope);\n }).update(function (newIdx, oldIdx) {\n doUpdate(lineDraw, oldLineData, lineData, oldIdx, newIdx, seriesScope);\n }).remove(function (idx) {\n group.remove(oldLineData.getItemGraphicEl(idx));\n }).execute();\n};\n\nfunction doAdd(lineDraw, lineData, idx, seriesScope) {\n var itemLayout = lineData.getItemLayout(idx);\n\n if (!lineNeedsDraw(itemLayout)) {\n return;\n }\n\n var el = new lineDraw._ctor(lineData, idx, seriesScope);\n lineData.setItemGraphicEl(idx, el);\n lineDraw.group.add(el);\n}\n\nfunction doUpdate(lineDraw, oldLineData, newLineData, oldIdx, newIdx, seriesScope) {\n var itemEl = oldLineData.getItemGraphicEl(oldIdx);\n\n if (!lineNeedsDraw(newLineData.getItemLayout(newIdx))) {\n lineDraw.group.remove(itemEl);\n return;\n }\n\n if (!itemEl) {\n itemEl = new lineDraw._ctor(newLineData, newIdx, seriesScope);\n } else {\n itemEl.updateData(newLineData, newIdx, seriesScope);\n }\n\n newLineData.setItemGraphicEl(newIdx, itemEl);\n lineDraw.group.add(itemEl);\n}\n\nlineDrawProto.updateLayout = function () {\n var lineData = this._lineData; // Do not support update layout in incremental mode.\n\n if (!lineData) {\n return;\n }\n\n lineData.eachItemGraphicEl(function (el, idx) {\n el.updateLayout(lineData, idx);\n }, this);\n};\n\nlineDrawProto.incrementalPrepareUpdate = function (lineData) {\n this._seriesScope = makeSeriesScope(lineData);\n this._lineData = null;\n this.group.removeAll();\n};\n\nfunction isEffectObject(el) {\n return el.animators && el.animators.length > 0;\n}\n\nlineDrawProto.incrementalUpdate = function (taskParams, lineData) {\n function updateIncrementalAndHover(el) {\n if (!el.isGroup && !isEffectObject(el)) {\n el.incremental = el.useHoverLayer = true;\n }\n }\n\n for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n var itemLayout = lineData.getItemLayout(idx);\n\n if (lineNeedsDraw(itemLayout)) {\n var el = new this._ctor(lineData, idx, this._seriesScope);\n el.traverse(updateIncrementalAndHover);\n this.group.add(el);\n lineData.setItemGraphicEl(idx, el);\n }\n }\n};\n\nfunction makeSeriesScope(lineData) {\n var hostModel = lineData.hostModel;\n return {\n lineStyle: hostModel.getModel('lineStyle').getLineStyle(),\n hoverLineStyle: hostModel.getModel('emphasis.lineStyle').getLineStyle(),\n labelModel: hostModel.getModel('label'),\n hoverLabelModel: hostModel.getModel('emphasis.label')\n };\n}\n\nlineDrawProto.remove = function () {\n this._clearIncremental();\n\n this._incremental = null;\n this.group.removeAll();\n};\n\nlineDrawProto._clearIncremental = function () {\n var incremental = this._incremental;\n\n if (incremental) {\n incremental.clearDisplaybles();\n }\n};\n\nfunction isPointNaN(pt) {\n return isNaN(pt[0]) || isNaN(pt[1]);\n}\n\nfunction lineNeedsDraw(pts) {\n return !isPointNaN(pts[0]) && !isPointNaN(pts[1]);\n}\n\nvar _default = LineDraw;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./visualMap/preprocessor\");\n\nrequire(\"./visualMap/typeDefaulter\");\n\nrequire(\"./visualMap/visualEncoding\");\n\nrequire(\"./visualMap/ContinuousModel\");\n\nrequire(\"./visualMap/ContinuousView\");\n\nrequire(\"./visualMap/visualMapAction\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","/**\n * 缓动代码来自 https://github.com/sole/tween.js/blob/master/src/Tween.js\n * @see http://sole.github.io/tween.js/examples/03_graphs.html\n * @exports zrender/animation/easing\n */\nvar easing = {\n /**\n * @param {number} k\n * @return {number}\n */\n linear: function (k) {\n return k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticIn: function (k) {\n return k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticOut: function (k) {\n return k * (2 - k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k;\n }\n\n return -0.5 * (--k * (k - 2) - 1);\n },\n // 三次方的缓动(t^3)\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicIn: function (k) {\n return k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicOut: function (k) {\n return --k * k * k + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k;\n }\n\n return 0.5 * ((k -= 2) * k * k + 2);\n },\n // 四次方的缓动(t^4)\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticIn: function (k) {\n return k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticOut: function (k) {\n return 1 - --k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k;\n }\n\n return -0.5 * ((k -= 2) * k * k * k - 2);\n },\n // 五次方的缓动(t^5)\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticIn: function (k) {\n return k * k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticOut: function (k) {\n return --k * k * k * k * k + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k * k;\n }\n\n return 0.5 * ((k -= 2) * k * k * k * k + 2);\n },\n // 正弦曲线的缓动(sin(t))\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalIn: function (k) {\n return 1 - Math.cos(k * Math.PI / 2);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalOut: function (k) {\n return Math.sin(k * Math.PI / 2);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalInOut: function (k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n },\n // 指数曲线的缓动(2^t)\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialIn: function (k) {\n return k === 0 ? 0 : Math.pow(1024, k - 1);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialOut: function (k) {\n return k === 1 ? 1 : 1 - Math.pow(2, -10 * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialInOut: function (k) {\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if ((k *= 2) < 1) {\n return 0.5 * Math.pow(1024, k - 1);\n }\n\n return 0.5 * (-Math.pow(2, -10 * (k - 1)) + 2);\n },\n // 圆形曲线的缓动(sqrt(1-t^2))\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularIn: function (k) {\n return 1 - Math.sqrt(1 - k * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularOut: function (k) {\n return Math.sqrt(1 - --k * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularInOut: function (k) {\n if ((k *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - k * k) - 1);\n }\n\n return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);\n },\n // 创建类似于弹簧在停止前来回振荡的动画\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticIn: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n return -(a * Math.pow(2, 10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p));\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n return a * Math.pow(2, -10 * k) * Math.sin((k - s) * (2 * Math.PI) / p) + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticInOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n if ((k *= 2) < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p));\n }\n\n return a * Math.pow(2, -10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p) * 0.5 + 1;\n },\n // 在某一动画开始沿指示的路径进行动画处理前稍稍收回该动画的移动\n\n /**\n * @param {number} k\n * @return {number}\n */\n backIn: function (k) {\n var s = 1.70158;\n return k * k * ((s + 1) * k - s);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n backOut: function (k) {\n var s = 1.70158;\n return --k * k * ((s + 1) * k + s) + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n backInOut: function (k) {\n var s = 1.70158 * 1.525;\n\n if ((k *= 2) < 1) {\n return 0.5 * (k * k * ((s + 1) * k - s));\n }\n\n return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);\n },\n // 创建弹跳效果\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceIn: function (k) {\n return 1 - easing.bounceOut(1 - k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceOut: function (k) {\n if (k < 1 / 2.75) {\n return 7.5625 * k * k;\n } else if (k < 2 / 2.75) {\n return 7.5625 * (k -= 1.5 / 2.75) * k + 0.75;\n } else if (k < 2.5 / 2.75) {\n return 7.5625 * (k -= 2.25 / 2.75) * k + 0.9375;\n } else {\n return 7.5625 * (k -= 2.625 / 2.75) * k + 0.984375;\n }\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceInOut: function (k) {\n if (k < 0.5) {\n return easing.bounceIn(k * 2) * 0.5;\n }\n\n return easing.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n }\n};\nvar _default = easing;\nmodule.exports = _default;","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","import _Symbol$iterator from \"../../core-js/symbol/iterator\";\nimport _Symbol from \"../../core-js/symbol\";\n\nfunction _typeof2(obj) { if (typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof _Symbol === \"function\" && _typeof2(_Symbol$iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n","require('./_wks-define')('observable');\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar MapDraw = require(\"../helper/MapDraw\");\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'geo',\n init: function (ecModel, api) {\n var mapDraw = new MapDraw(api, true);\n this._mapDraw = mapDraw;\n this.group.add(mapDraw.group);\n },\n render: function (geoModel, ecModel, api, payload) {\n // Not render if it is an toggleSelect action from self\n if (payload && payload.type === 'geoToggleSelect' && payload.from === this.uid) {\n return;\n }\n\n var mapDraw = this._mapDraw;\n\n if (geoModel.get('show')) {\n mapDraw.draw(geoModel, ecModel, api, this, payload);\n } else {\n this._mapDraw.group.removeAll();\n }\n\n this.group.silent = geoModel.get('silent');\n },\n dispose: function () {\n this._mapDraw && this._mapDraw.remove();\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar dataViewLang = lang.toolbox.dataView;\nvar BLOCK_SPLITER = new Array(60).join('-');\nvar ITEM_SPLITER = '\\t';\n/**\n * Group series into two types\n * 1. on category axis, like line, bar\n * 2. others, like scatter, pie\n * @param {module:echarts/model/Global} ecModel\n * @return {Object}\n * @inner\n */\n\nfunction groupSeries(ecModel) {\n var seriesGroupByCategoryAxis = {};\n var otherSeries = [];\n var meta = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && (coordSys.type === 'cartesian2d' || coordSys.type === 'polar')) {\n var baseAxis = coordSys.getBaseAxis();\n\n if (baseAxis.type === 'category') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n\n if (!seriesGroupByCategoryAxis[key]) {\n seriesGroupByCategoryAxis[key] = {\n categoryAxis: baseAxis,\n valueAxis: coordSys.getOtherAxis(baseAxis),\n series: []\n };\n meta.push({\n axisDim: baseAxis.dim,\n axisIndex: baseAxis.index\n });\n }\n\n seriesGroupByCategoryAxis[key].series.push(seriesModel);\n } else {\n otherSeries.push(seriesModel);\n }\n } else {\n otherSeries.push(seriesModel);\n }\n });\n return {\n seriesGroupByCategoryAxis: seriesGroupByCategoryAxis,\n other: otherSeries,\n meta: meta\n };\n}\n/**\n * Assemble content of series on cateogory axis\n * @param {Array.} series\n * @return {string}\n * @inner\n */\n\n\nfunction assembleSeriesWithCategoryAxis(series) {\n var tables = [];\n zrUtil.each(series, function (group, key) {\n var categoryAxis = group.categoryAxis;\n var valueAxis = group.valueAxis;\n var valueAxisDim = valueAxis.dim;\n var headers = [' '].concat(zrUtil.map(group.series, function (series) {\n return series.name;\n }));\n var columns = [categoryAxis.model.getCategories()];\n zrUtil.each(group.series, function (series) {\n var rawData = series.getRawData();\n columns.push(series.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function (val) {\n return val;\n }));\n }); // Assemble table content\n\n var lines = [headers.join(ITEM_SPLITER)];\n\n for (var i = 0; i < columns[0].length; i++) {\n var items = [];\n\n for (var j = 0; j < columns.length; j++) {\n items.push(columns[j][i]);\n }\n\n lines.push(items.join(ITEM_SPLITER));\n }\n\n tables.push(lines.join('\\n'));\n });\n return tables.join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * Assemble content of other series\n * @param {Array.} series\n * @return {string}\n * @inner\n */\n\n\nfunction assembleOtherSeries(series) {\n return zrUtil.map(series, function (series) {\n var data = series.getRawData();\n var lines = [series.name];\n var vals = [];\n data.each(data.dimensions, function () {\n var argLen = arguments.length;\n var dataIndex = arguments[argLen - 1];\n var name = data.getName(dataIndex);\n\n for (var i = 0; i < argLen - 1; i++) {\n vals[i] = arguments[i];\n }\n\n lines.push((name ? name + ITEM_SPLITER : '') + vals.join(ITEM_SPLITER));\n });\n return lines.join('\\n');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * @param {module:echarts/model/Global}\n * @return {Object}\n * @inner\n */\n\n\nfunction getContentFromModel(ecModel) {\n var result = groupSeries(ecModel);\n return {\n value: zrUtil.filter([assembleSeriesWithCategoryAxis(result.seriesGroupByCategoryAxis), assembleOtherSeries(result.other)], function (str) {\n return str.replace(/[\\n\\t\\s]/g, '');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n'),\n meta: result.meta\n };\n}\n\nfunction trim(str) {\n return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n}\n/**\n * If a block is tsv format\n */\n\n\nfunction isTSVFormat(block) {\n // Simple method to find out if a block is tsv format\n var firstLine = block.slice(0, block.indexOf('\\n'));\n\n if (firstLine.indexOf(ITEM_SPLITER) >= 0) {\n return true;\n }\n}\n\nvar itemSplitRegex = new RegExp('[' + ITEM_SPLITER + ']+', 'g');\n/**\n * @param {string} tsv\n * @return {Object}\n */\n\nfunction parseTSVContents(tsv) {\n var tsvLines = tsv.split(/\\n+/g);\n var headers = trim(tsvLines.shift()).split(itemSplitRegex);\n var categories = [];\n var series = zrUtil.map(headers, function (header) {\n return {\n name: header,\n data: []\n };\n });\n\n for (var i = 0; i < tsvLines.length; i++) {\n var items = trim(tsvLines[i]).split(itemSplitRegex);\n categories.push(items.shift());\n\n for (var j = 0; j < items.length; j++) {\n series[j] && (series[j].data[i] = items[j]);\n }\n }\n\n return {\n series: series,\n categories: categories\n };\n}\n/**\n * @param {string} str\n * @return {Array.}\n * @inner\n */\n\n\nfunction parseListContents(str) {\n var lines = str.split(/\\n+/g);\n var seriesName = trim(lines.shift());\n var data = [];\n\n for (var i = 0; i < lines.length; i++) {\n // if line is empty, ignore it.\n // there is a case that a user forgot to delete `\\n`.\n var line = trim(lines[i]);\n\n if (!line) {\n continue;\n }\n\n var items = line.split(itemSplitRegex);\n var name = '';\n var value;\n var hasName = false;\n\n if (isNaN(items[0])) {\n // First item is name\n hasName = true;\n name = items[0];\n items = items.slice(1);\n data[i] = {\n name: name,\n value: []\n };\n value = data[i].value;\n } else {\n value = data[i] = [];\n }\n\n for (var j = 0; j < items.length; j++) {\n value.push(+items[j]);\n }\n\n if (value.length === 1) {\n hasName ? data[i].value = value[0] : data[i] = value[0];\n }\n }\n\n return {\n name: seriesName,\n data: data\n };\n}\n/**\n * @param {string} str\n * @param {Array.} blockMetaList\n * @return {Object}\n * @inner\n */\n\n\nfunction parseContents(str, blockMetaList) {\n var blocks = str.split(new RegExp('\\n*' + BLOCK_SPLITER + '\\n*', 'g'));\n var newOption = {\n series: []\n };\n zrUtil.each(blocks, function (block, idx) {\n if (isTSVFormat(block)) {\n var result = parseTSVContents(block);\n var blockMeta = blockMetaList[idx];\n var axisKey = blockMeta.axisDim + 'Axis';\n\n if (blockMeta) {\n newOption[axisKey] = newOption[axisKey] || [];\n newOption[axisKey][blockMeta.axisIndex] = {\n data: result.categories\n };\n newOption.series = newOption.series.concat(result.series);\n }\n } else {\n var result = parseListContents(block);\n newOption.series.push(result);\n }\n });\n return newOption;\n}\n/**\n * @alias {module:echarts/component/toolbox/feature/DataView}\n * @constructor\n * @param {module:echarts/model/Model} model\n */\n\n\nfunction DataView(model) {\n this._dom = null;\n this.model = model;\n}\n\nDataView.defaultOption = {\n show: true,\n readOnly: false,\n optionToContent: null,\n contentToOption: null,\n icon: 'M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28',\n title: zrUtil.clone(dataViewLang.title),\n lang: zrUtil.clone(dataViewLang.lang),\n backgroundColor: '#fff',\n textColor: '#000',\n textareaColor: '#fff',\n textareaBorderColor: '#333',\n buttonColor: '#c23531',\n buttonTextColor: '#fff'\n};\n\nDataView.prototype.onclick = function (ecModel, api) {\n var container = api.getDom();\n var model = this.model;\n\n if (this._dom) {\n container.removeChild(this._dom);\n }\n\n var root = document.createElement('div');\n root.style.cssText = 'position:absolute;left:5px;top:5px;bottom:5px;right:5px;';\n root.style.backgroundColor = model.get('backgroundColor') || '#fff'; // Create elements\n\n var header = document.createElement('h4');\n var lang = model.get('lang') || [];\n header.innerHTML = lang[0] || model.get('title');\n header.style.cssText = 'margin: 10px 20px;';\n header.style.color = model.get('textColor');\n var viewMain = document.createElement('div');\n var textarea = document.createElement('textarea');\n viewMain.style.cssText = 'display:block;width:100%;overflow:auto;';\n var optionToContent = model.get('optionToContent');\n var contentToOption = model.get('contentToOption');\n var result = getContentFromModel(ecModel);\n\n if (typeof optionToContent === 'function') {\n var htmlOrDom = optionToContent(api.getOption());\n\n if (typeof htmlOrDom === 'string') {\n viewMain.innerHTML = htmlOrDom;\n } else if (zrUtil.isDom(htmlOrDom)) {\n viewMain.appendChild(htmlOrDom);\n }\n } else {\n // Use default textarea\n viewMain.appendChild(textarea);\n textarea.readOnly = model.get('readOnly');\n textarea.style.cssText = 'width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;';\n textarea.style.color = model.get('textColor');\n textarea.style.borderColor = model.get('textareaBorderColor');\n textarea.style.backgroundColor = model.get('textareaColor');\n textarea.value = result.value;\n }\n\n var blockMetaList = result.meta;\n var buttonContainer = document.createElement('div');\n buttonContainer.style.cssText = 'position:absolute;bottom:0;left:0;right:0;';\n var buttonStyle = 'float:right;margin-right:20px;border:none;' + 'cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px';\n var closeButton = document.createElement('div');\n var refreshButton = document.createElement('div');\n buttonStyle += ';background-color:' + model.get('buttonColor');\n buttonStyle += ';color:' + model.get('buttonTextColor');\n var self = this;\n\n function close() {\n container.removeChild(root);\n self._dom = null;\n }\n\n eventTool.addEventListener(closeButton, 'click', close);\n eventTool.addEventListener(refreshButton, 'click', function () {\n var newOption;\n\n try {\n if (typeof contentToOption === 'function') {\n newOption = contentToOption(viewMain, api.getOption());\n } else {\n newOption = parseContents(textarea.value, blockMetaList);\n }\n } catch (e) {\n close();\n throw new Error('Data view format error ' + e);\n }\n\n if (newOption) {\n api.dispatchAction({\n type: 'changeDataView',\n newOption: newOption\n });\n }\n\n close();\n });\n closeButton.innerHTML = lang[1];\n refreshButton.innerHTML = lang[2];\n refreshButton.style.cssText = buttonStyle;\n closeButton.style.cssText = buttonStyle;\n !model.get('readOnly') && buttonContainer.appendChild(refreshButton);\n buttonContainer.appendChild(closeButton);\n root.appendChild(header);\n root.appendChild(viewMain);\n root.appendChild(buttonContainer);\n viewMain.style.height = container.clientHeight - 80 + 'px';\n container.appendChild(root);\n this._dom = root;\n};\n\nDataView.prototype.remove = function (ecModel, api) {\n this._dom && api.getDom().removeChild(this._dom);\n};\n\nDataView.prototype.dispose = function (ecModel, api) {\n this.remove(ecModel, api);\n};\n/**\n * @inner\n */\n\n\nfunction tryMergeDataOption(newData, originalData) {\n return zrUtil.map(newData, function (newVal, idx) {\n var original = originalData && originalData[idx];\n\n if (zrUtil.isObject(original) && !zrUtil.isArray(original)) {\n var newValIsObject = zrUtil.isObject(newVal) && !zrUtil.isArray(newVal);\n\n if (!newValIsObject) {\n newVal = {\n value: newVal\n };\n } // original data has name but new data has no name\n\n\n var shouldDeleteName = original.name != null && newVal.name == null; // Original data has option\n\n newVal = zrUtil.defaults(newVal, original);\n shouldDeleteName && delete newVal.name;\n return newVal;\n } else {\n return newVal;\n }\n });\n}\n\nfeatureManager.register('dataView', DataView);\necharts.registerAction({\n type: 'changeDataView',\n event: 'dataViewChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var newSeriesOptList = [];\n zrUtil.each(payload.newOption.series, function (seriesOpt) {\n var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];\n\n if (!seriesModel) {\n // New created series\n // Geuss the series type\n newSeriesOptList.push(zrUtil.extend({\n // Default is scatter\n type: 'scatter'\n }, seriesOpt));\n } else {\n var originalData = seriesModel.get('data');\n newSeriesOptList.push({\n name: seriesOpt.name,\n data: tryMergeDataOption(seriesOpt.data, originalData)\n });\n }\n });\n ecModel.mergeOption(zrUtil.defaults({\n series: newSeriesOptList\n }, payload.newOption));\n});\nvar _default = DataView;\nmodule.exports = _default;","var Displayable = require(\"./Displayable\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"./helper/text\");\n\nvar _constant = require(\"./constant\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\n\n/**\n * @alias zrender/graphic/Text\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nvar Text = function (opts) {\n // jshint ignore:line\n Displayable.call(this, opts);\n};\n\nText.prototype = {\n constructor: Text,\n type: 'text',\n brush: function (ctx, prevEl) {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true); // Use props with prefix 'text'.\n\n style.fill = style.stroke = style.shadowBlur = style.shadowColor = style.shadowOffsetX = style.shadowOffsetY = null;\n var text = style.text; // Convert to string\n\n text != null && (text += ''); // Do not apply style.bind in Text node. Because the real bind job\n // is in textHelper.renderText, and performance of text render should\n // be considered.\n // style.bind(ctx, this, prevEl);\n\n if (!textHelper.needDrawText(text, style)) {\n // The current el.style is not applied\n // and should not be used as cache.\n ctx.__attrCachedBy = ContextCachedBy.NONE;\n return;\n }\n\n this.setTransform(ctx);\n textHelper.renderText(this, ctx, text, style, null, prevEl);\n this.restoreTransform(ctx);\n },\n getBoundingRect: function () {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n\n if (!this._rect) {\n var text = style.text;\n text != null ? text += '' : text = '';\n var rect = textContain.getBoundingRect(style.text + '', style.font, style.textAlign, style.textVerticalAlign, style.textPadding, style.textLineHeight, style.rich);\n rect.x += style.x || 0;\n rect.y += style.y || 0;\n\n if (textHelper.getStroke(style.textStroke, style.textStrokeWidth)) {\n var w = style.textStrokeWidth;\n rect.x -= w / 2;\n rect.y -= w / 2;\n rect.width += w;\n rect.height += w;\n }\n\n this._rect = rect;\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(Text, Displayable);\nvar _default = Text;\nmodule.exports = _default;","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = require(\"core-js/library/fn/array/from\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType, actionInfos) {\n zrUtil.each(actionInfos, function (actionInfo) {\n actionInfo.update = 'updateView';\n /**\n * @payload\n * @property {string} seriesName\n * @property {string} name\n */\n\n echarts.registerAction(actionInfo, function (payload, ecModel) {\n var selected = {};\n ecModel.eachComponent({\n mainType: 'series',\n subType: seriesType,\n query: payload\n }, function (seriesModel) {\n if (seriesModel[actionInfo.method]) {\n seriesModel[actionInfo.method](payload.name, payload.dataIndex);\n }\n\n var data = seriesModel.getData(); // Create selected map\n\n data.each(function (idx) {\n var name = data.getName(idx);\n selected[name] = seriesModel.isSelected(name) || false;\n });\n });\n return {\n name: payload.name,\n selected: selected,\n seriesId: payload.seriesId\n };\n });\n });\n}\n\nmodule.exports = _default;","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction IndicatorAxis(dim, scale, radiusExtent) {\n Axis.call(this, dim, scale, radiusExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'value';\n this.angle = 0;\n /**\n * Indicator name\n * @type {string}\n */\n\n this.name = '';\n /**\n * @type {module:echarts/model/Model}\n */\n\n this.model;\n}\n\nzrUtil.inherits(IndicatorAxis, Axis);\nvar _default = IndicatorAxis;\nmodule.exports = _default;","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Backward compat for radar chart in 2\nfunction _default(option) {\n var polarOptArr = option.polar;\n\n if (polarOptArr) {\n if (!zrUtil.isArray(polarOptArr)) {\n polarOptArr = [polarOptArr];\n }\n\n var polarNotRadar = [];\n zrUtil.each(polarOptArr, function (polarOpt, idx) {\n if (polarOpt.indicator) {\n if (polarOpt.type && !polarOpt.shape) {\n polarOpt.shape = polarOpt.type;\n }\n\n option.radar = option.radar || [];\n\n if (!zrUtil.isArray(option.radar)) {\n option.radar = [option.radar];\n }\n\n option.radar.push(polarOpt);\n } else {\n polarNotRadar.push(polarOpt);\n }\n });\n option.polar = polarNotRadar;\n }\n\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'radar' && seriesOpt.polarIndex) {\n seriesOpt.radarIndex = seriesOpt.polarIndex;\n }\n });\n}\n\nmodule.exports = _default;","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nrequire(\"./AxisModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentModel({\n type: 'polar',\n dependencies: ['polarAxis', 'angleAxis'],\n\n /**\n * @type {module:echarts/coord/polar/Polar}\n */\n coordinateSystem: null,\n\n /**\n * @param {string} axisType\n * @return {module:echarts/coord/polar/AxisModel}\n */\n findAxisModel: function (axisType) {\n var foundAxisModel;\n var ecModel = this.ecModel;\n ecModel.eachComponent(axisType, function (axisModel) {\n if (axisModel.getCoordSysModel() === this) {\n foundAxisModel = axisModel;\n }\n }, this);\n return foundAxisModel;\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '80%'\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\nvar layoutBox = _layout.box;\nvar positionElement = _layout.positionElement;\n\nvar formatUtil = require(\"../../util/format\");\n\nvar graphic = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Layout list like component.\n * It will box layout each items in group of component and then position the whole group in the viewport\n * @param {module:zrender/group/Group} group\n * @param {module:echarts/model/Component} componentModel\n * @param {module:echarts/ExtensionAPI}\n */\nfunction layout(group, componentModel, api) {\n var boxLayoutParams = componentModel.getBoxLayoutParams();\n var padding = componentModel.get('padding');\n var viewportSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var rect = getLayoutRect(boxLayoutParams, viewportSize, padding);\n layoutBox(componentModel.get('orient'), group, componentModel.get('itemGap'), rect.width, rect.height);\n positionElement(group, boxLayoutParams, viewportSize, padding);\n}\n\nfunction makeBackground(rect, componentModel) {\n var padding = formatUtil.normalizeCssArray(componentModel.get('padding'));\n var style = componentModel.getItemStyle(['color', 'opacity']);\n style.fill = componentModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: rect.x - padding[3],\n y: rect.y - padding[0],\n width: rect.width + padding[1] + padding[3],\n height: rect.height + padding[0] + padding[2],\n r: componentModel.get('borderRadius')\n },\n style: style,\n silent: true,\n z2: -1\n }); // FIXME\n // `subPixelOptimizeRect` may bring some gap between edge of viewpart\n // and background rect when setting like `left: 0`, `top: 0`.\n // graphic.subPixelOptimizeRect(rect);\n\n return rect;\n}\n\nexports.layout = layout;\nexports.makeBackground = makeBackground;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/polar/polarCreator\");\n\nrequire(\"./axis/RadiusAxisView\");","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = require(\"core-js/library/fn/promise\");","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar View = require(\"../../coord/View\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME Where to create the simple view coordinate system\nfunction getViewRect(seriesModel, api, aspect) {\n var option = seriesModel.getBoxLayoutParams();\n option.aspect = aspect;\n return getLayoutRect(option, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction _default(ecModel, api) {\n var viewList = [];\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var coordSysType = seriesModel.get('coordinateSystem');\n\n if (!coordSysType || coordSysType === 'view') {\n var data = seriesModel.getData();\n var positions = data.mapArray(function (idx) {\n var itemModel = data.getItemModel(idx);\n return [+itemModel.get('x'), +itemModel.get('y')];\n });\n var min = [];\n var max = [];\n bbox.fromPoints(positions, min, max); // If width or height is 0\n\n if (max[0] - min[0] === 0) {\n max[0] += 1;\n min[0] -= 1;\n }\n\n if (max[1] - min[1] === 0) {\n max[1] += 1;\n min[1] -= 1;\n }\n\n var aspect = (max[0] - min[0]) / (max[1] - min[1]); // FIXME If get view rect after data processed?\n\n var viewRect = getViewRect(seriesModel, api, aspect); // Position may be NaN, use view rect instead\n\n if (isNaN(aspect)) {\n min = [viewRect.x, viewRect.y];\n max = [viewRect.x + viewRect.width, viewRect.y + viewRect.height];\n }\n\n var bbWidth = max[0] - min[0];\n var bbHeight = max[1] - min[1];\n var viewWidth = viewRect.width;\n var viewHeight = viewRect.height;\n var viewCoordSys = seriesModel.coordinateSystem = new View();\n viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n viewCoordSys.setBoundingRect(min[0], min[1], bbWidth, bbHeight);\n viewCoordSys.setViewRect(viewRect.x, viewRect.y, viewWidth, viewHeight); // Update roam info\n\n viewCoordSys.setCenter(seriesModel.get('center'));\n viewCoordSys.setZoom(seriesModel.get('zoom'));\n viewList.push(viewCoordSys);\n }\n });\n return viewList;\n}\n\nmodule.exports = _default;","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature =\n document.implementation &&\n document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM ||\n capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BrushController = require(\"../../helper/BrushController\");\n\nvar BrushTargetManager = require(\"../../helper/BrushTargetManager\");\n\nvar history = require(\"../../dataZoom/history\");\n\nvar sliderMove = require(\"../../helper/sliderMove\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\nrequire(\"../../dataZoomSelect\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Use dataZoomSelect\nvar dataZoomLang = lang.toolbox.dataZoom;\nvar each = zrUtil.each; // Spectial component id start with \\0ec\\0, see echarts/model/Global.js~hasInnerId\n\nvar DATA_ZOOM_ID_BASE = '\\0_ec_\\0toolbox-dataZoom_';\n\nfunction DataZoom(model, ecModel, api) {\n /**\n * @private\n * @type {module:echarts/component/helper/BrushController}\n */\n (this._brushController = new BrushController(api.getZr())).on('brush', zrUtil.bind(this._onBrush, this)).mount();\n /**\n * @private\n * @type {boolean}\n */\n\n this._isZoomActive;\n}\n\nDataZoom.defaultOption = {\n show: true,\n filterMode: 'filter',\n // Icon group\n icon: {\n zoom: 'M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1',\n back: 'M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26'\n },\n // `zoom`, `back`\n title: zrUtil.clone(dataZoomLang.title),\n brushStyle: {\n borderWidth: 0,\n color: 'rgba(0,0,0,0.2)'\n }\n};\nvar proto = DataZoom.prototype;\n\nproto.render = function (featureModel, ecModel, api, payload) {\n this.model = featureModel;\n this.ecModel = ecModel;\n this.api = api;\n updateZoomBtnStatus(featureModel, ecModel, this, payload, api);\n updateBackBtnStatus(featureModel, ecModel);\n};\n\nproto.onclick = function (ecModel, api, type) {\n handlers[type].call(this);\n};\n\nproto.remove = function (ecModel, api) {\n this._brushController.unmount();\n};\n\nproto.dispose = function (ecModel, api) {\n this._brushController.dispose();\n};\n/**\n * @private\n */\n\n\nvar handlers = {\n zoom: function () {\n var nextActive = !this._isZoomActive;\n this.api.dispatchAction({\n type: 'takeGlobalCursor',\n key: 'dataZoomSelect',\n dataZoomSelectActive: nextActive\n });\n },\n back: function () {\n this._dispatchZoomAction(history.pop(this.ecModel));\n }\n};\n/**\n * @private\n */\n\nproto._onBrush = function (areas, opt) {\n if (!opt.isEnd || !areas.length) {\n return;\n }\n\n var snapshot = {};\n var ecModel = this.ecModel;\n\n this._brushController.updateCovers([]); // remove cover\n\n\n var brushTargetManager = new BrushTargetManager(retrieveAxisSetting(this.model.option), ecModel, {\n include: ['grid']\n });\n brushTargetManager.matchOutputRanges(areas, ecModel, function (area, coordRange, coordSys) {\n if (coordSys.type !== 'cartesian2d') {\n return;\n }\n\n var brushType = area.brushType;\n\n if (brushType === 'rect') {\n setBatch('x', coordSys, coordRange[0]);\n setBatch('y', coordSys, coordRange[1]);\n } else {\n setBatch({\n lineX: 'x',\n lineY: 'y'\n }[brushType], coordSys, coordRange);\n }\n });\n history.push(ecModel, snapshot);\n\n this._dispatchZoomAction(snapshot);\n\n function setBatch(dimName, coordSys, minMax) {\n var axis = coordSys.getAxis(dimName);\n var axisModel = axis.model;\n var dataZoomModel = findDataZoom(dimName, axisModel, ecModel); // Restrict range.\n\n var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy(axisModel).getMinMaxSpan();\n\n if (minMaxSpan.minValueSpan != null || minMaxSpan.maxValueSpan != null) {\n minMax = sliderMove(0, minMax.slice(), axis.scale.getExtent(), 0, minMaxSpan.minValueSpan, minMaxSpan.maxValueSpan);\n }\n\n dataZoomModel && (snapshot[dataZoomModel.id] = {\n dataZoomId: dataZoomModel.id,\n startValue: minMax[0],\n endValue: minMax[1]\n });\n }\n\n function findDataZoom(dimName, axisModel, ecModel) {\n var found;\n ecModel.eachComponent({\n mainType: 'dataZoom',\n subType: 'select'\n }, function (dzModel) {\n var has = dzModel.getAxisModel(dimName, axisModel.componentIndex);\n has && (found = dzModel);\n });\n return found;\n }\n};\n/**\n * @private\n */\n\n\nproto._dispatchZoomAction = function (snapshot) {\n var batch = []; // Convert from hash map to array.\n\n each(snapshot, function (batchItem, dataZoomId) {\n batch.push(zrUtil.clone(batchItem));\n });\n batch.length && this.api.dispatchAction({\n type: 'dataZoom',\n from: this.uid,\n batch: batch\n });\n};\n\nfunction retrieveAxisSetting(option) {\n var setting = {}; // Compatible with previous setting: null => all axis, false => no axis.\n\n zrUtil.each(['xAxisIndex', 'yAxisIndex'], function (name) {\n setting[name] = option[name];\n setting[name] == null && (setting[name] = 'all');\n (setting[name] === false || setting[name] === 'none') && (setting[name] = []);\n });\n return setting;\n}\n\nfunction updateBackBtnStatus(featureModel, ecModel) {\n featureModel.setIconStatus('back', history.count(ecModel) > 1 ? 'emphasis' : 'normal');\n}\n\nfunction updateZoomBtnStatus(featureModel, ecModel, view, payload, api) {\n var zoomActive = view._isZoomActive;\n\n if (payload && payload.type === 'takeGlobalCursor') {\n zoomActive = payload.key === 'dataZoomSelect' ? payload.dataZoomSelectActive : false;\n }\n\n view._isZoomActive = zoomActive;\n featureModel.setIconStatus('zoom', zoomActive ? 'emphasis' : 'normal');\n var brushTargetManager = new BrushTargetManager(retrieveAxisSetting(featureModel.option), ecModel, {\n include: ['grid']\n });\n\n view._brushController.setPanels(brushTargetManager.makePanelOpts(api, function (targetInfo) {\n return targetInfo.xAxisDeclared && !targetInfo.yAxisDeclared ? 'lineX' : !targetInfo.xAxisDeclared && targetInfo.yAxisDeclared ? 'lineY' : 'rect';\n })).enableBrush(zoomActive ? {\n brushType: 'auto',\n brushStyle: featureModel.getModel('brushStyle').getItemStyle()\n } : false);\n}\n\nfeatureManager.register('dataZoom', DataZoom); // Create special dataZoom option for select\n// FIXME consider the case of merge option, where axes options are not exists.\n\necharts.registerPreprocessor(function (option) {\n if (!option) {\n return;\n }\n\n var dataZoomOpts = option.dataZoom || (option.dataZoom = []);\n\n if (!zrUtil.isArray(dataZoomOpts)) {\n option.dataZoom = dataZoomOpts = [dataZoomOpts];\n }\n\n var toolboxOpt = option.toolbox;\n\n if (toolboxOpt) {\n // Assume there is only one toolbox\n if (zrUtil.isArray(toolboxOpt)) {\n toolboxOpt = toolboxOpt[0];\n }\n\n if (toolboxOpt && toolboxOpt.feature) {\n var dataZoomOpt = toolboxOpt.feature.dataZoom; // FIXME: If add dataZoom when setOption in merge mode,\n // no axis info to be added. See `test/dataZoom-extreme.html`\n\n addForAxis('xAxis', dataZoomOpt);\n addForAxis('yAxis', dataZoomOpt);\n }\n }\n\n function addForAxis(axisName, dataZoomOpt) {\n if (!dataZoomOpt) {\n return;\n } // Try not to modify model, because it is not merged yet.\n\n\n var axisIndicesName = axisName + 'Index';\n var givenAxisIndices = dataZoomOpt[axisIndicesName];\n\n if (givenAxisIndices != null && givenAxisIndices !== 'all' && !zrUtil.isArray(givenAxisIndices)) {\n givenAxisIndices = givenAxisIndices === false || givenAxisIndices === 'none' ? [] : [givenAxisIndices];\n }\n\n forEachComponent(axisName, function (axisOpt, axisIndex) {\n if (givenAxisIndices != null && givenAxisIndices !== 'all' && zrUtil.indexOf(givenAxisIndices, axisIndex) === -1) {\n return;\n }\n\n var newOpt = {\n type: 'select',\n $fromToolbox: true,\n // Default to be filter\n filterMode: dataZoomOpt.filterMode || 'filter',\n // Id for merge mapping.\n id: DATA_ZOOM_ID_BASE + axisName + axisIndex\n }; // FIXME\n // Only support one axis now.\n\n newOpt[axisIndicesName] = axisIndex;\n dataZoomOpts.push(newOpt);\n });\n }\n\n function forEachComponent(mainType, cb) {\n var opts = option[mainType];\n\n if (!zrUtil.isArray(opts)) {\n opts = opts ? [opts] : [];\n }\n\n each(opts, cb);\n }\n});\nvar _default = DataZoom;\nmodule.exports = _default;","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var SHADOW_PROPS = {\n 'shadowBlur': 1,\n 'shadowOffsetX': 1,\n 'shadowOffsetY': 1,\n 'textShadowBlur': 1,\n 'textShadowOffsetX': 1,\n 'textShadowOffsetY': 1,\n 'textBoxShadowBlur': 1,\n 'textBoxShadowOffsetX': 1,\n 'textBoxShadowOffsetY': 1\n};\n\nfunction _default(ctx, propName, value) {\n if (SHADOW_PROPS.hasOwnProperty(propName)) {\n return value *= ctx.dpr;\n }\n\n return value;\n}\n\nmodule.exports = _default;","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ComponentView = require(\"../../view/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = ComponentView.extend({\n type: 'dataZoom',\n render: function (dataZoomModel, ecModel, api, payload) {\n this.dataZoomModel = dataZoomModel;\n this.ecModel = ecModel;\n this.api = api;\n },\n\n /**\n * Find the first target coordinate system.\n *\n * @protected\n * @return {Object} {\n * grid: [\n * {model: coord0, axisModels: [axis1, axis3], coordIndex: 1},\n * {model: coord1, axisModels: [axis0, axis2], coordIndex: 0},\n * ...\n * ], // cartesians must not be null/undefined.\n * polar: [\n * {model: coord0, axisModels: [axis4], coordIndex: 0},\n * ...\n * ], // polars must not be null/undefined.\n * singleAxis: [\n * {model: coord0, axisModels: [], coordIndex: 0}\n * ]\n */\n getTargetCoordInfo: function () {\n var dataZoomModel = this.dataZoomModel;\n var ecModel = this.ecModel;\n var coordSysLists = {};\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex) {\n var axisModel = ecModel.getComponent(dimNames.axis, axisIndex);\n\n if (axisModel) {\n var coordModel = axisModel.getCoordSysModel();\n coordModel && save(coordModel, axisModel, coordSysLists[coordModel.mainType] || (coordSysLists[coordModel.mainType] = []), coordModel.componentIndex);\n }\n }, this);\n\n function save(coordModel, axisModel, store, coordIndex) {\n var item;\n\n for (var i = 0; i < store.length; i++) {\n if (store[i].model === coordModel) {\n item = store[i];\n break;\n }\n }\n\n if (!item) {\n store.push(item = {\n model: coordModel,\n axisModels: [],\n coordIndex: coordIndex\n });\n }\n\n item.axisModels.push(axisModel);\n }\n\n return coordSysLists;\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkAreaModel\");\n\nrequire(\"./marker/MarkAreaView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(function (opt) {\n // Make sure markArea component is enabled\n opt.markArea = opt.markArea || {};\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nvar symbolUtil = require(\"../../util/symbol\");\n\nvar LinePath = require(\"./LinePath\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _number = require(\"../../util/number\");\n\nvar round = _number.round;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/Line\n */\nvar SYMBOL_CATEGORIES = ['fromSymbol', 'toSymbol'];\n\nfunction makeSymbolTypeKey(symbolCategory) {\n return '_' + symbolCategory + 'Type';\n}\n/**\n * @inner\n */\n\n\nfunction createSymbol(name, lineData, idx) {\n var symbolType = lineData.getItemVisual(idx, name);\n\n if (!symbolType || symbolType === 'none') {\n return;\n }\n\n var color = lineData.getItemVisual(idx, 'color');\n var symbolSize = lineData.getItemVisual(idx, name + 'Size');\n var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');\n\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [symbolSize, symbolSize];\n }\n\n var symbolPath = symbolUtil.createSymbol(symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2, symbolSize[0], symbolSize[1], color); // rotate by default if symbolRotate is not specified or NaN\n\n symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;\n symbolPath.name = name;\n return symbolPath;\n}\n\nfunction createLine(points) {\n var line = new LinePath({\n name: 'line',\n subPixelOptimize: true\n });\n setLinePoints(line.shape, points);\n return line;\n}\n\nfunction setLinePoints(targetShape, points) {\n targetShape.x1 = points[0][0];\n targetShape.y1 = points[0][1];\n targetShape.x2 = points[1][0];\n targetShape.y2 = points[1][1];\n targetShape.percent = 1;\n var cp1 = points[2];\n\n if (cp1) {\n targetShape.cpx1 = cp1[0];\n targetShape.cpy1 = cp1[1];\n } else {\n targetShape.cpx1 = NaN;\n targetShape.cpy1 = NaN;\n }\n}\n\nfunction updateSymbolAndLabelBeforeLineUpdate() {\n var lineGroup = this;\n var symbolFrom = lineGroup.childOfName('fromSymbol');\n var symbolTo = lineGroup.childOfName('toSymbol');\n var label = lineGroup.childOfName('label'); // Quick reject\n\n if (!symbolFrom && !symbolTo && label.ignore) {\n return;\n }\n\n var invScale = 1;\n var parentNode = this.parent;\n\n while (parentNode) {\n if (parentNode.scale) {\n invScale /= parentNode.scale[0];\n }\n\n parentNode = parentNode.parent;\n }\n\n var line = lineGroup.childOfName('line'); // If line not changed\n // FIXME Parent scale changed\n\n if (!this.__dirty && !line.__dirty) {\n return;\n }\n\n var percent = line.shape.percent;\n var fromPos = line.pointAt(0);\n var toPos = line.pointAt(percent);\n var d = vector.sub([], toPos, fromPos);\n vector.normalize(d, d);\n\n if (symbolFrom) {\n symbolFrom.attr('position', fromPos); // Fix #12388\n // when symbol is set to be 'arrow' in markLine,\n // symbolRotate value will be ignored, and compulsively use tangent angle.\n // rotate by default if symbol rotation is not specified\n\n var specifiedRotation = symbolFrom.__specifiedRotation;\n\n if (specifiedRotation == null) {\n var tangent = line.tangentAt(0);\n symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));\n } else {\n symbolFrom.attr('rotation', specifiedRotation);\n }\n\n symbolFrom.attr('scale', [invScale * percent, invScale * percent]);\n }\n\n if (symbolTo) {\n symbolTo.attr('position', toPos); // Fix #12388\n // when symbol is set to be 'arrow' in markLine,\n // symbolRotate value will be ignored, and compulsively use tangent angle.\n // rotate by default if symbol rotation is not specified\n\n var specifiedRotation = symbolTo.__specifiedRotation;\n\n if (specifiedRotation == null) {\n var tangent = line.tangentAt(1);\n symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));\n } else {\n symbolTo.attr('rotation', specifiedRotation);\n }\n\n symbolTo.attr('scale', [invScale * percent, invScale * percent]);\n }\n\n if (!label.ignore) {\n label.attr('position', toPos);\n var textPosition;\n var textAlign;\n var textVerticalAlign;\n var textOrigin;\n var distance = label.__labelDistance;\n var distanceX = distance[0] * invScale;\n var distanceY = distance[1] * invScale;\n var halfPercent = percent / 2;\n var tangent = line.tangentAt(halfPercent);\n var n = [tangent[1], -tangent[0]];\n var cp = line.pointAt(halfPercent);\n\n if (n[1] > 0) {\n n[0] = -n[0];\n n[1] = -n[1];\n }\n\n var dir = tangent[0] < 0 ? -1 : 1;\n\n if (label.__position !== 'start' && label.__position !== 'end') {\n var rotation = -Math.atan2(tangent[1], tangent[0]);\n\n if (toPos[0] < fromPos[0]) {\n rotation = Math.PI + rotation;\n }\n\n label.attr('rotation', rotation);\n }\n\n var dy;\n\n switch (label.__position) {\n case 'insideStartTop':\n case 'insideMiddleTop':\n case 'insideEndTop':\n case 'middle':\n dy = -distanceY;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideStartBottom':\n case 'insideMiddleBottom':\n case 'insideEndBottom':\n dy = distanceY;\n textVerticalAlign = 'top';\n break;\n\n default:\n dy = 0;\n textVerticalAlign = 'middle';\n }\n\n switch (label.__position) {\n case 'end':\n textPosition = [d[0] * distanceX + toPos[0], d[1] * distanceY + toPos[1]];\n textAlign = d[0] > 0.8 ? 'left' : d[0] < -0.8 ? 'right' : 'center';\n textVerticalAlign = d[1] > 0.8 ? 'top' : d[1] < -0.8 ? 'bottom' : 'middle';\n break;\n\n case 'start':\n textPosition = [-d[0] * distanceX + fromPos[0], -d[1] * distanceY + fromPos[1]];\n textAlign = d[0] > 0.8 ? 'right' : d[0] < -0.8 ? 'left' : 'center';\n textVerticalAlign = d[1] > 0.8 ? 'bottom' : d[1] < -0.8 ? 'top' : 'middle';\n break;\n\n case 'insideStartTop':\n case 'insideStart':\n case 'insideStartBottom':\n textPosition = [distanceX * dir + fromPos[0], fromPos[1] + dy];\n textAlign = tangent[0] < 0 ? 'right' : 'left';\n textOrigin = [-distanceX * dir, -dy];\n break;\n\n case 'insideMiddleTop':\n case 'insideMiddle':\n case 'insideMiddleBottom':\n case 'middle':\n textPosition = [cp[0], cp[1] + dy];\n textAlign = 'center';\n textOrigin = [0, -dy];\n break;\n\n case 'insideEndTop':\n case 'insideEnd':\n case 'insideEndBottom':\n textPosition = [-distanceX * dir + toPos[0], toPos[1] + dy];\n textAlign = tangent[0] >= 0 ? 'right' : 'left';\n textOrigin = [distanceX * dir, -dy];\n break;\n }\n\n label.attr({\n style: {\n // Use the user specified text align and baseline first\n textVerticalAlign: label.__verticalAlign || textVerticalAlign,\n textAlign: label.__textAlign || textAlign\n },\n position: textPosition,\n scale: [invScale, invScale],\n origin: textOrigin\n });\n }\n}\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Line}\n */\n\n\nfunction Line(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n\n this._createLine(lineData, idx, seriesScope);\n}\n\nvar lineProto = Line.prototype; // Update symbol position and rotation\n\nlineProto.beforeUpdate = updateSymbolAndLabelBeforeLineUpdate;\n\nlineProto._createLine = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var linePoints = lineData.getItemLayout(idx);\n var line = createLine(linePoints);\n line.shape.percent = 0;\n graphic.initProps(line, {\n shape: {\n percent: 1\n }\n }, seriesModel, idx);\n this.add(line);\n var label = new graphic.Text({\n name: 'label',\n // FIXME\n // Temporary solution for `focusNodeAdjacency`.\n // line label do not use the opacity of lineStyle.\n lineLabelOriginalOpacity: 1\n });\n this.add(label);\n zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbol = createSymbol(symbolCategory, lineData, idx); // symbols must added after line to make sure\n // it will be updated after line#update.\n // Or symbol position and rotation update in line#beforeUpdate will be one frame slow\n\n this.add(symbol);\n this[makeSymbolTypeKey(symbolCategory)] = lineData.getItemVisual(idx, symbolCategory);\n }, this);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n};\n\nlineProto.updateData = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childOfName('line');\n var linePoints = lineData.getItemLayout(idx);\n var target = {\n shape: {}\n };\n setLinePoints(target.shape, linePoints);\n graphic.updateProps(line, target, seriesModel, idx);\n zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbolType = lineData.getItemVisual(idx, symbolCategory);\n var key = makeSymbolTypeKey(symbolCategory); // Symbol changed\n\n if (this[key] !== symbolType) {\n this.remove(this.childOfName(symbolCategory));\n var symbol = createSymbol(symbolCategory, lineData, idx);\n this.add(symbol);\n }\n\n this[key] = symbolType;\n }, this);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n};\n\nlineProto._updateCommonStl = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childOfName('line');\n var lineStyle = seriesScope && seriesScope.lineStyle;\n var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;\n var labelModel = seriesScope && seriesScope.labelModel;\n var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel; // Optimization for large dataset\n\n if (!seriesScope || lineData.hasItemOption) {\n var itemModel = lineData.getItemModel(idx);\n lineStyle = itemModel.getModel('lineStyle').getLineStyle();\n hoverLineStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n labelModel = itemModel.getModel('label');\n hoverLabelModel = itemModel.getModel('emphasis.label');\n }\n\n var visualColor = lineData.getItemVisual(idx, 'color');\n var visualOpacity = zrUtil.retrieve3(lineData.getItemVisual(idx, 'opacity'), lineStyle.opacity, 1);\n line.useStyle(zrUtil.defaults({\n strokeNoScale: true,\n fill: 'none',\n stroke: visualColor,\n opacity: visualOpacity\n }, lineStyle));\n line.hoverStyle = hoverLineStyle; // Update symbol\n\n zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbol = this.childOfName(symbolCategory);\n\n if (symbol) {\n symbol.setColor(visualColor);\n symbol.setStyle({\n opacity: visualOpacity\n });\n }\n }, this);\n var showLabel = labelModel.getShallow('show');\n var hoverShowLabel = hoverLabelModel.getShallow('show');\n var label = this.childOfName('label');\n var defaultLabelColor;\n var baseText; // FIXME: the logic below probably should be merged to `graphic.setLabelStyle`.\n\n if (showLabel || hoverShowLabel) {\n defaultLabelColor = visualColor || '#000';\n baseText = seriesModel.getFormattedLabel(idx, 'normal', lineData.dataType);\n\n if (baseText == null) {\n var rawVal = seriesModel.getRawValue(idx);\n baseText = rawVal == null ? lineData.getName(idx) : isFinite(rawVal) ? round(rawVal) : rawVal;\n }\n }\n\n var normalText = showLabel ? baseText : null;\n var emphasisText = hoverShowLabel ? zrUtil.retrieve2(seriesModel.getFormattedLabel(idx, 'emphasis', lineData.dataType), baseText) : null;\n var labelStyle = label.style; // Always set `textStyle` even if `normalStyle.text` is null, because default\n // values have to be set on `normalStyle`.\n\n if (normalText != null || emphasisText != null) {\n graphic.setTextStyle(label.style, labelModel, {\n text: normalText\n }, {\n autoColor: defaultLabelColor\n });\n label.__textAlign = labelStyle.textAlign;\n label.__verticalAlign = labelStyle.textVerticalAlign; // 'start', 'middle', 'end'\n\n label.__position = labelModel.get('position') || 'middle';\n var distance = labelModel.get('distance');\n\n if (!zrUtil.isArray(distance)) {\n distance = [distance, distance];\n }\n\n label.__labelDistance = distance;\n }\n\n if (emphasisText != null) {\n // Only these properties supported in this emphasis style here.\n label.hoverStyle = {\n text: emphasisText,\n textFill: hoverLabelModel.getTextColor(true),\n // For merging hover style to normal style, do not use\n // `hoverLabelModel.getFont()` here.\n fontStyle: hoverLabelModel.getShallow('fontStyle'),\n fontWeight: hoverLabelModel.getShallow('fontWeight'),\n fontSize: hoverLabelModel.getShallow('fontSize'),\n fontFamily: hoverLabelModel.getShallow('fontFamily')\n };\n } else {\n label.hoverStyle = {\n text: null\n };\n }\n\n label.ignore = !showLabel && !hoverShowLabel;\n graphic.setHoverStyle(this);\n};\n\nlineProto.highlight = function () {\n this.trigger('emphasis');\n};\n\nlineProto.downplay = function () {\n this.trigger('normal');\n};\n\nlineProto.updateLayout = function (lineData, idx) {\n this.setLinePoints(lineData.getItemLayout(idx));\n};\n\nlineProto.setLinePoints = function (points) {\n var linePath = this.childOfName('line');\n setLinePoints(linePath.shape, points);\n linePath.dirty();\n};\n\nzrUtil.inherits(Line, graphic.Group);\nvar _default = Line;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar filter = _util.filter;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar indexOf = _util.indexOf;\nvar isObject = _util.isObject;\nvar isString = _util.isString;\nvar createHashMap = _util.createHashMap;\nvar assert = _util.assert;\nvar clone = _util.clone;\nvar merge = _util.merge;\nvar extend = _util.extend;\nvar mixin = _util.mixin;\n\nvar modelUtil = require(\"../util/model\");\n\nvar Model = require(\"./Model\");\n\nvar ComponentModel = require(\"./Component\");\n\nvar globalDefault = require(\"./globalDefault\");\n\nvar colorPaletteMixin = require(\"./mixin/colorPalette\");\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar resetSourceDefaulter = _sourceHelper.resetSourceDefaulter;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * ECharts global model\n *\n * @module {echarts/model/Global}\n */\n\n/**\n * Caution: If the mechanism should be changed some day, these cases\n * should be considered:\n *\n * (1) In `merge option` mode, if using the same option to call `setOption`\n * many times, the result should be the same (try our best to ensure that).\n * (2) In `merge option` mode, if a component has no id/name specified, it\n * will be merged by index, and the result sequence of the components is\n * consistent to the original sequence.\n * (3) `reset` feature (in toolbox). Find detailed info in comments about\n * `mergeOption` in module:echarts/model/OptionManager.\n */\nvar OPTION_INNER_KEY = '\\0_ec_inner';\n/**\n * @alias module:echarts/model/Global\n *\n * @param {Object} option\n * @param {module:echarts/model/Model} parentModel\n * @param {Object} theme\n */\n\nvar GlobalModel = Model.extend({\n init: function (option, parentModel, theme, optionManager) {\n theme = theme || {};\n this.option = null; // Mark as not initialized.\n\n /**\n * @type {module:echarts/model/Model}\n * @private\n */\n\n this._theme = new Model(theme);\n /**\n * @type {module:echarts/model/OptionManager}\n */\n\n this._optionManager = optionManager;\n },\n setOption: function (option, optionPreprocessorFuncs) {\n assert(!(OPTION_INNER_KEY in option), 'please use chart.getOption()');\n\n this._optionManager.setOption(option, optionPreprocessorFuncs);\n\n this.resetOption(null);\n },\n\n /**\n * @param {string} type null/undefined: reset all.\n * 'recreate': force recreate all.\n * 'timeline': only reset timeline option\n * 'media': only reset media query option\n * @return {boolean} Whether option changed.\n */\n resetOption: function (type) {\n var optionChanged = false;\n var optionManager = this._optionManager;\n\n if (!type || type === 'recreate') {\n var baseOption = optionManager.mountOption(type === 'recreate');\n\n if (!this.option || type === 'recreate') {\n initBase.call(this, baseOption);\n } else {\n this.restoreData();\n this.mergeOption(baseOption);\n }\n\n optionChanged = true;\n }\n\n if (type === 'timeline' || type === 'media') {\n this.restoreData();\n }\n\n if (!type || type === 'recreate' || type === 'timeline') {\n var timelineOption = optionManager.getTimelineOption(this);\n timelineOption && (this.mergeOption(timelineOption), optionChanged = true);\n }\n\n if (!type || type === 'recreate' || type === 'media') {\n var mediaOptions = optionManager.getMediaOption(this, this._api);\n\n if (mediaOptions.length) {\n each(mediaOptions, function (mediaOption) {\n this.mergeOption(mediaOption, optionChanged = true);\n }, this);\n }\n }\n\n return optionChanged;\n },\n\n /**\n * @protected\n */\n mergeOption: function (newOption) {\n var option = this.option;\n var componentsMap = this._componentsMap;\n var newCptTypes = [];\n resetSourceDefaulter(this); // If no component class, merge directly.\n // For example: color, animaiton options, etc.\n\n each(newOption, function (componentOption, mainType) {\n if (componentOption == null) {\n return;\n }\n\n if (!ComponentModel.hasClass(mainType)) {\n // globalSettingTask.dirty();\n option[mainType] = option[mainType] == null ? clone(componentOption) : merge(option[mainType], componentOption, true);\n } else if (mainType) {\n newCptTypes.push(mainType);\n }\n });\n ComponentModel.topologicalTravel(newCptTypes, ComponentModel.getAllClassMainTypes(), visitComponent, this);\n\n function visitComponent(mainType, dependencies) {\n var newCptOptionList = modelUtil.normalizeToArray(newOption[mainType]);\n var mapResult = modelUtil.mappingToExists(componentsMap.get(mainType), newCptOptionList);\n modelUtil.makeIdAndName(mapResult); // Set mainType and complete subType.\n\n each(mapResult, function (item, index) {\n var opt = item.option;\n\n if (isObject(opt)) {\n item.keyInfo.mainType = mainType;\n item.keyInfo.subType = determineSubType(mainType, opt, item.exist);\n }\n });\n var dependentModels = getComponentsByTypes(componentsMap, dependencies);\n option[mainType] = [];\n componentsMap.set(mainType, []);\n each(mapResult, function (resultItem, index) {\n var componentModel = resultItem.exist;\n var newCptOption = resultItem.option;\n assert(isObject(newCptOption) || componentModel, 'Empty component definition'); // Consider where is no new option and should be merged using {},\n // see removeEdgeAndAdd in topologicalTravel and\n // ComponentModel.getAllClassMainTypes.\n\n if (!newCptOption) {\n componentModel.mergeOption({}, this);\n componentModel.optionUpdated({}, false);\n } else {\n var ComponentModelClass = ComponentModel.getClass(mainType, resultItem.keyInfo.subType, true);\n\n if (componentModel && componentModel.constructor === ComponentModelClass) {\n componentModel.name = resultItem.keyInfo.name; // componentModel.settingTask && componentModel.settingTask.dirty();\n\n componentModel.mergeOption(newCptOption, this);\n componentModel.optionUpdated(newCptOption, false);\n } else {\n // PENDING Global as parent ?\n var extraOpt = extend({\n dependentModels: dependentModels,\n componentIndex: index\n }, resultItem.keyInfo);\n componentModel = new ComponentModelClass(newCptOption, this, this, extraOpt);\n extend(componentModel, extraOpt);\n componentModel.init(newCptOption, this, this, extraOpt); // Call optionUpdated after init.\n // newCptOption has been used as componentModel.option\n // and may be merged with theme and default, so pass null\n // to avoid confusion.\n\n componentModel.optionUpdated(null, true);\n }\n }\n\n componentsMap.get(mainType)[index] = componentModel;\n option[mainType][index] = componentModel.option;\n }, this); // Backup series for filtering.\n\n if (mainType === 'series') {\n createSeriesIndices(this, componentsMap.get('series'));\n }\n }\n\n this._seriesIndicesMap = createHashMap(this._seriesIndices = this._seriesIndices || []);\n },\n\n /**\n * Get option for output (cloned option and inner info removed)\n * @public\n * @return {Object}\n */\n getOption: function () {\n var option = clone(this.option);\n each(option, function (opts, mainType) {\n if (ComponentModel.hasClass(mainType)) {\n var opts = modelUtil.normalizeToArray(opts);\n\n for (var i = opts.length - 1; i >= 0; i--) {\n // Remove options with inner id.\n if (modelUtil.isIdInner(opts[i])) {\n opts.splice(i, 1);\n }\n }\n\n option[mainType] = opts;\n }\n });\n delete option[OPTION_INNER_KEY];\n return option;\n },\n\n /**\n * @return {module:echarts/model/Model}\n */\n getTheme: function () {\n return this._theme;\n },\n\n /**\n * @param {string} mainType\n * @param {number} [idx=0]\n * @return {module:echarts/model/Component}\n */\n getComponent: function (mainType, idx) {\n var list = this._componentsMap.get(mainType);\n\n if (list) {\n return list[idx || 0];\n }\n },\n\n /**\n * If none of index and id and name used, return all components with mainType.\n * @param {Object} condition\n * @param {string} condition.mainType\n * @param {string} [condition.subType] If ignore, only query by mainType\n * @param {number|Array.} [condition.index] Either input index or id or name.\n * @param {string|Array.} [condition.id] Either input index or id or name.\n * @param {string|Array.} [condition.name] Either input index or id or name.\n * @return {Array.}\n */\n queryComponents: function (condition) {\n var mainType = condition.mainType;\n\n if (!mainType) {\n return [];\n }\n\n var index = condition.index;\n var id = condition.id;\n var name = condition.name;\n\n var cpts = this._componentsMap.get(mainType);\n\n if (!cpts || !cpts.length) {\n return [];\n }\n\n var result;\n\n if (index != null) {\n if (!isArray(index)) {\n index = [index];\n }\n\n result = filter(map(index, function (idx) {\n return cpts[idx];\n }), function (val) {\n return !!val;\n });\n } else if (id != null) {\n var isIdArray = isArray(id);\n result = filter(cpts, function (cpt) {\n return isIdArray && indexOf(id, cpt.id) >= 0 || !isIdArray && cpt.id === id;\n });\n } else if (name != null) {\n var isNameArray = isArray(name);\n result = filter(cpts, function (cpt) {\n return isNameArray && indexOf(name, cpt.name) >= 0 || !isNameArray && cpt.name === name;\n });\n } else {\n // Return all components with mainType\n result = cpts.slice();\n }\n\n return filterBySubType(result, condition);\n },\n\n /**\n * The interface is different from queryComponents,\n * which is convenient for inner usage.\n *\n * @usage\n * var result = findComponents(\n * {mainType: 'dataZoom', query: {dataZoomId: 'abc'}}\n * );\n * var result = findComponents(\n * {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}}\n * );\n * var result = findComponents(\n * {mainType: 'series',\n * filter: function (model, index) {...}}\n * );\n * // result like [component0, componnet1, ...]\n *\n * @param {Object} condition\n * @param {string} condition.mainType Mandatory.\n * @param {string} [condition.subType] Optional.\n * @param {Object} [condition.query] like {xxxIndex, xxxId, xxxName},\n * where xxx is mainType.\n * If query attribute is null/undefined or has no index/id/name,\n * do not filtering by query conditions, which is convenient for\n * no-payload situations or when target of action is global.\n * @param {Function} [condition.filter] parameter: component, return boolean.\n * @return {Array.}\n */\n findComponents: function (condition) {\n var query = condition.query;\n var mainType = condition.mainType;\n var queryCond = getQueryCond(query);\n var result = queryCond ? this.queryComponents(queryCond) : this._componentsMap.get(mainType);\n return doFilter(filterBySubType(result, condition));\n\n function getQueryCond(q) {\n var indexAttr = mainType + 'Index';\n var idAttr = mainType + 'Id';\n var nameAttr = mainType + 'Name';\n return q && (q[indexAttr] != null || q[idAttr] != null || q[nameAttr] != null) ? {\n mainType: mainType,\n // subType will be filtered finally.\n index: q[indexAttr],\n id: q[idAttr],\n name: q[nameAttr]\n } : null;\n }\n\n function doFilter(res) {\n return condition.filter ? filter(res, condition.filter) : res;\n }\n },\n\n /**\n * @usage\n * eachComponent('legend', function (legendModel, index) {\n * ...\n * });\n * eachComponent(function (componentType, model, index) {\n * // componentType does not include subType\n * // (componentType is 'xxx' but not 'xxx.aa')\n * });\n * eachComponent(\n * {mainType: 'dataZoom', query: {dataZoomId: 'abc'}},\n * function (model, index) {...}\n * );\n * eachComponent(\n * {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}},\n * function (model, index) {...}\n * );\n *\n * @param {string|Object=} mainType When mainType is object, the definition\n * is the same as the method 'findComponents'.\n * @param {Function} cb\n * @param {*} context\n */\n eachComponent: function (mainType, cb, context) {\n var componentsMap = this._componentsMap;\n\n if (typeof mainType === 'function') {\n context = cb;\n cb = mainType;\n componentsMap.each(function (components, componentType) {\n each(components, function (component, index) {\n cb.call(context, componentType, component, index);\n });\n });\n } else if (isString(mainType)) {\n each(componentsMap.get(mainType), cb, context);\n } else if (isObject(mainType)) {\n var queryResult = this.findComponents(mainType);\n each(queryResult, cb, context);\n }\n },\n\n /**\n * @param {string} name\n * @return {Array.}\n */\n getSeriesByName: function (name) {\n var series = this._componentsMap.get('series');\n\n return filter(series, function (oneSeries) {\n return oneSeries.name === name;\n });\n },\n\n /**\n * @param {number} seriesIndex\n * @return {module:echarts/model/Series}\n */\n getSeriesByIndex: function (seriesIndex) {\n return this._componentsMap.get('series')[seriesIndex];\n },\n\n /**\n * Get series list before filtered by type.\n * FIXME: rename to getRawSeriesByType?\n *\n * @param {string} subType\n * @return {Array.}\n */\n getSeriesByType: function (subType) {\n var series = this._componentsMap.get('series');\n\n return filter(series, function (oneSeries) {\n return oneSeries.subType === subType;\n });\n },\n\n /**\n * @return {Array.}\n */\n getSeries: function () {\n return this._componentsMap.get('series').slice();\n },\n\n /**\n * @return {number}\n */\n getSeriesCount: function () {\n return this._componentsMap.get('series').length;\n },\n\n /**\n * After filtering, series may be different\n * frome raw series.\n *\n * @param {Function} cb\n * @param {*} context\n */\n eachSeries: function (cb, context) {\n assertSeriesInitialized(this);\n each(this._seriesIndices, function (rawSeriesIndex) {\n var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n cb.call(context, series, rawSeriesIndex);\n }, this);\n },\n\n /**\n * Iterate raw series before filtered.\n *\n * @param {Function} cb\n * @param {*} context\n */\n eachRawSeries: function (cb, context) {\n each(this._componentsMap.get('series'), cb, context);\n },\n\n /**\n * After filtering, series may be different.\n * frome raw series.\n *\n * @param {string} subType.\n * @param {Function} cb\n * @param {*} context\n */\n eachSeriesByType: function (subType, cb, context) {\n assertSeriesInitialized(this);\n each(this._seriesIndices, function (rawSeriesIndex) {\n var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n if (series.subType === subType) {\n cb.call(context, series, rawSeriesIndex);\n }\n }, this);\n },\n\n /**\n * Iterate raw series before filtered of given type.\n *\n * @parma {string} subType\n * @param {Function} cb\n * @param {*} context\n */\n eachRawSeriesByType: function (subType, cb, context) {\n return each(this.getSeriesByType(subType), cb, context);\n },\n\n /**\n * @param {module:echarts/model/Series} seriesModel\n */\n isSeriesFiltered: function (seriesModel) {\n assertSeriesInitialized(this);\n return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;\n },\n\n /**\n * @return {Array.}\n */\n getCurrentSeriesIndices: function () {\n return (this._seriesIndices || []).slice();\n },\n\n /**\n * @param {Function} cb\n * @param {*} context\n */\n filterSeries: function (cb, context) {\n assertSeriesInitialized(this);\n var filteredSeries = filter(this._componentsMap.get('series'), cb, context);\n createSeriesIndices(this, filteredSeries);\n },\n restoreData: function (payload) {\n var componentsMap = this._componentsMap;\n createSeriesIndices(this, componentsMap.get('series'));\n var componentTypes = [];\n componentsMap.each(function (components, componentType) {\n componentTypes.push(componentType);\n });\n ComponentModel.topologicalTravel(componentTypes, ComponentModel.getAllClassMainTypes(), function (componentType, dependencies) {\n each(componentsMap.get(componentType), function (component) {\n (componentType !== 'series' || !isNotTargetSeries(component, payload)) && component.restoreData();\n });\n });\n }\n});\n\nfunction isNotTargetSeries(seriesModel, payload) {\n if (payload) {\n var index = payload.seiresIndex;\n var id = payload.seriesId;\n var name = payload.seriesName;\n return index != null && seriesModel.componentIndex !== index || id != null && seriesModel.id !== id || name != null && seriesModel.name !== name;\n }\n}\n/**\n * @inner\n */\n\n\nfunction mergeTheme(option, theme) {\n // PENDING\n // NOT use `colorLayer` in theme if option has `color`\n var notMergeColorLayer = option.color && !option.colorLayer;\n each(theme, function (themeItem, name) {\n if (name === 'colorLayer' && notMergeColorLayer) {\n return;\n } // 如果有 component model 则把具体的 merge 逻辑交给该 model 处理\n\n\n if (!ComponentModel.hasClass(name)) {\n if (typeof themeItem === 'object') {\n option[name] = !option[name] ? clone(themeItem) : merge(option[name], themeItem, false);\n } else {\n if (option[name] == null) {\n option[name] = themeItem;\n }\n }\n }\n });\n}\n\nfunction initBase(baseOption) {\n baseOption = baseOption; // Using OPTION_INNER_KEY to mark that this option can not be used outside,\n // i.e. `chart.setOption(chart.getModel().option);` is forbiden.\n\n this.option = {};\n this.option[OPTION_INNER_KEY] = 1;\n /**\n * Init with series: [], in case of calling findSeries method\n * before series initialized.\n * @type {Object.>}\n * @private\n */\n\n this._componentsMap = createHashMap({\n series: []\n });\n /**\n * Mapping between filtered series list and raw series list.\n * key: filtered series indices, value: raw series indices.\n * @type {Array.}\n * @private\n */\n\n this._seriesIndices;\n this._seriesIndicesMap;\n mergeTheme(baseOption, this._theme.option); // TODO Needs clone when merging to the unexisted property\n\n merge(baseOption, globalDefault, false);\n this.mergeOption(baseOption);\n}\n/**\n * @inner\n * @param {Array.|string} types model types\n * @return {Object} key: {string} type, value: {Array.} models\n */\n\n\nfunction getComponentsByTypes(componentsMap, types) {\n if (!isArray(types)) {\n types = types ? [types] : [];\n }\n\n var ret = {};\n each(types, function (type) {\n ret[type] = (componentsMap.get(type) || []).slice();\n });\n return ret;\n}\n/**\n * @inner\n */\n\n\nfunction determineSubType(mainType, newCptOption, existComponent) {\n var subType = newCptOption.type ? newCptOption.type : existComponent ? existComponent.subType // Use determineSubType only when there is no existComponent.\n : ComponentModel.determineSubType(mainType, newCptOption); // tooltip, markline, markpoint may always has no subType\n\n return subType;\n}\n/**\n * @inner\n */\n\n\nfunction createSeriesIndices(ecModel, seriesModels) {\n ecModel._seriesIndicesMap = createHashMap(ecModel._seriesIndices = map(seriesModels, function (series) {\n return series.componentIndex;\n }) || []);\n}\n/**\n * @inner\n */\n\n\nfunction filterBySubType(components, condition) {\n // Using hasOwnProperty for restrict. Consider\n // subType is undefined in user payload.\n return condition.hasOwnProperty('subType') ? filter(components, function (cpt) {\n return cpt.subType === condition.subType;\n }) : components;\n}\n/**\n * @inner\n */\n\n\nfunction assertSeriesInitialized(ecModel) {}\n\nmixin(GlobalModel, colorPaletteMixin);\nvar _default = GlobalModel;\nmodule.exports = _default;","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (target) {\n for (var i = 1, j = arguments.length; i < j; i++) {\n var source = arguments[i] || {};\n for (var prop in source) {\n if (source.hasOwnProperty(prop)) {\n var value = source[prop];\n if (value !== undefined) {\n target[prop] = value;\n }\n }\n }\n }\n\n return target;\n};\n\n;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../util/model\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar layoutUtil = require(\"../util/layout\");\n\nvar _number = require(\"../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _nonShapeGraphicElements = {\n // Reserved but not supported in graphic component.\n path: null,\n compoundPath: null,\n // Supported in graphic component.\n group: graphicUtil.Group,\n image: graphicUtil.Image,\n text: graphicUtil.Text\n}; // -------------\n// Preprocessor\n// -------------\n\necharts.registerPreprocessor(function (option) {\n var graphicOption = option.graphic; // Convert\n // {graphic: [{left: 10, type: 'circle'}, ...]}\n // or\n // {graphic: {left: 10, type: 'circle'}}\n // to\n // {graphic: [{elements: [{left: 10, type: 'circle'}, ...]}]}\n\n if (zrUtil.isArray(graphicOption)) {\n if (!graphicOption[0] || !graphicOption[0].elements) {\n option.graphic = [{\n elements: graphicOption\n }];\n } else {\n // Only one graphic instance can be instantiated. (We dont\n // want that too many views are created in echarts._viewMap)\n option.graphic = [option.graphic[0]];\n }\n } else if (graphicOption && !graphicOption.elements) {\n option.graphic = [{\n elements: [graphicOption]\n }];\n }\n}); // ------\n// Model\n// ------\n\nvar GraphicModel = echarts.extendComponentModel({\n type: 'graphic',\n defaultOption: {\n // Extra properties for each elements:\n //\n // left/right/top/bottom: (like 12, '22%', 'center', default undefined)\n // If left/rigth is set, shape.x/shape.cx/position will not be used.\n // If top/bottom is set, shape.y/shape.cy/position will not be used.\n // This mechanism is useful when you want to position a group/element\n // against the right side or the center of this container.\n //\n // width/height: (can only be pixel value, default 0)\n // Only be used to specify contianer(group) size, if needed. And\n // can not be percentage value (like '33%'). See the reason in the\n // layout algorithm below.\n //\n // bounding: (enum: 'all' (default) | 'raw')\n // Specify how to calculate boundingRect when locating.\n // 'all': Get uioned and transformed boundingRect\n // from both itself and its descendants.\n // This mode simplies confining a group of elements in the bounding\n // of their ancester container (e.g., using 'right: 0').\n // 'raw': Only use the boundingRect of itself and before transformed.\n // This mode is similar to css behavior, which is useful when you\n // want an element to be able to overflow its container. (Consider\n // a rotated circle needs to be located in a corner.)\n // info: custom info. enables user to mount some info on elements and use them\n // in event handlers. Update them only when user specified, otherwise, remain.\n // Note: elements is always behind its ancestors in this elements array.\n elements: [],\n parentId: null\n },\n\n /**\n * Save el options for the sake of the performance (only update modified graphics).\n * The order is the same as those in option. (ancesters -> descendants)\n *\n * @private\n * @type {Array.}\n */\n _elOptionsToUpdate: null,\n\n /**\n * @override\n */\n mergeOption: function (option) {\n // Prevent default merge to elements\n var elements = this.option.elements;\n this.option.elements = null;\n GraphicModel.superApply(this, 'mergeOption', arguments);\n this.option.elements = elements;\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option;\n var newList = (isInit ? thisOption : newOption).elements;\n var existList = thisOption.elements = isInit ? [] : thisOption.elements;\n var flattenedList = [];\n\n this._flatten(newList, flattenedList);\n\n var mappingResult = modelUtil.mappingToExists(existList, flattenedList);\n modelUtil.makeIdAndName(mappingResult); // Clear elOptionsToUpdate\n\n var elOptionsToUpdate = this._elOptionsToUpdate = [];\n zrUtil.each(mappingResult, function (resultItem, index) {\n var newElOption = resultItem.option;\n\n if (!newElOption) {\n return;\n }\n\n elOptionsToUpdate.push(newElOption);\n setKeyInfoToNewElOption(resultItem, newElOption);\n mergeNewElOptionToExist(existList, index, newElOption);\n setLayoutInfoToExist(existList[index], newElOption);\n }, this); // Clean\n\n for (var i = existList.length - 1; i >= 0; i--) {\n if (existList[i] == null) {\n existList.splice(i, 1);\n } else {\n // $action should be volatile, otherwise option gotten from\n // `getOption` will contain unexpected $action.\n delete existList[i].$action;\n }\n }\n },\n\n /**\n * Convert\n * [{\n * type: 'group',\n * id: 'xx',\n * children: [{type: 'circle'}, {type: 'polygon'}]\n * }]\n * to\n * [\n * {type: 'group', id: 'xx'},\n * {type: 'circle', parentId: 'xx'},\n * {type: 'polygon', parentId: 'xx'}\n * ]\n *\n * @private\n * @param {Array.} optionList option list\n * @param {Array.} result result of flatten\n * @param {Object} parentOption parent option\n */\n _flatten: function (optionList, result, parentOption) {\n zrUtil.each(optionList, function (option) {\n if (!option) {\n return;\n }\n\n if (parentOption) {\n option.parentOption = parentOption;\n }\n\n result.push(option);\n var children = option.children;\n\n if (option.type === 'group' && children) {\n this._flatten(children, result, option);\n } // Deleting for JSON output, and for not affecting group creation.\n\n\n delete option.children;\n }, this);\n },\n // FIXME\n // Pass to view using payload? setOption has a payload?\n useElOptionsToUpdate: function () {\n var els = this._elOptionsToUpdate; // Clear to avoid render duplicately when zooming.\n\n this._elOptionsToUpdate = null;\n return els;\n }\n}); // -----\n// View\n// -----\n\necharts.extendComponentView({\n type: 'graphic',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n /**\n * @private\n * @type {module:zrender/core/util.HashMap}\n */\n this._elMap = zrUtil.createHashMap();\n /**\n * @private\n * @type {module:echarts/graphic/GraphicModel}\n */\n\n this._lastGraphicModel;\n },\n\n /**\n * @override\n */\n render: function (graphicModel, ecModel, api) {\n // Having leveraged between use cases and algorithm complexity, a very\n // simple layout mechanism is used:\n // The size(width/height) can be determined by itself or its parent (not\n // implemented yet), but can not by its children. (Top-down travel)\n // The location(x/y) can be determined by the bounding rect of itself\n // (can including its descendants or not) and the size of its parent.\n // (Bottom-up travel)\n // When `chart.clear()` or `chart.setOption({...}, true)` with the same id,\n // view will be reused.\n if (graphicModel !== this._lastGraphicModel) {\n this._clear();\n }\n\n this._lastGraphicModel = graphicModel;\n\n this._updateElements(graphicModel);\n\n this._relocate(graphicModel, api);\n },\n\n /**\n * Update graphic elements.\n *\n * @private\n * @param {Object} graphicModel graphic model\n */\n _updateElements: function (graphicModel) {\n var elOptionsToUpdate = graphicModel.useElOptionsToUpdate();\n\n if (!elOptionsToUpdate) {\n return;\n }\n\n var elMap = this._elMap;\n var rootGroup = this.group; // Top-down tranverse to assign graphic settings to each elements.\n\n zrUtil.each(elOptionsToUpdate, function (elOption) {\n var $action = elOption.$action;\n var id = elOption.id;\n var existEl = elMap.get(id);\n var parentId = elOption.parentId;\n var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;\n var elOptionStyle = elOption.style;\n\n if (elOption.type === 'text' && elOptionStyle) {\n // In top/bottom mode, textVerticalAlign should not be used, which cause\n // inaccurately locating.\n if (elOption.hv && elOption.hv[1]) {\n elOptionStyle.textVerticalAlign = elOptionStyle.textBaseline = null;\n } // Compatible with previous setting: both support fill and textFill,\n // stroke and textStroke.\n\n\n !elOptionStyle.hasOwnProperty('textFill') && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);\n !elOptionStyle.hasOwnProperty('textStroke') && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);\n } // Remove unnecessary props to avoid potential problems.\n\n\n var elOptionCleaned = getCleanedElOption(elOption); // For simple, do not support parent change, otherwise reorder is needed.\n\n if (!$action || $action === 'merge') {\n existEl ? existEl.attr(elOptionCleaned) : createEl(id, targetElParent, elOptionCleaned, elMap);\n } else if ($action === 'replace') {\n removeEl(existEl, elMap);\n createEl(id, targetElParent, elOptionCleaned, elMap);\n } else if ($action === 'remove') {\n removeEl(existEl, elMap);\n }\n\n var el = elMap.get(id);\n\n if (el) {\n el.__ecGraphicWidthOption = elOption.width;\n el.__ecGraphicHeightOption = elOption.height;\n setEventData(el, graphicModel, elOption);\n }\n });\n },\n\n /**\n * Locate graphic elements.\n *\n * @private\n * @param {Object} graphicModel graphic model\n * @param {module:echarts/ExtensionAPI} api extension API\n */\n _relocate: function (graphicModel, api) {\n var elOptions = graphicModel.option.elements;\n var rootGroup = this.group;\n var elMap = this._elMap;\n var apiWidth = api.getWidth();\n var apiHeight = api.getHeight(); // Top-down to calculate percentage width/height of group\n\n for (var i = 0; i < elOptions.length; i++) {\n var elOption = elOptions[i];\n var el = elMap.get(elOption.id);\n\n if (!el || !el.isGroup) {\n continue;\n }\n\n var parentEl = el.parent;\n var isParentRoot = parentEl === rootGroup; // Like 'position:absolut' in css, default 0.\n\n el.__ecGraphicWidth = parsePercent(el.__ecGraphicWidthOption, isParentRoot ? apiWidth : parentEl.__ecGraphicWidth) || 0;\n el.__ecGraphicHeight = parsePercent(el.__ecGraphicHeightOption, isParentRoot ? apiHeight : parentEl.__ecGraphicHeight) || 0;\n } // Bottom-up tranvese all elements (consider ec resize) to locate elements.\n\n\n for (var i = elOptions.length - 1; i >= 0; i--) {\n var elOption = elOptions[i];\n var el = elMap.get(elOption.id);\n\n if (!el) {\n continue;\n }\n\n var parentEl = el.parent;\n var containerInfo = parentEl === rootGroup ? {\n width: apiWidth,\n height: apiHeight\n } : {\n width: parentEl.__ecGraphicWidth,\n height: parentEl.__ecGraphicHeight\n }; // PENDING\n // Currently, when `bounding: 'all'`, the union bounding rect of the group\n // does not include the rect of [0, 0, group.width, group.height], which\n // is probably weird for users. Should we make a break change for it?\n\n layoutUtil.positionElement(el, elOption, containerInfo, null, {\n hv: elOption.hv,\n boundingMode: elOption.bounding\n });\n }\n },\n\n /**\n * Clear all elements.\n *\n * @private\n */\n _clear: function () {\n var elMap = this._elMap;\n elMap.each(function (el) {\n removeEl(el, elMap);\n });\n this._elMap = zrUtil.createHashMap();\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clear();\n }\n});\n\nfunction createEl(id, targetElParent, elOption, elMap) {\n var graphicType = elOption.type;\n var Clz = _nonShapeGraphicElements.hasOwnProperty(graphicType) // Those graphic elements are not shapes. They should not be\n // overwritten by users, so do them first.\n ? _nonShapeGraphicElements[graphicType] : graphicUtil.getShapeClass(graphicType);\n var el = new Clz(elOption);\n targetElParent.add(el);\n elMap.set(id, el);\n el.__ecGraphicId = id;\n}\n\nfunction removeEl(existEl, elMap) {\n var existElParent = existEl && existEl.parent;\n\n if (existElParent) {\n existEl.type === 'group' && existEl.traverse(function (el) {\n removeEl(el, elMap);\n });\n elMap.removeKey(existEl.__ecGraphicId);\n existElParent.remove(existEl);\n }\n} // Remove unnecessary props to avoid potential problems.\n\n\nfunction getCleanedElOption(elOption) {\n elOption = zrUtil.extend({}, elOption);\n zrUtil.each(['id', 'parentId', '$action', 'hv', 'bounding'].concat(layoutUtil.LOCATION_PARAMS), function (name) {\n delete elOption[name];\n });\n return elOption;\n}\n\nfunction isSetLoc(obj, props) {\n var isSet;\n zrUtil.each(props, function (prop) {\n obj[prop] != null && obj[prop] !== 'auto' && (isSet = true);\n });\n return isSet;\n}\n\nfunction setKeyInfoToNewElOption(resultItem, newElOption) {\n var existElOption = resultItem.exist; // Set id and type after id assigned.\n\n newElOption.id = resultItem.keyInfo.id;\n !newElOption.type && existElOption && (newElOption.type = existElOption.type); // Set parent id if not specified\n\n if (newElOption.parentId == null) {\n var newElParentOption = newElOption.parentOption;\n\n if (newElParentOption) {\n newElOption.parentId = newElParentOption.id;\n } else if (existElOption) {\n newElOption.parentId = existElOption.parentId;\n }\n } // Clear\n\n\n newElOption.parentOption = null;\n}\n\nfunction mergeNewElOptionToExist(existList, index, newElOption) {\n // Update existing options, for `getOption` feature.\n var newElOptCopy = zrUtil.extend({}, newElOption);\n var existElOption = existList[index];\n var $action = newElOption.$action || 'merge';\n\n if ($action === 'merge') {\n if (existElOption) {\n // We can ensure that newElOptCopy and existElOption are not\n // the same object, so `merge` will not change newElOptCopy.\n zrUtil.merge(existElOption, newElOptCopy, true); // Rigid body, use ignoreSize.\n\n layoutUtil.mergeLayoutParam(existElOption, newElOptCopy, {\n ignoreSize: true\n }); // Will be used in render.\n\n layoutUtil.copyLayoutParams(newElOption, existElOption);\n } else {\n existList[index] = newElOptCopy;\n }\n } else if ($action === 'replace') {\n existList[index] = newElOptCopy;\n } else if ($action === 'remove') {\n // null will be cleaned later.\n existElOption && (existList[index] = null);\n }\n}\n\nfunction setLayoutInfoToExist(existItem, newElOption) {\n if (!existItem) {\n return;\n }\n\n existItem.hv = newElOption.hv = [// Rigid body, dont care `width`.\n isSetLoc(newElOption, ['left', 'right']), // Rigid body, dont care `height`.\n isSetLoc(newElOption, ['top', 'bottom'])]; // Give default group size. Otherwise layout error may occur.\n\n if (existItem.type === 'group') {\n existItem.width == null && (existItem.width = newElOption.width = 0);\n existItem.height == null && (existItem.height = newElOption.height = 0);\n }\n}\n\nfunction setEventData(el, graphicModel, elOption) {\n var eventData = el.eventData; // Simple optimize for large amount of elements that no need event.\n\n if (!el.silent && !el.ignore && !eventData) {\n eventData = el.eventData = {\n componentType: 'graphic',\n componentIndex: graphicModel.componentIndex,\n name: el.name\n };\n } // `elOption.info` enables user to mount some info on\n // elements and use them in event handlers.\n\n\n if (eventData) {\n eventData.info = el.info;\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/InsideZoomModel\");\n\nrequire(\"./dataZoom/InsideZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Line path for bezier and straight line draw\n */\nvar straightLineProto = graphic.Line.prototype;\nvar bezierCurveProto = graphic.BezierCurve.prototype;\n\nfunction isLine(shape) {\n return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);\n}\n\nvar _default = graphic.extendShape({\n type: 'ec-line',\n style: {\n stroke: '#000',\n fill: null\n },\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n percent: 1,\n cpx1: null,\n cpy1: null\n },\n buildPath: function (ctx, shape) {\n this[isLine(shape) ? '_buildPathLine' : '_buildPathCurve'](ctx, shape);\n },\n _buildPathLine: straightLineProto.buildPath,\n _buildPathCurve: bezierCurveProto.buildPath,\n pointAt: function (t) {\n return this[isLine(this.shape) ? '_pointAtLine' : '_pointAtCurve'](t);\n },\n _pointAtLine: straightLineProto.pointAt,\n _pointAtCurve: bezierCurveProto.pointAt,\n tangentAt: function (t) {\n var shape = this.shape;\n var p = isLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : this._tangentAtCurve(t);\n return vec2.normalize(p, p);\n },\n _tangentAtCurve: bezierCurveProto.tangentAt\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isFunction = _util.isFunction;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType, defaultSymbolType, legendSymbol) {\n // Encoding visual for all series include which is filtered for legend drawing\n return {\n seriesType: seriesType,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var symbolType = seriesModel.get('symbol');\n var symbolSize = seriesModel.get('symbolSize');\n var keepAspect = seriesModel.get('symbolKeepAspect');\n var symbolRotate = seriesModel.get('symbolRotate');\n var hasSymbolTypeCallback = isFunction(symbolType);\n var hasSymbolSizeCallback = isFunction(symbolSize);\n var hasSymbolRotateCallback = isFunction(symbolRotate);\n var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback || hasSymbolRotateCallback;\n var seriesSymbol = !hasSymbolTypeCallback && symbolType ? symbolType : defaultSymbolType;\n var seriesSymbolSize = !hasSymbolSizeCallback ? symbolSize : null;\n var seriesSymbolRotate = !hasSymbolRotateCallback ? seriesSymbolRotate : null;\n data.setVisual({\n legendSymbol: legendSymbol || seriesSymbol,\n // If seting callback functions on `symbol` or `symbolSize`, for simplicity and avoiding\n // to bring trouble, we do not pick a reuslt from one of its calling on data item here,\n // but just use the default value. Callback on `symbol` or `symbolSize` is convenient in\n // some cases but generally it is not recommanded.\n symbol: seriesSymbol,\n symbolSize: seriesSymbolSize,\n symbolKeepAspect: keepAspect,\n symbolRotate: symbolRotate\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n function dataEach(data, idx) {\n if (hasCallback) {\n var rawValue = seriesModel.getRawValue(idx);\n var params = seriesModel.getDataParams(idx);\n hasSymbolTypeCallback && data.setItemVisual(idx, 'symbol', symbolType(rawValue, params));\n hasSymbolSizeCallback && data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params));\n hasSymbolRotateCallback && data.setItemVisual(idx, 'symbolRotate', symbolRotate(rawValue, params));\n }\n\n if (data.hasItemOption) {\n var itemModel = data.getItemModel(idx);\n var itemSymbolType = itemModel.getShallow('symbol', true);\n var itemSymbolSize = itemModel.getShallow('symbolSize', true);\n var itemSymbolRotate = itemModel.getShallow('symbolRotate', true);\n var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true); // If has item symbol\n\n if (itemSymbolType != null) {\n data.setItemVisual(idx, 'symbol', itemSymbolType);\n }\n\n if (itemSymbolSize != null) {\n // PENDING Transform symbolSize ?\n data.setItemVisual(idx, 'symbolSize', itemSymbolSize);\n }\n\n if (itemSymbolRotate != null) {\n data.setItemVisual(idx, 'symbolRotate', itemSymbolRotate);\n }\n\n if (itemSymbolKeepAspect != null) {\n data.setItemVisual(idx, 'symbolKeepAspect', itemSymbolKeepAspect);\n }\n }\n }\n\n return {\n dataEach: data.hasItemOption || hasCallback ? dataEach : null\n };\n }\n };\n}\n\nmodule.exports = _default;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 126);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 126:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-checkbox-group\",\n attrs: { role: \"group\", \"aria-label\": \"checkbox-group\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n\n\n\n/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({\n name: 'ElCheckboxGroup',\n\n componentName: 'ElCheckboxGroup',\n\n mixins: [emitter_default.a],\n\n inject: {\n elFormItem: {\n default: ''\n }\n },\n\n props: {\n value: {},\n disabled: Boolean,\n min: Number,\n max: Number,\n size: String,\n fill: String,\n textColor: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n checkboxGroupSize: function checkboxGroupSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n }\n },\n\n watch: {\n value: function value(_value) {\n this.dispatch('ElFormItem', 'el.form.change', [_value]);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_checkbox_groupvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/checkbox/src/checkbox-group.vue\"\n/* harmony default export */ var checkbox_group = (component.exports);\n// CONCATENATED MODULE: ./packages/checkbox-group/index.js\n\n\n/* istanbul ignore next */\ncheckbox_group.install = function (Vue) {\n Vue.component(checkbox_group.name, checkbox_group);\n};\n\n/* harmony default export */ var packages_checkbox_group = __webpack_exports__[\"default\"] = (checkbox_group);\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ })\n\n/******/ });","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction defaultKeyGetter(item) {\n return item;\n}\n/**\n * @param {Array} oldArr\n * @param {Array} newArr\n * @param {Function} oldKeyGetter\n * @param {Function} newKeyGetter\n * @param {Object} [context] Can be visited by this.context in callback.\n */\n\n\nfunction DataDiffer(oldArr, newArr, oldKeyGetter, newKeyGetter, context) {\n this._old = oldArr;\n this._new = newArr;\n this._oldKeyGetter = oldKeyGetter || defaultKeyGetter;\n this._newKeyGetter = newKeyGetter || defaultKeyGetter;\n this.context = context;\n}\n\nDataDiffer.prototype = {\n constructor: DataDiffer,\n\n /**\n * Callback function when add a data\n */\n add: function (func) {\n this._add = func;\n return this;\n },\n\n /**\n * Callback function when update a data\n */\n update: function (func) {\n this._update = func;\n return this;\n },\n\n /**\n * Callback function when remove a data\n */\n remove: function (func) {\n this._remove = func;\n return this;\n },\n execute: function () {\n var oldArr = this._old;\n var newArr = this._new;\n var oldDataIndexMap = {};\n var newDataIndexMap = {};\n var oldDataKeyArr = [];\n var newDataKeyArr = [];\n var i;\n initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, '_oldKeyGetter', this);\n initIndexMap(newArr, newDataIndexMap, newDataKeyArr, '_newKeyGetter', this);\n\n for (i = 0; i < oldArr.length; i++) {\n var key = oldDataKeyArr[i];\n var idx = newDataIndexMap[key]; // idx can never be empty array here. see 'set null' logic below.\n\n if (idx != null) {\n // Consider there is duplicate key (for example, use dataItem.name as key).\n // We should make sure every item in newArr and oldArr can be visited.\n var len = idx.length;\n\n if (len) {\n len === 1 && (newDataIndexMap[key] = null);\n idx = idx.shift();\n } else {\n newDataIndexMap[key] = null;\n }\n\n this._update && this._update(idx, i);\n } else {\n this._remove && this._remove(i);\n }\n }\n\n for (var i = 0; i < newDataKeyArr.length; i++) {\n var key = newDataKeyArr[i];\n\n if (newDataIndexMap.hasOwnProperty(key)) {\n var idx = newDataIndexMap[key];\n\n if (idx == null) {\n continue;\n } // idx can never be empty array here. see 'set null' logic above.\n\n\n if (!idx.length) {\n this._add && this._add(idx);\n } else {\n for (var j = 0, len = idx.length; j < len; j++) {\n this._add && this._add(idx[j]);\n }\n }\n }\n }\n }\n};\n\nfunction initIndexMap(arr, map, keyArr, keyGetterName, dataDiffer) {\n for (var i = 0; i < arr.length; i++) {\n // Add prefix to avoid conflict with Object.prototype.\n var key = '_ec_' + dataDiffer[keyGetterName](arr[i], i);\n var existence = map[key];\n\n if (existence == null) {\n keyArr.push(key);\n map[key] = i;\n } else {\n if (!existence.length) {\n map[key] = existence = [existence];\n }\n\n existence.push(i);\n }\n }\n}\n\nvar _default = DataDiffer;\nmodule.exports = _default;","'use strict';\n\nexports.__esModule = true;\nexports.isEmpty = exports.isEqual = exports.arrayEquals = exports.looseEqual = exports.capitalize = exports.kebabCase = exports.autoprefixer = exports.isFirefox = exports.isEdge = exports.isIE = exports.coerceTruthyValueToArray = exports.arrayFind = exports.arrayFindIndex = exports.escapeRegexpString = exports.valueEquals = exports.generateId = exports.getValueByPath = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.noop = noop;\nexports.hasOwn = hasOwn;\nexports.toObject = toObject;\nexports.getPropByPath = getPropByPath;\nexports.rafThrottle = rafThrottle;\nexports.objToArray = objToArray;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _types = require('element-ui/lib/utils/types');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction noop() {};\n\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n};\n\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n};\n\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n};\n\nvar getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {\n prop = prop || '';\n var paths = prop.split('.');\n var current = object;\n var result = null;\n for (var i = 0, j = paths.length; i < j; i++) {\n var path = paths[i];\n if (!current) break;\n\n if (i === j - 1) {\n result = current[path];\n break;\n }\n current = current[path];\n }\n return result;\n};\n\nfunction getPropByPath(obj, path, strict) {\n var tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n\n var keyArr = path.split('.');\n var i = 0;\n for (var len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n var key = keyArr[i];\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid prop path to form item!');\n }\n break;\n }\n }\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null\n };\n};\n\nvar generateId = exports.generateId = function generateId() {\n return Math.floor(Math.random() * 10000);\n};\n\nvar valueEquals = exports.valueEquals = function valueEquals(a, b) {\n // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript\n if (a === b) return true;\n if (!(a instanceof Array)) return false;\n if (!(b instanceof Array)) return false;\n if (a.length !== b.length) return false;\n for (var i = 0; i !== a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n};\n\nvar escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\n// TODO: use native Array.find, Array.findIndex when IE support is dropped\nvar arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {\n for (var i = 0; i !== arr.length; ++i) {\n if (pred(arr[i])) {\n return i;\n }\n }\n return -1;\n};\n\nvar arrayFind = exports.arrayFind = function arrayFind(arr, pred) {\n var idx = arrayFindIndex(arr, pred);\n return idx !== -1 ? arr[idx] : undefined;\n};\n\n// coerce truthy value to array\nvar coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n};\n\nvar isIE = exports.isIE = function isIE() {\n return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode));\n};\n\nvar isEdge = exports.isEdge = function isEdge() {\n return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;\n};\n\nvar isFirefox = exports.isFirefox = function isFirefox() {\n return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);\n};\n\nvar autoprefixer = exports.autoprefixer = function autoprefixer(style) {\n if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;\n var rules = ['transform', 'transition', 'animation'];\n var prefixes = ['ms-', 'webkit-'];\n rules.forEach(function (rule) {\n var value = style[rule];\n if (rule && value) {\n prefixes.forEach(function (prefix) {\n style[prefix + rule] = value;\n });\n }\n });\n return style;\n};\n\nvar kebabCase = exports.kebabCase = function kebabCase(str) {\n var hyphenateRE = /([^-])([A-Z])/g;\n return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();\n};\n\nvar capitalize = exports.capitalize = function capitalize(str) {\n if (!(0, _types.isString)(str)) return str;\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nvar looseEqual = exports.looseEqual = function looseEqual(a, b) {\n var isObjectA = (0, _types.isObject)(a);\n var isObjectB = (0, _types.isObject)(b);\n if (isObjectA && isObjectB) {\n return JSON.stringify(a) === JSON.stringify(b);\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n } else {\n return false;\n }\n};\n\nvar arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) {\n arrayA = arrayA || [];\n arrayB = arrayB || [];\n\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n\n for (var i = 0; i < arrayA.length; i++) {\n if (!looseEqual(arrayA[i], arrayB[i])) {\n return false;\n }\n }\n\n return true;\n};\n\nvar isEqual = exports.isEqual = function isEqual(value1, value2) {\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return arrayEquals(value1, value2);\n }\n return looseEqual(value1, value2);\n};\n\nvar isEmpty = exports.isEmpty = function isEmpty(val) {\n // null or undefined\n if (val == null) return true;\n\n if (typeof val === 'boolean') return false;\n\n if (typeof val === 'number') return !val;\n\n if (val instanceof Error) return val.message === '';\n\n switch (Object.prototype.toString.call(val)) {\n // String or Array\n case '[object String]':\n case '[object Array]':\n return !val.length;\n\n // Map or Set or File\n case '[object File]':\n case '[object Map]':\n case '[object Set]':\n {\n return !val.size;\n }\n // Plain Object\n case '[object Object]':\n {\n return !Object.keys(val).length;\n }\n }\n\n return false;\n};\n\nfunction rafThrottle(fn) {\n var locked = false;\n return function () {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (locked) return;\n locked = true;\n window.requestAnimationFrame(function (_) {\n fn.apply(_this, args);\n locked = false;\n });\n };\n}\n\nfunction objToArray(obj) {\n if (Array.isArray(obj)) {\n return obj;\n }\n return isEmpty(obj) ? [] : [obj];\n}","/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['exports', 'echarts'], factory);\n } else if (\n typeof exports === 'object' &&\n typeof exports.nodeName !== 'string'\n ) {\n // CommonJS\n factory(exports, require('echarts'));\n } else {\n // Browser globals\n factory({}, root.echarts);\n }\n})(this, function(exports, echarts) {\n var log = function(msg) {\n if (typeof console !== 'undefined') {\n console && console.error && console.error(msg);\n }\n };\n if (!echarts) {\n log('ECharts is not Loaded');\n return;\n }\n\n var colorPalette = [\n '#2ec7c9',\n '#b6a2de',\n '#5ab1ef',\n '#ffb980',\n '#d87a80',\n '#8d98b3',\n '#e5cf0d',\n '#97b552',\n '#95706d',\n '#dc69aa',\n '#07a2a4',\n '#9a7fd1',\n '#588dd5',\n '#f5994e',\n '#c05050',\n '#59678c',\n '#c9ab00',\n '#7eb00a',\n '#6f5553',\n '#c14089'\n ];\n\n var theme = {\n color: colorPalette,\n\n title: {\n textStyle: {\n fontWeight: 'normal',\n color: '#008acd'\n }\n },\n\n visualMap: {\n itemWidth: 15,\n color: ['#5ab1ef', '#e0ffff']\n },\n\n toolbox: {\n iconStyle: {\n normal: {\n borderColor: colorPalette[0]\n }\n }\n },\n\n tooltip: {\n backgroundColor: 'rgba(50,50,50,0.5)',\n axisPointer: {\n type: 'line',\n lineStyle: {\n color: '#008acd'\n },\n crossStyle: {\n color: '#008acd'\n },\n shadowStyle: {\n color: 'rgba(200,200,200,0.2)'\n }\n }\n },\n\n dataZoom: {\n dataBackgroundColor: '#efefff',\n fillerColor: 'rgba(182,162,222,0.2)',\n handleColor: '#008acd'\n },\n\n grid: {\n borderColor: '#eee'\n },\n\n categoryAxis: {\n axisLine: {\n lineStyle: {\n color: '#008acd'\n }\n },\n splitLine: {\n lineStyle: {\n color: ['#eee']\n }\n }\n },\n\n valueAxis: {\n axisLine: {\n lineStyle: {\n color: '#008acd'\n }\n },\n splitArea: {\n show: true,\n areaStyle: {\n color: ['rgba(250,250,250,0.1)', 'rgba(200,200,200,0.1)']\n }\n },\n splitLine: {\n lineStyle: {\n color: ['#eee']\n }\n }\n },\n\n timeline: {\n lineStyle: {\n color: '#008acd'\n },\n controlStyle: {\n color: '#008acd',\n borderColor: '#008acd'\n },\n symbol: 'emptyCircle',\n symbolSize: 3\n },\n\n line: {\n smooth: true,\n symbol: 'emptyCircle',\n symbolSize: 3\n },\n\n candlestick: {\n itemStyle: {\n color: '#d87a80',\n color0: '#2ec7c9'\n },\n lineStyle: {\n width: 1,\n color: '#d87a80',\n color0: '#2ec7c9'\n },\n areaStyle: {\n color: '#2ec7c9',\n color0: '#b6a2de'\n }\n },\n\n scatter: {\n symbol: 'circle',\n symbolSize: 4\n },\n\n map: {\n itemStyle: {\n color: '#ddd'\n },\n areaStyle: {\n color: '#fe994e'\n },\n label: {\n color: '#d87a80'\n }\n },\n\n graph: {\n itemStyle: {\n color: '#d87a80'\n },\n linkStyle: {\n color: '#2ec7c9'\n }\n },\n\n gauge: {\n axisLine: {\n lineStyle: {\n color: [\n [0.2, '#2ec7c9'],\n [0.8, '#5ab1ef'],\n [1, '#d87a80']\n ],\n width: 10\n }\n },\n axisTick: {\n splitNumber: 10,\n length: 15,\n lineStyle: {\n color: 'auto'\n }\n },\n splitLine: {\n length: 22,\n lineStyle: {\n color: 'auto'\n }\n },\n pointer: {\n width: 5\n }\n }\n };\n\n echarts.registerTheme('macarons', theme);\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar layout = require(\"../../util/layout\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar groupData = _model.groupData;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel, api, payload) {\n ecModel.eachSeriesByType('sankey', function (seriesModel) {\n var nodeWidth = seriesModel.get('nodeWidth');\n var nodeGap = seriesModel.get('nodeGap');\n var layoutInfo = getViewRect(seriesModel, api);\n seriesModel.layoutInfo = layoutInfo;\n var width = layoutInfo.width;\n var height = layoutInfo.height;\n var graph = seriesModel.getGraph();\n var nodes = graph.nodes;\n var edges = graph.edges;\n computeNodeValues(nodes);\n var filteredNodes = zrUtil.filter(nodes, function (node) {\n return node.getLayout().value === 0;\n });\n var iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get('layoutIterations');\n var orient = seriesModel.get('orient');\n var nodeAlign = seriesModel.get('nodeAlign');\n layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign);\n });\n}\n/**\n * Get the layout position of the whole view\n *\n * @param {module:echarts/model/Series} seriesModel the model object of sankey series\n * @param {module:echarts/ExtensionAPI} api provide the API list that the developer can call\n * @return {module:zrender/core/BoundingRect} size of rect to draw the sankey view\n */\n\n\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign) {\n computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign);\n computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient);\n computeEdgeDepths(nodes, orient);\n}\n/**\n * Compute the value of each node by summing the associated edge's value\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n */\n\n\nfunction computeNodeValues(nodes) {\n zrUtil.each(nodes, function (node) {\n var value1 = sum(node.outEdges, getEdgeValue);\n var value2 = sum(node.inEdges, getEdgeValue);\n var nodeRawValue = node.getValue() || 0;\n var value = Math.max(value1, value2, nodeRawValue);\n node.setLayout({\n value: value\n }, true);\n });\n}\n/**\n * Compute the x-position for each node.\n *\n * Here we use Kahn algorithm to detect cycle when we traverse\n * the node to computer the initial x position.\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {number} nodeWidth the dx of the node\n * @param {number} width the whole width of the area to draw the view\n */\n\n\nfunction computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign) {\n // Used to mark whether the edge is deleted. if it is deleted,\n // the value is 0, otherwise it is 1.\n var remainEdges = []; // Storage each node's indegree.\n\n var indegreeArr = []; //Used to storage the node with indegree is equal to 0.\n\n var zeroIndegrees = [];\n var nextTargetNode = [];\n var x = 0;\n var kx = 0;\n\n for (var i = 0; i < edges.length; i++) {\n remainEdges[i] = 1;\n }\n\n for (i = 0; i < nodes.length; i++) {\n indegreeArr[i] = nodes[i].inEdges.length;\n\n if (indegreeArr[i] === 0) {\n zeroIndegrees.push(nodes[i]);\n }\n }\n\n var maxNodeDepth = -1; // Traversing nodes using topological sorting to calculate the\n // horizontal(if orient === 'horizontal') or vertical(if orient === 'vertical')\n // position of the nodes.\n\n while (zeroIndegrees.length) {\n for (var idx = 0; idx < zeroIndegrees.length; idx++) {\n var node = zeroIndegrees[idx];\n var item = node.hostGraph.data.getRawDataItem(node.dataIndex);\n var isItemDepth = item.depth != null && item.depth >= 0;\n\n if (isItemDepth && item.depth > maxNodeDepth) {\n maxNodeDepth = item.depth;\n }\n\n node.setLayout({\n depth: isItemDepth ? item.depth : x\n }, true);\n orient === 'vertical' ? node.setLayout({\n dy: nodeWidth\n }, true) : node.setLayout({\n dx: nodeWidth\n }, true);\n\n for (var edgeIdx = 0; edgeIdx < node.outEdges.length; edgeIdx++) {\n var edge = node.outEdges[edgeIdx];\n var indexEdge = edges.indexOf(edge);\n remainEdges[indexEdge] = 0;\n var targetNode = edge.node2;\n var nodeIndex = nodes.indexOf(targetNode);\n\n if (--indegreeArr[nodeIndex] === 0 && nextTargetNode.indexOf(targetNode) < 0) {\n nextTargetNode.push(targetNode);\n }\n }\n }\n\n ++x;\n zeroIndegrees = nextTargetNode;\n nextTargetNode = [];\n }\n\n for (i = 0; i < remainEdges.length; i++) {\n if (remainEdges[i] === 1) {\n throw new Error('Sankey is a DAG, the original data has cycle!');\n }\n }\n\n var maxDepth = maxNodeDepth > x - 1 ? maxNodeDepth : x - 1;\n\n if (nodeAlign && nodeAlign !== 'left') {\n adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth);\n }\n\n var kx = orient === 'vertical' ? (height - nodeWidth) / maxDepth : (width - nodeWidth) / maxDepth;\n scaleNodeBreadths(nodes, kx, orient);\n}\n\nfunction isNodeDepth(node) {\n var item = node.hostGraph.data.getRawDataItem(node.dataIndex);\n return item.depth != null && item.depth >= 0;\n}\n\nfunction adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth) {\n if (nodeAlign === 'right') {\n var nextSourceNode = [];\n var remainNodes = nodes;\n var nodeHeight = 0;\n\n while (remainNodes.length) {\n for (var i = 0; i < remainNodes.length; i++) {\n var node = remainNodes[i];\n node.setLayout({\n skNodeHeight: nodeHeight\n }, true);\n\n for (var j = 0; j < node.inEdges.length; j++) {\n var edge = node.inEdges[j];\n\n if (nextSourceNode.indexOf(edge.node1) < 0) {\n nextSourceNode.push(edge.node1);\n }\n }\n }\n\n remainNodes = nextSourceNode;\n nextSourceNode = [];\n ++nodeHeight;\n }\n\n zrUtil.each(nodes, function (node) {\n if (!isNodeDepth(node)) {\n node.setLayout({\n depth: Math.max(0, maxDepth - node.getLayout().skNodeHeight)\n }, true);\n }\n });\n } else if (nodeAlign === 'justify') {\n moveSinksRight(nodes, maxDepth);\n }\n}\n/**\n * All the node without outEgdes are assigned maximum x-position and\n * be aligned in the last column.\n *\n * @param {module:echarts/data/Graph~Node} nodes. node of sankey view.\n * @param {number} maxDepth. use to assign to node without outEdges as x-position.\n */\n\n\nfunction moveSinksRight(nodes, maxDepth) {\n zrUtil.each(nodes, function (node) {\n if (!isNodeDepth(node) && !node.outEdges.length) {\n node.setLayout({\n depth: maxDepth\n }, true);\n }\n });\n}\n/**\n * Scale node x-position to the width\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {number} kx multiple used to scale nodes\n */\n\n\nfunction scaleNodeBreadths(nodes, kx, orient) {\n zrUtil.each(nodes, function (node) {\n var nodeDepth = node.getLayout().depth * kx;\n orient === 'vertical' ? node.setLayout({\n y: nodeDepth\n }, true) : node.setLayout({\n x: nodeDepth\n }, true);\n });\n}\n/**\n * Using Gauss-Seidel iterations method to compute the node depth(y-position)\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {module:echarts/data/Graph~Edge} edges edge of sankey view\n * @param {number} height the whole height of the area to draw the view\n * @param {number} nodeGap the vertical distance between two nodes\n * in the same column.\n * @param {number} iterations the number of iterations for the algorithm\n */\n\n\nfunction computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient) {\n var nodesByBreadth = prepareNodesByBreadth(nodes, orient);\n initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient);\n resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n\n for (var alpha = 1; iterations > 0; iterations--) {\n // 0.99 is a experience parameter, ensure that each iterations of\n // changes as small as possible.\n alpha *= 0.99;\n relaxRightToLeft(nodesByBreadth, alpha, orient);\n resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n relaxLeftToRight(nodesByBreadth, alpha, orient);\n resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n }\n}\n\nfunction prepareNodesByBreadth(nodes, orient) {\n var nodesByBreadth = [];\n var keyAttr = orient === 'vertical' ? 'y' : 'x';\n var groupResult = groupData(nodes, function (node) {\n return node.getLayout()[keyAttr];\n });\n groupResult.keys.sort(function (a, b) {\n return a - b;\n });\n zrUtil.each(groupResult.keys, function (key) {\n nodesByBreadth.push(groupResult.buckets.get(key));\n });\n return nodesByBreadth;\n}\n/**\n * Compute the original y-position for each node\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the nodes x-position.\n * @param {module:echarts/data/Graph~Edge} edges edge of sankey view\n * @param {number} height the whole height of the area to draw the view\n * @param {number} nodeGap the vertical distance between two nodes\n */\n\n\nfunction initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient) {\n var minKy = Infinity;\n zrUtil.each(nodesByBreadth, function (nodes) {\n var n = nodes.length;\n var sum = 0;\n zrUtil.each(nodes, function (node) {\n sum += node.getLayout().value;\n });\n var ky = orient === 'vertical' ? (width - (n - 1) * nodeGap) / sum : (height - (n - 1) * nodeGap) / sum;\n\n if (ky < minKy) {\n minKy = ky;\n }\n });\n zrUtil.each(nodesByBreadth, function (nodes) {\n zrUtil.each(nodes, function (node, i) {\n var nodeDy = node.getLayout().value * minKy;\n\n if (orient === 'vertical') {\n node.setLayout({\n x: i\n }, true);\n node.setLayout({\n dx: nodeDy\n }, true);\n } else {\n node.setLayout({\n y: i\n }, true);\n node.setLayout({\n dy: nodeDy\n }, true);\n }\n });\n });\n zrUtil.each(edges, function (edge) {\n var edgeDy = +edge.getValue() * minKy;\n edge.setLayout({\n dy: edgeDy\n }, true);\n });\n}\n/**\n * Resolve the collision of initialized depth (y-position)\n *\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the nodes x-position.\n * @param {number} nodeGap the vertical distance between two nodes\n * @param {number} height the whole height of the area to draw the view\n */\n\n\nfunction resolveCollisions(nodesByBreadth, nodeGap, height, width, orient) {\n var keyAttr = orient === 'vertical' ? 'x' : 'y';\n zrUtil.each(nodesByBreadth, function (nodes) {\n nodes.sort(function (a, b) {\n return a.getLayout()[keyAttr] - b.getLayout()[keyAttr];\n });\n var nodeX;\n var node;\n var dy;\n var y0 = 0;\n var n = nodes.length;\n var nodeDyAttr = orient === 'vertical' ? 'dx' : 'dy';\n\n for (var i = 0; i < n; i++) {\n node = nodes[i];\n dy = y0 - node.getLayout()[keyAttr];\n\n if (dy > 0) {\n nodeX = node.getLayout()[keyAttr] + dy;\n orient === 'vertical' ? node.setLayout({\n x: nodeX\n }, true) : node.setLayout({\n y: nodeX\n }, true);\n }\n\n y0 = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap;\n }\n\n var viewWidth = orient === 'vertical' ? width : height; // If the bottommost node goes outside the bounds, push it back up\n\n dy = y0 - nodeGap - viewWidth;\n\n if (dy > 0) {\n nodeX = node.getLayout()[keyAttr] - dy;\n orient === 'vertical' ? node.setLayout({\n x: nodeX\n }, true) : node.setLayout({\n y: nodeX\n }, true);\n y0 = nodeX;\n\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap - y0;\n\n if (dy > 0) {\n nodeX = node.getLayout()[keyAttr] - dy;\n orient === 'vertical' ? node.setLayout({\n x: nodeX\n }, true) : node.setLayout({\n y: nodeX\n }, true);\n }\n\n y0 = node.getLayout()[keyAttr];\n }\n }\n });\n}\n/**\n * Change the y-position of the nodes, except most the right side nodes\n *\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the node x-position.\n * @param {number} alpha parameter used to adjust the nodes y-position\n */\n\n\nfunction relaxRightToLeft(nodesByBreadth, alpha, orient) {\n zrUtil.each(nodesByBreadth.slice().reverse(), function (nodes) {\n zrUtil.each(nodes, function (node) {\n if (node.outEdges.length) {\n var y = sum(node.outEdges, weightedTarget, orient) / sum(node.outEdges, getEdgeValue, orient);\n\n if (isNaN(y)) {\n var len = node.outEdges.length;\n y = len ? sum(node.outEdges, centerTarget, orient) / len : 0;\n }\n\n if (orient === 'vertical') {\n var nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;\n node.setLayout({\n x: nodeX\n }, true);\n } else {\n var nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;\n node.setLayout({\n y: nodeY\n }, true);\n }\n }\n });\n });\n}\n\nfunction weightedTarget(edge, orient) {\n return center(edge.node2, orient) * edge.getValue();\n}\n\nfunction centerTarget(edge, orient) {\n return center(edge.node2, orient);\n}\n\nfunction weightedSource(edge, orient) {\n return center(edge.node1, orient) * edge.getValue();\n}\n\nfunction centerSource(edge, orient) {\n return center(edge.node1, orient);\n}\n\nfunction center(node, orient) {\n return orient === 'vertical' ? node.getLayout().x + node.getLayout().dx / 2 : node.getLayout().y + node.getLayout().dy / 2;\n}\n\nfunction getEdgeValue(edge) {\n return edge.getValue();\n}\n\nfunction sum(array, cb, orient) {\n var sum = 0;\n var len = array.length;\n var i = -1;\n\n while (++i < len) {\n var value = +cb.call(array, array[i], orient);\n\n if (!isNaN(value)) {\n sum += value;\n }\n }\n\n return sum;\n}\n/**\n * Change the y-position of the nodes, except most the left side nodes\n *\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the node x-position.\n * @param {number} alpha parameter used to adjust the nodes y-position\n */\n\n\nfunction relaxLeftToRight(nodesByBreadth, alpha, orient) {\n zrUtil.each(nodesByBreadth, function (nodes) {\n zrUtil.each(nodes, function (node) {\n if (node.inEdges.length) {\n var y = sum(node.inEdges, weightedSource, orient) / sum(node.inEdges, getEdgeValue, orient);\n\n if (isNaN(y)) {\n var len = node.inEdges.length;\n y = len ? sum(node.inEdges, centerSource, orient) / len : 0;\n }\n\n if (orient === 'vertical') {\n var nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;\n node.setLayout({\n x: nodeX\n }, true);\n } else {\n var nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;\n node.setLayout({\n y: nodeY\n }, true);\n }\n }\n });\n });\n}\n/**\n * Compute the depth(y-position) of each edge\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n */\n\n\nfunction computeEdgeDepths(nodes, orient) {\n var keyAttr = orient === 'vertical' ? 'x' : 'y';\n zrUtil.each(nodes, function (node) {\n node.outEdges.sort(function (a, b) {\n return a.node2.getLayout()[keyAttr] - b.node2.getLayout()[keyAttr];\n });\n node.inEdges.sort(function (a, b) {\n return a.node1.getLayout()[keyAttr] - b.node1.getLayout()[keyAttr];\n });\n });\n zrUtil.each(nodes, function (node) {\n var sy = 0;\n var ty = 0;\n zrUtil.each(node.outEdges, function (edge) {\n edge.setLayout({\n sy: sy\n }, true);\n sy += edge.getLayout().dy;\n });\n zrUtil.each(node.inEdges, function (edge) {\n edge.setLayout({\n ty: ty\n }, true);\n ty += edge.getLayout().dy;\n });\n });\n}\n\nmodule.exports = _default;","var ContextCachedBy = {\n NONE: 0,\n STYLE_BIND: 1,\n PLAIN_TEXT: 2\n}; // Avoid confused with 0/false.\n\nvar WILL_BE_RESTORED = 9;\nexports.ContextCachedBy = ContextCachedBy;\nexports.WILL_BE_RESTORED = WILL_BE_RESTORED;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Text = require(\"zrender/lib/graphic/Text\");\n\nvar graphicUtil = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// import Group from 'zrender/src/container/Group';\nfunction makeStyleCoord(out, zr, zrX, zrY) {\n out[0] = zrX;\n out[1] = zrY;\n out[2] = out[0] / zr.getWidth(); // The ratio of left to width\n\n out[3] = out[1] / zr.getHeight(); // The ratio of top to height\n}\n/**\n * @alias module:echarts/component/tooltip/TooltipRichContent\n * @constructor\n */\n\n\nfunction TooltipRichContent(api) {\n var zr = this._zr = api.getZr();\n this._styleCoord = [0, 0, 0, 0]; // [left, top, left/width, top/height]\n\n makeStyleCoord(this._styleCoord, zr, api.getWidth() / 2, api.getHeight() / 2);\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout;\n}\n\nTooltipRichContent.prototype = {\n constructor: TooltipRichContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function (tooltipModel) {\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveTooltipIfResized();\n },\n\n /**\n * when `alwaysShowContent` is true,\n * we should move the tooltip after chart resized\n */\n _moveTooltipIfResized: function () {\n var ratioX = this._styleCoord[2]; // The ratio of left to width\n\n var ratioY = this._styleCoord[3]; // The ratio of top to height\n\n var realX = ratioX * this._zr.getWidth();\n\n var realY = ratioY * this._zr.getHeight();\n\n this.moveTo(realX, realY);\n },\n show: function (tooltipModel) {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n }\n\n this.el.attr('show', true);\n this._show = true;\n },\n\n /**\n * Set tooltip content\n *\n * @param {string} content rich text string of content\n * @param {Object} markerRich rich text style\n * @param {Object} tooltipModel tooltip model\n */\n setContent: function (content, markerRich, tooltipModel) {\n if (this.el) {\n this._zr.remove(this.el);\n }\n\n var markers = {};\n var text = content;\n var prefix = '{marker';\n var suffix = '|}';\n var startId = text.indexOf(prefix);\n\n while (startId >= 0) {\n var endId = text.indexOf(suffix);\n var name = text.substr(startId + prefix.length, endId - startId - prefix.length);\n\n if (name.indexOf('sub') > -1) {\n markers['marker' + name] = {\n textWidth: 4,\n textHeight: 4,\n textBorderRadius: 2,\n textBackgroundColor: markerRich[name],\n // TODO: textOffset is not implemented for rich text\n textOffset: [3, 0]\n };\n } else {\n markers['marker' + name] = {\n textWidth: 10,\n textHeight: 10,\n textBorderRadius: 5,\n textBackgroundColor: markerRich[name]\n };\n }\n\n text = text.substr(endId + 1);\n startId = text.indexOf('{marker');\n }\n\n var textStyleModel = tooltipModel.getModel('textStyle');\n var fontSize = textStyleModel.get('fontSize');\n var lineHeight = tooltipModel.get('textLineHeight');\n\n if (lineHeight == null) {\n lineHeight = Math.round(fontSize * 3 / 2);\n }\n\n this.el = new Text({\n style: graphicUtil.setTextStyle({}, textStyleModel, {\n rich: markers,\n text: content,\n textBackgroundColor: tooltipModel.get('backgroundColor'),\n textBorderRadius: tooltipModel.get('borderRadius'),\n textFill: tooltipModel.get('textStyle.color'),\n textPadding: tooltipModel.get('padding'),\n textLineHeight: lineHeight\n }),\n z: tooltipModel.get('z')\n });\n\n this._zr.add(this.el);\n\n var self = this;\n this.el.on('mouseover', function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n });\n this.el.on('mouseout', function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n });\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var bounding = this.el.getBoundingRect();\n return [bounding.width, bounding.height];\n },\n moveTo: function (x, y) {\n if (this.el) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, x, y);\n this.el.attr('position', [styleCoord[0], styleCoord[1]]);\n }\n },\n hide: function () {\n if (this.el) {\n this.el.hide();\n }\n\n this._show = false;\n },\n hideLater: function (time) {\n if (this._show && !(this._inContent && this._enterable)) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n dispose: function () {\n clearTimeout(this._hideTimeout);\n\n if (this.el) {\n this._zr.remove(this.el);\n }\n },\n getOuterSize: function () {\n var size = this.getSize();\n return {\n width: size[0],\n height: size[1]\n };\n }\n};\nvar _default = TooltipRichContent;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SymbolDraw = require(\"../../chart/helper/SymbolDraw\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar List = require(\"../../data/List\");\n\nvar markerHelper = require(\"./markerHelper\");\n\nvar MarkerView = require(\"./MarkerView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction updateMarkerLayout(mpData, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n mpData.each(function (idx) {\n var itemModel = mpData.getItemModel(idx);\n var point;\n var xPx = numberUtil.parsePercent(itemModel.get('x'), api.getWidth());\n var yPx = numberUtil.parsePercent(itemModel.get('y'), api.getHeight());\n\n if (!isNaN(xPx) && !isNaN(yPx)) {\n point = [xPx, yPx];\n } // Chart like bar may have there own marker positioning logic\n else if (seriesModel.getMarkerPosition) {\n // Use the getMarkerPoisition\n point = seriesModel.getMarkerPosition(mpData.getValues(mpData.dimensions, idx));\n } else if (coordSys) {\n var x = mpData.get(coordSys.dimensions[0], idx);\n var y = mpData.get(coordSys.dimensions[1], idx);\n point = coordSys.dataToPoint([x, y]);\n } // Use x, y if has any\n\n\n if (!isNaN(xPx)) {\n point[0] = xPx;\n }\n\n if (!isNaN(yPx)) {\n point[1] = yPx;\n }\n\n mpData.setItemLayout(idx, point);\n });\n}\n\nvar _default = MarkerView.extend({\n type: 'markPoint',\n // updateLayout: function (markPointModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var mpModel = seriesModel.markPointModel;\n // if (mpModel) {\n // updateMarkerLayout(mpModel.getData(), seriesModel, api);\n // this.markerGroupMap.get(seriesModel.id).updateLayout(mpModel);\n // }\n // }, this);\n // },\n updateTransform: function (markPointModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mpModel = seriesModel.markPointModel;\n\n if (mpModel) {\n updateMarkerLayout(mpModel.getData(), seriesModel, api);\n this.markerGroupMap.get(seriesModel.id).updateLayout(mpModel);\n }\n }, this);\n },\n renderSeries: function (seriesModel, mpModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var symbolDrawMap = this.markerGroupMap;\n var symbolDraw = symbolDrawMap.get(seriesId) || symbolDrawMap.set(seriesId, new SymbolDraw());\n var mpData = createList(coordSys, seriesModel, mpModel); // FIXME\n\n mpModel.setData(mpData);\n updateMarkerLayout(mpModel.getData(), seriesModel, api);\n mpData.each(function (idx) {\n var itemModel = mpData.getItemModel(idx);\n var symbol = itemModel.getShallow('symbol');\n var symbolSize = itemModel.getShallow('symbolSize');\n var symbolRotate = itemModel.getShallow('symbolRotate');\n var isFnSymbol = zrUtil.isFunction(symbol);\n var isFnSymbolSize = zrUtil.isFunction(symbolSize);\n var isFnSymbolRotate = zrUtil.isFunction(symbolRotate);\n\n if (isFnSymbol || isFnSymbolSize || isFnSymbolRotate) {\n var rawIdx = mpModel.getRawValue(idx);\n var dataParams = mpModel.getDataParams(idx);\n\n if (isFnSymbol) {\n symbol = symbol(rawIdx, dataParams);\n }\n\n if (isFnSymbolSize) {\n // FIXME 这里不兼容 ECharts 2.x,2.x 貌似参数是整个数据?\n symbolSize = symbolSize(rawIdx, dataParams);\n }\n\n if (isFnSymbolRotate) {\n symbolRotate = symbolRotate(rawIdx, dataParams);\n }\n }\n\n mpData.setItemVisual(idx, {\n symbol: symbol,\n symbolSize: symbolSize,\n symbolRotate: symbolRotate,\n color: itemModel.get('itemStyle.color') || seriesData.getVisual('color')\n });\n }); // TODO Text are wrong\n\n symbolDraw.updateData(mpData);\n this.group.add(symbolDraw.group); // Set host model for tooltip\n // FIXME\n\n mpData.eachItemGraphicEl(function (el) {\n el.traverse(function (child) {\n child.dataModel = mpModel;\n });\n });\n symbolDraw.__keep = true;\n symbolDraw.group.silent = mpModel.get('silent') || seriesModel.get('silent');\n }\n});\n/**\n * @inner\n * @param {module:echarts/coord/*} [coordSys]\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Model} mpModel\n */\n\n\nfunction createList(coordSys, seriesModel, mpModel) {\n var coordDimsInfos;\n\n if (coordSys) {\n coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) {\n var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n return zrUtil.defaults({\n name: coordDim\n }, info);\n });\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n }\n\n var mpData = new List(coordDimsInfos, mpModel);\n var dataOpt = zrUtil.map(mpModel.get('data'), zrUtil.curry(markerHelper.dataTransform, seriesModel));\n\n if (coordSys) {\n dataOpt = zrUtil.filter(dataOpt, zrUtil.curry(markerHelper.dataFilter, coordSys));\n }\n\n mpData.initData(dataOpt, null, coordSys ? markerHelper.dimValueGetter : function (item) {\n return item.value;\n });\n return mpData;\n}\n\nmodule.exports = _default;","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar sizeCalculable = _layout.sizeCalculable;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CalendarModel = ComponentModel.extend({\n type: 'calendar',\n\n /**\n * @type {module:echarts/coord/calendar/Calendar}\n */\n coordinateSystem: null,\n defaultOption: {\n zlevel: 0,\n z: 2,\n left: 80,\n top: 60,\n cellSize: 20,\n // horizontal vertical\n orient: 'horizontal',\n // month separate line style\n splitLine: {\n show: true,\n lineStyle: {\n color: '#000',\n width: 1,\n type: 'solid'\n }\n },\n // rect style temporarily unused emphasis\n itemStyle: {\n color: '#fff',\n borderWidth: 1,\n borderColor: '#ccc'\n },\n // week text style\n dayLabel: {\n show: true,\n // a week first day\n firstDay: 0,\n // start end\n position: 'start',\n margin: '50%',\n // 50% of cellSize\n nameMap: 'en',\n color: '#000'\n },\n // month text style\n monthLabel: {\n show: true,\n // start end\n position: 'start',\n margin: 5,\n // center or left\n align: 'center',\n // cn en []\n nameMap: 'en',\n formatter: null,\n color: '#000'\n },\n // year text style\n yearLabel: {\n show: true,\n // top bottom left right\n position: null,\n margin: 30,\n formatter: null,\n color: '#ccc',\n fontFamily: 'sans-serif',\n fontWeight: 'bolder',\n fontSize: 20\n }\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n CalendarModel.superApply(this, 'init', arguments);\n mergeAndNormalizeLayoutParams(option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n CalendarModel.superApply(this, 'mergeOption', arguments);\n mergeAndNormalizeLayoutParams(this.option, option);\n }\n});\n\nfunction mergeAndNormalizeLayoutParams(target, raw) {\n // Normalize cellSize\n var cellSize = target.cellSize;\n\n if (!zrUtil.isArray(cellSize)) {\n cellSize = target.cellSize = [cellSize, cellSize];\n } else if (cellSize.length === 1) {\n cellSize[1] = cellSize[0];\n }\n\n var ignoreSize = zrUtil.map([0, 1], function (hvIdx) {\n // If user have set `width` or both `left` and `right`, cellSize\n // will be automatically set to 'auto', otherwise the default\n // setting of cellSize will make `width` setting not work.\n if (sizeCalculable(raw, hvIdx)) {\n cellSize[hvIdx] = 'auto';\n }\n\n return cellSize[hvIdx] != null && cellSize[hvIdx] !== 'auto';\n });\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = CalendarModel;\nmodule.exports = _default;","module.exports = function () { /* empty */ };\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar echartsAPIList = ['getDom', 'getZr', 'getWidth', 'getHeight', 'getDevicePixelRatio', 'dispatchAction', 'isDisposed', 'on', 'off', 'getDataURL', 'getConnectedDataURL', 'getModel', 'getOption', 'getViewOfComponentModel', 'getViewOfSeriesModel']; // And `getCoordinateSystems` and `getComponentByElement` will be injected in echarts.js\n\nfunction ExtensionAPI(chartInstance) {\n zrUtil.each(echartsAPIList, function (name) {\n this[name] = zrUtil.bind(chartInstance[name], chartInstance);\n }, this);\n}\n\nvar _default = ExtensionAPI;\nmodule.exports = _default;","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @payload\n * @property {string} parallelAxisId\n * @property {Array.>} intervals\n */\nvar actionInfo = {\n type: 'axisAreaSelect',\n event: 'axisAreaSelected' // update: 'updateVisual'\n\n};\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'parallelAxis',\n query: payload\n }, function (parallelAxisModel) {\n parallelAxisModel.axis.model.setActiveIntervals(payload.intervals);\n });\n});\n/**\n * @payload\n */\n\necharts.registerAction('parallelAxisExpand', function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'parallel',\n query: payload\n }, function (parallelModel) {\n parallelModel.setAxisExpand(payload);\n });\n});","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 87);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"el-button-group\" }, [_vm._t(\"default\")], 2)\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n\n/* harmony default export */ var button_groupvue_type_script_lang_js_ = ({\n name: 'ElButtonGroup'\n});\n// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_button_groupvue_type_script_lang_js_ = (button_groupvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/button/src/button-group.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_button_groupvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/button/src/button-group.vue\"\n/* harmony default export */ var button_group = (component.exports);\n// CONCATENATED MODULE: ./packages/button-group/index.js\n\n\n/* istanbul ignore next */\nbutton_group.install = function (Vue) {\n Vue.component(button_group.name, button_group);\n};\n\n/* harmony default export */ var packages_button_group = __webpack_exports__[\"default\"] = (button_group);\n\n/***/ })\n\n/******/ });","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Parallel = require(\"./Parallel\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel coordinate system creater.\n */\nfunction create(ecModel, api) {\n var coordSysList = [];\n ecModel.eachComponent('parallel', function (parallelModel, idx) {\n var coordSys = new Parallel(parallelModel, ecModel, api);\n coordSys.name = 'parallel_' + idx;\n coordSys.resize(parallelModel, api);\n parallelModel.coordinateSystem = coordSys;\n coordSys.model = parallelModel;\n coordSysList.push(coordSys);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'parallel') {\n var parallelModel = ecModel.queryComponents({\n mainType: 'parallel',\n index: seriesModel.get('parallelIndex'),\n id: seriesModel.get('parallelId')\n })[0];\n seriesModel.coordinateSystem = parallelModel.coordinateSystem;\n }\n });\n return coordSysList;\n}\n\nCoordinateSystem.register('parallel', {\n create: create\n});","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar map = _util.map;\n\nvar _number = require(\"../util/number\");\n\nvar linearMap = _number.linearMap;\nvar getPixelPrecision = _number.getPixelPrecision;\nvar round = _number.round;\n\nvar _axisTickLabelBuilder = require(\"./axisTickLabelBuilder\");\n\nvar createAxisTicks = _axisTickLabelBuilder.createAxisTicks;\nvar createAxisLabels = _axisTickLabelBuilder.createAxisLabels;\nvar calculateCategoryInterval = _axisTickLabelBuilder.calculateCategoryInterval;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar NORMALIZED_EXTENT = [0, 1];\n/**\n * Base class of Axis.\n * @constructor\n */\n\nvar Axis = function (dim, scale, extent) {\n /**\n * Axis dimension. Such as 'x', 'y', 'z', 'angle', 'radius'.\n * @type {string}\n */\n this.dim = dim;\n /**\n * Axis scale\n * @type {module:echarts/coord/scale/*}\n */\n\n this.scale = scale;\n /**\n * @type {Array.}\n * @private\n */\n\n this._extent = extent || [0, 0];\n /**\n * @type {boolean}\n */\n\n this.inverse = false;\n /**\n * Usually true when axis has a ordinal scale\n * @type {boolean}\n */\n\n this.onBand = false;\n};\n\nAxis.prototype = {\n constructor: Axis,\n\n /**\n * If axis extent contain given coord\n * @param {number} coord\n * @return {boolean}\n */\n contain: function (coord) {\n var extent = this._extent;\n var min = Math.min(extent[0], extent[1]);\n var max = Math.max(extent[0], extent[1]);\n return coord >= min && coord <= max;\n },\n\n /**\n * If axis extent contain given data\n * @param {number} data\n * @return {boolean}\n */\n containData: function (data) {\n return this.scale.contain(data);\n },\n\n /**\n * Get coord extent.\n * @return {Array.}\n */\n getExtent: function () {\n return this._extent.slice();\n },\n\n /**\n * Get precision used for formatting\n * @param {Array.} [dataExtent]\n * @return {number}\n */\n getPixelPrecision: function (dataExtent) {\n return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);\n },\n\n /**\n * Set coord extent\n * @param {number} start\n * @param {number} end\n */\n setExtent: function (start, end) {\n var extent = this._extent;\n extent[0] = start;\n extent[1] = end;\n },\n\n /**\n * Convert data to coord. Data is the rank if it has an ordinal scale\n * @param {number} data\n * @param {boolean} clamp\n * @return {number}\n */\n dataToCoord: function (data, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n data = scale.normalize(data);\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n return linearMap(data, NORMALIZED_EXTENT, extent, clamp);\n },\n\n /**\n * Convert coord to data. Data is the rank if it has an ordinal scale\n * @param {number} coord\n * @param {boolean} clamp\n * @return {number}\n */\n coordToData: function (coord, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n var t = linearMap(coord, extent, NORMALIZED_EXTENT, clamp);\n return this.scale.scale(t);\n },\n\n /**\n * Convert pixel point to data in axis\n * @param {Array.} point\n * @param {boolean} clamp\n * @return {number} data\n */\n pointToData: function (point, clamp) {// Should be implemented in derived class if necessary.\n },\n\n /**\n * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,\n * `axis.getTicksCoords` considers `onBand`, which is used by\n * `boundaryGap:true` of category axis and splitLine and splitArea.\n * @param {Object} [opt]\n * @param {Model} [opt.tickModel=axis.model.getModel('axisTick')]\n * @param {boolean} [opt.clamp] If `true`, the first and the last\n * tick must be at the axis end points. Otherwise, clip ticks\n * that outside the axis extent.\n * @return {Array.} [{\n * coord: ...,\n * tickValue: ...\n * }, ...]\n */\n getTicksCoords: function (opt) {\n opt = opt || {};\n var tickModel = opt.tickModel || this.getTickModel();\n var result = createAxisTicks(this, tickModel);\n var ticks = result.ticks;\n var ticksCoords = map(ticks, function (tickValue) {\n return {\n coord: this.dataToCoord(tickValue),\n tickValue: tickValue\n };\n }, this);\n var alignWithLabel = tickModel.get('alignWithLabel');\n fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);\n return ticksCoords;\n },\n\n /**\n * @return {Array.>} [{ coord: ..., tickValue: ...}]\n */\n getMinorTicksCoords: function () {\n if (this.scale.type === 'ordinal') {\n // Category axis doesn't support minor ticks\n return [];\n }\n\n var minorTickModel = this.model.getModel('minorTick');\n var splitNumber = minorTickModel.get('splitNumber'); // Protection.\n\n if (!(splitNumber > 0 && splitNumber < 100)) {\n splitNumber = 5;\n }\n\n var minorTicks = this.scale.getMinorTicks(splitNumber);\n var minorTicksCoords = map(minorTicks, function (minorTicksGroup) {\n return map(minorTicksGroup, function (minorTick) {\n return {\n coord: this.dataToCoord(minorTick),\n tickValue: minorTick\n };\n }, this);\n }, this);\n return minorTicksCoords;\n },\n\n /**\n * @return {Array.} [{\n * formattedLabel: string,\n * rawLabel: axis.scale.getLabel(tickValue)\n * tickValue: number\n * }, ...]\n */\n getViewLabels: function () {\n return createAxisLabels(this).labels;\n },\n\n /**\n * @return {module:echarts/coord/model/Model}\n */\n getLabelModel: function () {\n return this.model.getModel('axisLabel');\n },\n\n /**\n * Notice here we only get the default tick model. For splitLine\n * or splitArea, we should pass the splitLineModel or splitAreaModel\n * manually when calling `getTicksCoords`.\n * In GL, this method may be overrided to:\n * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`\n * @return {module:echarts/coord/model/Model}\n */\n getTickModel: function () {\n return this.model.getModel('axisTick');\n },\n\n /**\n * Get width of band\n * @return {number}\n */\n getBandWidth: function () {\n var axisExtent = this._extent;\n var dataExtent = this.scale.getExtent();\n var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0); // Fix #2728, avoid NaN when only one data.\n\n len === 0 && (len = 1);\n var size = Math.abs(axisExtent[1] - axisExtent[0]);\n return Math.abs(size) / len;\n },\n\n /**\n * @abstract\n * @return {boolean} Is horizontal\n */\n isHorizontal: null,\n\n /**\n * @abstract\n * @return {number} Get axis rotate, by degree.\n */\n getRotate: null,\n\n /**\n * Only be called in category axis.\n * Can be overrided, consider other axes like in 3D.\n * @return {number} Auto interval for cateogry axis tick and label\n */\n calculateCategoryInterval: function () {\n return calculateCategoryInterval(this);\n }\n};\n\nfunction fixExtentWithBands(extent, nTick) {\n var size = extent[1] - extent[0];\n var len = nTick;\n var margin = size / len / 2;\n extent[0] += margin;\n extent[1] -= margin;\n} // If axis has labels [1, 2, 3, 4]. Bands on the axis are\n// |---1---|---2---|---3---|---4---|.\n// So the displayed ticks and splitLine/splitArea should between\n// each data item, otherwise cause misleading (e.g., split tow bars\n// of a single data item when there are two bar series).\n// Also consider if tickCategoryInterval > 0 and onBand, ticks and\n// splitLine/spliteArea should layout appropriately corresponding\n// to displayed labels. (So we should not use `getBandWidth` in this\n// case).\n\n\nfunction fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp) {\n var ticksLen = ticksCoords.length;\n\n if (!axis.onBand || alignWithLabel || !ticksLen) {\n return;\n }\n\n var axisExtent = axis.getExtent();\n var last;\n var diffSize;\n\n if (ticksLen === 1) {\n ticksCoords[0].coord = axisExtent[0];\n last = ticksCoords[1] = {\n coord: axisExtent[0]\n };\n } else {\n var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;\n var shift = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;\n each(ticksCoords, function (ticksItem) {\n ticksItem.coord -= shift / 2;\n });\n var dataExtent = axis.scale.getExtent();\n diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;\n last = {\n coord: ticksCoords[ticksLen - 1].coord + shift * diffSize\n };\n ticksCoords.push(last);\n }\n\n var inverse = axisExtent[0] > axisExtent[1]; // Handling clamp.\n\n if (littleThan(ticksCoords[0].coord, axisExtent[0])) {\n clamp ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();\n }\n\n if (clamp && littleThan(axisExtent[0], ticksCoords[0].coord)) {\n ticksCoords.unshift({\n coord: axisExtent[0]\n });\n }\n\n if (littleThan(axisExtent[1], last.coord)) {\n clamp ? last.coord = axisExtent[1] : ticksCoords.pop();\n }\n\n if (clamp && littleThan(last.coord, axisExtent[1])) {\n ticksCoords.push({\n coord: axisExtent[1]\n });\n }\n\n function littleThan(a, b) {\n // Avoid rounding error cause calculated tick coord different with extent.\n // It may cause an extra unecessary tick added.\n a = round(a);\n b = round(b);\n return inverse ? a > b : a < b;\n }\n}\n\nvar _default = Axis;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Model = require(\"../../model/Model\");\n\nvar _model = require(\"../../util/model\");\n\nvar isNameSpecified = _model.isNameSpecified;\n\nvar lang = require(\"../../lang\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar langSelector = lang.legend.selector;\nvar defaultSelectorOption = {\n all: {\n type: 'all',\n title: zrUtil.clone(langSelector.all)\n },\n inverse: {\n type: 'inverse',\n title: zrUtil.clone(langSelector.inverse)\n }\n};\nvar LegendModel = echarts.extendComponentModel({\n type: 'legend.plain',\n dependencies: ['series'],\n layoutMode: {\n type: 'box',\n // legend.width/height are maxWidth/maxHeight actually,\n // whereas realy width/height is calculated by its content.\n // (Setting {left: 10, right: 10} does not make sense).\n // So consider the case:\n // `setOption({legend: {left: 10});`\n // then `setOption({legend: {right: 10});`\n // The previous `left` should be cleared by setting `ignoreSize`.\n ignoreSize: true\n },\n init: function (option, parentModel, ecModel) {\n this.mergeDefaultAndTheme(option, ecModel);\n option.selected = option.selected || {};\n\n this._updateSelector(option);\n },\n mergeOption: function (option) {\n LegendModel.superCall(this, 'mergeOption', option);\n\n this._updateSelector(option);\n },\n _updateSelector: function (option) {\n var selector = option.selector;\n\n if (selector === true) {\n selector = option.selector = ['all', 'inverse'];\n }\n\n if (zrUtil.isArray(selector)) {\n zrUtil.each(selector, function (item, index) {\n zrUtil.isString(item) && (item = {\n type: item\n });\n selector[index] = zrUtil.merge(item, defaultSelectorOption[item.type]);\n });\n }\n },\n optionUpdated: function () {\n this._updateData(this.ecModel);\n\n var legendData = this._data; // If selectedMode is single, try to select one\n\n if (legendData[0] && this.get('selectedMode') === 'single') {\n var hasSelected = false; // If has any selected in option.selected\n\n for (var i = 0; i < legendData.length; i++) {\n var name = legendData[i].get('name');\n\n if (this.isSelected(name)) {\n // Force to unselect others\n this.select(name);\n hasSelected = true;\n break;\n }\n } // Try select the first if selectedMode is single\n\n\n !hasSelected && this.select(legendData[0].get('name'));\n }\n },\n _updateData: function (ecModel) {\n var potentialData = [];\n var availableNames = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var seriesName = seriesModel.name;\n availableNames.push(seriesName);\n var isPotential;\n\n if (seriesModel.legendVisualProvider) {\n var provider = seriesModel.legendVisualProvider;\n var names = provider.getAllNames();\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n availableNames = availableNames.concat(names);\n }\n\n if (names.length) {\n potentialData = potentialData.concat(names);\n } else {\n isPotential = true;\n }\n } else {\n isPotential = true;\n }\n\n if (isPotential && isNameSpecified(seriesModel)) {\n potentialData.push(seriesModel.name);\n }\n });\n /**\n * @type {Array.}\n * @private\n */\n\n this._availableNames = availableNames; // If legend.data not specified in option, use availableNames as data,\n // which is convinient for user preparing option.\n\n var rawData = this.get('data') || potentialData;\n var legendData = zrUtil.map(rawData, function (dataItem) {\n // Can be string or number\n if (typeof dataItem === 'string' || typeof dataItem === 'number') {\n dataItem = {\n name: dataItem\n };\n }\n\n return new Model(dataItem, this, this.ecModel);\n }, this);\n /**\n * @type {Array.}\n * @private\n */\n\n this._data = legendData;\n },\n\n /**\n * @return {Array.}\n */\n getData: function () {\n return this._data;\n },\n\n /**\n * @param {string} name\n */\n select: function (name) {\n var selected = this.option.selected;\n var selectedMode = this.get('selectedMode');\n\n if (selectedMode === 'single') {\n var data = this._data;\n zrUtil.each(data, function (dataItem) {\n selected[dataItem.get('name')] = false;\n });\n }\n\n selected[name] = true;\n },\n\n /**\n * @param {string} name\n */\n unSelect: function (name) {\n if (this.get('selectedMode') !== 'single') {\n this.option.selected[name] = false;\n }\n },\n\n /**\n * @param {string} name\n */\n toggleSelected: function (name) {\n var selected = this.option.selected; // Default is true\n\n if (!selected.hasOwnProperty(name)) {\n selected[name] = true;\n }\n\n this[selected[name] ? 'unSelect' : 'select'](name);\n },\n allSelect: function () {\n var data = this._data;\n var selected = this.option.selected;\n zrUtil.each(data, function (dataItem) {\n selected[dataItem.get('name', true)] = true;\n });\n },\n inverseSelect: function () {\n var data = this._data;\n var selected = this.option.selected;\n zrUtil.each(data, function (dataItem) {\n var name = dataItem.get('name', true); // Initially, default value is true\n\n if (!selected.hasOwnProperty(name)) {\n selected[name] = true;\n }\n\n selected[name] = !selected[name];\n });\n },\n\n /**\n * @param {string} name\n */\n isSelected: function (name) {\n var selected = this.option.selected;\n return !(selected.hasOwnProperty(name) && !selected[name]) && zrUtil.indexOf(this._availableNames, name) >= 0;\n },\n getOrient: function () {\n return this.get('orient') === 'vertical' ? {\n index: 1,\n name: 'vertical'\n } : {\n index: 0,\n name: 'horizontal'\n };\n },\n defaultOption: {\n // 一级层叠\n zlevel: 0,\n // 二级层叠\n z: 4,\n show: true,\n // 布局方式,默认为水平布局,可选为:\n // 'horizontal' | 'vertical'\n orient: 'horizontal',\n left: 'center',\n // right: 'center',\n top: 0,\n // bottom: null,\n // 水平对齐\n // 'auto' | 'left' | 'right'\n // 默认为 'auto', 根据 x 的位置判断是左对齐还是右对齐\n align: 'auto',\n backgroundColor: 'rgba(0,0,0,0)',\n // 图例边框颜色\n borderColor: '#ccc',\n borderRadius: 0,\n // 图例边框线宽,单位px,默认为0(无边框)\n borderWidth: 0,\n // 图例内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n padding: 5,\n // 各个item之间的间隔,单位px,默认为10,\n // 横向布局时为水平间隔,纵向布局时为纵向间隔\n itemGap: 10,\n // the width of legend symbol\n itemWidth: 25,\n // the height of legend symbol\n itemHeight: 14,\n // the color of unselected legend symbol\n inactiveColor: '#ccc',\n // the borderColor of unselected legend symbol\n inactiveBorderColor: '#ccc',\n itemStyle: {\n // the default borderWidth of legend symbol\n borderWidth: 0\n },\n textStyle: {\n // 图例文字颜色\n color: '#333'\n },\n // formatter: '',\n // 选择模式,默认开启图例开关\n selectedMode: true,\n // 配置默认选中状态,可配合LEGEND.SELECTED事件做动态数据载入\n // selected: null,\n // 图例内容(详见legend.data,数组中每一项代表一个item\n // data: [],\n // Usage:\n // selector: [{type: 'all or inverse', title: xxx}]\n // or\n // selector: true\n // or\n // selector: ['all', 'inverse']\n selector: false,\n selectorLabel: {\n show: true,\n borderRadius: 10,\n padding: [3, 5, 3, 5],\n fontSize: 12,\n fontFamily: ' sans-serif',\n color: '#666',\n borderWidth: 1,\n borderColor: '#666'\n },\n emphasis: {\n selectorLabel: {\n show: true,\n color: '#eee',\n backgroundColor: '#666'\n }\n },\n // Value can be 'start' or 'end'\n selectorPosition: 'auto',\n selectorItemGap: 7,\n selectorButtonGap: 10,\n // Tooltip 相关配置\n tooltip: {\n show: false\n }\n }\n});\nvar _default = LegendModel;\nmodule.exports = _default;","/**\n * The algoritm is learnt from\n * https://franklinta.com/2014/09/08/computing-css-matrix3d-transforms/\n * And we made some optimization for matrix inversion.\n * Other similar approaches:\n * \"cv::getPerspectiveTransform\", \"Direct Linear Transformation\".\n */\nvar LN2 = Math.log(2);\n\nfunction determinant(rows, rank, rowStart, rowMask, colMask, detCache) {\n var cacheKey = rowMask + '-' + colMask;\n var fullRank = rows.length;\n\n if (detCache.hasOwnProperty(cacheKey)) {\n return detCache[cacheKey];\n }\n\n if (rank === 1) {\n // In this case the colMask must be like: `11101111`. We can find the place of `0`.\n var colStart = Math.round(Math.log((1 << fullRank) - 1 & ~colMask) / LN2);\n return rows[rowStart][colStart];\n }\n\n var subRowMask = rowMask | 1 << rowStart;\n var subRowStart = rowStart + 1;\n\n while (rowMask & 1 << subRowStart) {\n subRowStart++;\n }\n\n var sum = 0;\n\n for (var j = 0, colLocalIdx = 0; j < fullRank; j++) {\n var colTag = 1 << j;\n\n if (!(colTag & colMask)) {\n sum += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j] // det(subMatrix(0, j))\n * determinant(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);\n colLocalIdx++;\n }\n }\n\n detCache[cacheKey] = sum;\n return sum;\n}\n/**\n * Usage:\n * ```js\n * var transformer = buildTransformer(\n * [10, 44, 100, 44, 100, 300, 10, 300],\n * [50, 54, 130, 14, 140, 330, 14, 220]\n * );\n * var out = [];\n * transformer && transformer([11, 33], out);\n * ```\n *\n * Notice: `buildTransformer` may take more than 10ms in some Android device.\n *\n * @param {Array.} src source four points, [x0, y0, x1, y1, x2, y2, x3, y3]\n * @param {Array.} dest destination four points, [x0, y0, x1, y1, x2, y2, x3, y3]\n * @return {Function} transformer If fail, return null/undefined.\n */\n\n\nfunction buildTransformer(src, dest) {\n var mA = [[src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]], [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]], [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]], [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]], [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]], [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]], [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]], [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]];\n var detCache = {};\n var det = determinant(mA, 8, 0, 0, 0, detCache);\n\n if (det === 0) {\n // can not make transformer when and only when\n // any three of the markers are collinear.\n return;\n } // `invert(mA) * dest`, that is, `adj(mA) / det * dest`.\n\n\n var vh = [];\n\n for (var i = 0; i < 8; i++) {\n for (var j = 0; j < 8; j++) {\n vh[j] == null && (vh[j] = 0);\n vh[j] += ((i + j) % 2 ? -1 : 1) * // det(subMatrix(i, j))\n determinant(mA, 7, i === 0 ? 1 : 0, 1 << i, 1 << j, detCache) / det * dest[i];\n }\n }\n\n return function (out, srcPointX, srcPointY) {\n var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;\n out[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;\n out[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;\n };\n}\n\nexports.buildTransformer = buildTransformer;","module.exports = {};\n","var PI2 = Math.PI * 2;\n\nfunction normalizeRadian(angle) {\n angle %= PI2;\n\n if (angle < 0) {\n angle += PI2;\n }\n\n return angle;\n}\n\nexports.normalizeRadian = normalizeRadian;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _color = _interopRequireDefault(require(\"@jiaminghi/color\"));\n\nvar _bezierCurve = _interopRequireDefault(require(\"@jiaminghi/bezier-curve\"));\n\nvar _util = require(\"../plugin/util\");\n\nvar _graphs = _interopRequireDefault(require(\"../config/graphs\"));\n\nvar _graph = _interopRequireDefault(require(\"./graph.class\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\r\n * @description Class of CRender\r\n * @param {Object} canvas Canvas DOM\r\n * @return {CRender} Instance of CRender\r\n */\nvar CRender = function CRender(canvas) {\n (0, _classCallCheck2[\"default\"])(this, CRender);\n\n if (!canvas) {\n console.error('CRender Missing parameters!');\n return;\n }\n\n var ctx = canvas.getContext('2d');\n var clientWidth = canvas.clientWidth,\n clientHeight = canvas.clientHeight;\n var area = [clientWidth, clientHeight];\n canvas.setAttribute('width', clientWidth);\n canvas.setAttribute('height', clientHeight);\n /**\r\n * @description Context of the canvas\r\n * @type {Object}\r\n * @example ctx = canvas.getContext('2d')\r\n */\n\n this.ctx = ctx;\n /**\r\n * @description Width and height of the canvas\r\n * @type {Array}\r\n * @example area = [300,100]\r\n */\n\n this.area = area;\n /**\r\n * @description Whether render is in animation rendering\r\n * @type {Boolean}\r\n * @example animationStatus = true|false\r\n */\n\n this.animationStatus = false;\n /**\r\n * @description Added graph\r\n * @type {[Graph]}\r\n * @example graphs = [Graph, Graph, ...]\r\n */\n\n this.graphs = [];\n /**\r\n * @description Color plugin\r\n * @type {Object}\r\n * @link https://github.com/jiaming743/color\r\n */\n\n this.color = _color[\"default\"];\n /**\r\n * @description Bezier Curve plugin\r\n * @type {Object}\r\n * @link https://github.com/jiaming743/BezierCurve\r\n */\n\n this.bezierCurve = _bezierCurve[\"default\"]; // bind event handler\n\n canvas.addEventListener('mousedown', mouseDown.bind(this));\n canvas.addEventListener('mousemove', mouseMove.bind(this));\n canvas.addEventListener('mouseup', mouseUp.bind(this));\n};\n/**\r\n * @description Clear canvas drawing area\r\n * @return {Undefined} Void\r\n */\n\n\nexports[\"default\"] = CRender;\n\nCRender.prototype.clearArea = function () {\n var _this$ctx;\n\n var area = this.area;\n\n (_this$ctx = this.ctx).clearRect.apply(_this$ctx, [0, 0].concat((0, _toConsumableArray2[\"default\"])(area)));\n};\n/**\r\n * @description Add graph to render\r\n * @param {Object} config Graph configuration\r\n * @return {Graph} Graph instance\r\n */\n\n\nCRender.prototype.add = function () {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var name = config.name;\n\n if (!name) {\n console.error('add Missing parameters!');\n return;\n }\n\n var graphConfig = _graphs[\"default\"].get(name);\n\n if (!graphConfig) {\n console.warn('No corresponding graph configuration found!');\n return;\n }\n\n var graph = new _graph[\"default\"](graphConfig, config);\n if (!graph.validator(graph)) return;\n graph.render = this;\n this.graphs.push(graph);\n this.sortGraphsByIndex();\n this.drawAllGraph();\n return graph;\n};\n/**\r\n * @description Sort the graph by index\r\n * @return {Undefined} Void\r\n */\n\n\nCRender.prototype.sortGraphsByIndex = function () {\n var graphs = this.graphs;\n graphs.sort(function (a, b) {\n if (a.index > b.index) return 1;\n if (a.index === b.index) return 0;\n if (a.index < b.index) return -1;\n });\n};\n/**\r\n * @description Delete graph in render\r\n * @param {Graph} graph The graph to be deleted\r\n * @return {Undefined} Void\r\n */\n\n\nCRender.prototype.delGraph = function (graph) {\n if (typeof graph.delProcessor !== 'function') return;\n graph.delProcessor(this);\n this.graphs = this.graphs.filter(function (graph) {\n return graph;\n });\n this.drawAllGraph();\n};\n/**\r\n * @description Delete all graph in render\r\n * @return {Undefined} Void\r\n */\n\n\nCRender.prototype.delAllGraph = function () {\n var _this = this;\n\n this.graphs.forEach(function (graph) {\n return graph.delProcessor(_this);\n });\n this.graphs = this.graphs.filter(function (graph) {\n return graph;\n });\n this.drawAllGraph();\n};\n/**\r\n * @description Draw all the graphs in the render\r\n * @return {Undefined} Void\r\n */\n\n\nCRender.prototype.drawAllGraph = function () {\n var _this2 = this;\n\n this.clearArea();\n this.graphs.filter(function (graph) {\n return graph && graph.visible;\n }).forEach(function (graph) {\n return graph.drawProcessor(_this2, graph);\n });\n};\n/**\r\n * @description Animate the graph whose animation queue is not empty\r\n * and the animationPause is equal to false\r\n * @return {Promise} Animation Promise\r\n */\n\n\nCRender.prototype.launchAnimation = function () {\n var _this3 = this;\n\n var animationStatus = this.animationStatus;\n if (animationStatus) return;\n this.animationStatus = true;\n return new Promise(function (resolve) {\n animation.call(_this3, function () {\n _this3.animationStatus = false;\n resolve();\n }, Date.now());\n });\n};\n/**\r\n * @description Try to animate every graph\r\n * @param {Function} callback Callback in animation end\r\n * @param {Number} timeStamp Time stamp of animation start\r\n * @return {Undefined} Void\r\n */\n\n\nfunction animation(callback, timeStamp) {\n var graphs = this.graphs;\n\n if (!animationAble(graphs)) {\n callback();\n return;\n }\n\n graphs.forEach(function (graph) {\n return graph.turnNextAnimationFrame(timeStamp);\n });\n this.drawAllGraph();\n requestAnimationFrame(animation.bind(this, callback, timeStamp));\n}\n/**\r\n * @description Find if there are graph that can be animated\r\n * @param {[Graph]} graphs\r\n * @return {Boolean}\r\n */\n\n\nfunction animationAble(graphs) {\n return graphs.find(function (graph) {\n return !graph.animationPause && graph.animationFrameState.length;\n });\n}\n/**\r\n * @description Handler of CRender mousedown event\r\n * @return {Undefined} Void\r\n */\n\n\nfunction mouseDown(e) {\n var graphs = this.graphs;\n var hoverGraph = graphs.find(function (graph) {\n return graph.status === 'hover';\n });\n if (!hoverGraph) return;\n hoverGraph.status = 'active';\n}\n/**\r\n * @description Handler of CRender mousemove event\r\n * @return {Undefined} Void\r\n */\n\n\nfunction mouseMove(e) {\n var offsetX = e.offsetX,\n offsetY = e.offsetY;\n var position = [offsetX, offsetY];\n var graphs = this.graphs;\n var activeGraph = graphs.find(function (graph) {\n return graph.status === 'active' || graph.status === 'drag';\n });\n\n if (activeGraph) {\n if (!activeGraph.drag) return;\n\n if (typeof activeGraph.move !== 'function') {\n console.error('No move method is provided, cannot be dragged!');\n return;\n }\n\n activeGraph.moveProcessor(e);\n activeGraph.status = 'drag';\n return;\n }\n\n var hoverGraph = graphs.find(function (graph) {\n return graph.status === 'hover';\n });\n var hoverAbleGraphs = graphs.filter(function (graph) {\n return graph.hover && (typeof graph.hoverCheck === 'function' || graph.hoverRect);\n });\n var hoveredGraph = hoverAbleGraphs.find(function (graph) {\n return graph.hoverCheckProcessor(position, graph);\n });\n\n if (hoveredGraph) {\n document.body.style.cursor = hoveredGraph.style.hoverCursor;\n } else {\n document.body.style.cursor = 'default';\n }\n\n var hoverGraphMouseOuterIsFun = false,\n hoveredGraphMouseEnterIsFun = false;\n if (hoverGraph) hoverGraphMouseOuterIsFun = typeof hoverGraph.mouseOuter === 'function';\n if (hoveredGraph) hoveredGraphMouseEnterIsFun = typeof hoveredGraph.mouseEnter === 'function';\n if (!hoveredGraph && !hoverGraph) return;\n\n if (!hoveredGraph && hoverGraph) {\n if (hoverGraphMouseOuterIsFun) hoverGraph.mouseOuter(e, hoverGraph);\n hoverGraph.status = 'static';\n return;\n }\n\n if (hoveredGraph && hoveredGraph === hoverGraph) return;\n\n if (hoveredGraph && !hoverGraph) {\n if (hoveredGraphMouseEnterIsFun) hoveredGraph.mouseEnter(e, hoveredGraph);\n hoveredGraph.status = 'hover';\n return;\n }\n\n if (hoveredGraph && hoverGraph && hoveredGraph !== hoverGraph) {\n if (hoverGraphMouseOuterIsFun) hoverGraph.mouseOuter(e, hoverGraph);\n hoverGraph.status = 'static';\n if (hoveredGraphMouseEnterIsFun) hoveredGraph.mouseEnter(e, hoveredGraph);\n hoveredGraph.status = 'hover';\n }\n}\n/**\r\n * @description Handler of CRender mouseup event\r\n * @return {Undefined} Void\r\n */\n\n\nfunction mouseUp(e) {\n var graphs = this.graphs;\n var activeGraph = graphs.find(function (graph) {\n return graph.status === 'active';\n });\n var dragGraph = graphs.find(function (graph) {\n return graph.status === 'drag';\n });\n if (activeGraph && typeof activeGraph.click === 'function') activeGraph.click(e, activeGraph);\n graphs.forEach(function (graph) {\n return graph && (graph.status = 'static');\n });\n if (activeGraph) activeGraph.status = 'hover';\n if (dragGraph) dragGraph.status = 'hover';\n}\n/**\r\n * @description Clone Graph\r\n * @param {Graph} graph The target to be cloned\r\n * @return {Graph} Cloned graph\r\n */\n\n\nCRender.prototype.clone = function (graph) {\n var style = graph.style.getStyle();\n\n var clonedGraph = _objectSpread({}, graph, {\n style: style\n });\n\n delete clonedGraph.render;\n clonedGraph = (0, _util.deepClone)(clonedGraph, true);\n return this.add(clonedGraph);\n};","module.exports = require(\"core-js/library/fn/object/define-property\");","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar isString = _util.isString;\nvar defaults = _util.defaults;\nvar extend = _util.extend;\nvar isObject = _util.isObject;\nvar clone = _util.clone;\n\nvar _model = require(\"../../util/model\");\n\nvar normalizeToArray = _model.normalizeToArray;\n\nvar _sourceHelper = require(\"./sourceHelper\");\n\nvar guessOrdinal = _sourceHelper.guessOrdinal;\nvar BE_ORDINAL = _sourceHelper.BE_ORDINAL;\n\nvar Source = require(\"../Source\");\n\nvar _dimensionHelper = require(\"./dimensionHelper\");\n\nvar OTHER_DIMENSIONS = _dimensionHelper.OTHER_DIMENSIONS;\n\nvar DataDimensionInfo = require(\"../DataDimensionInfo\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @deprecated\n * Use `echarts/data/helper/createDimensions` instead.\n */\n\n/**\n * @see {module:echarts/test/ut/spec/data/completeDimensions}\n *\n * This method builds the relationship between:\n * + \"what the coord sys or series requires (see `sysDims`)\",\n * + \"what the user defines (in `encode` and `dimensions`, see `opt.dimsDef` and `opt.encodeDef`)\"\n * + \"what the data source provids (see `source`)\".\n *\n * Some guess strategy will be adapted if user does not define something.\n * If no 'value' dimension specified, the first no-named dimension will be\n * named as 'value'.\n *\n * @param {Array.} sysDims Necessary dimensions, like ['x', 'y'], which\n * provides not only dim template, but also default order.\n * properties: 'name', 'type', 'displayName'.\n * `name` of each item provides default coord name.\n * [{dimsDef: [string|Object, ...]}, ...] dimsDef of sysDim item provides default dim name, and\n * provide dims count that the sysDim required.\n * [{ordinalMeta}] can be specified.\n * @param {module:echarts/data/Source|Array|Object} source or data (for compatibal with pervious)\n * @param {Object} [opt]\n * @param {Array.} [opt.dimsDef] option.series.dimensions User defined dimensions\n * For example: ['asdf', {name, type}, ...].\n * @param {Object|HashMap} [opt.encodeDef] option.series.encode {x: 2, y: [3, 1], tooltip: [1, 2], label: 3}\n * @param {Function} [opt.encodeDefaulter] Called if no `opt.encodeDef` exists.\n * If not specified, auto find the next available data dim.\n * param source {module:data/Source}\n * param dimCount {number}\n * return {Object} encode Never be `null/undefined`.\n * @param {string} [opt.generateCoord] Generate coord dim with the given name.\n * If not specified, extra dim names will be:\n * 'value', 'value0', 'value1', ...\n * @param {number} [opt.generateCoordCount] By default, the generated dim name is `generateCoord`.\n * If `generateCoordCount` specified, the generated dim names will be:\n * `generateCoord` + 0, `generateCoord` + 1, ...\n * can be Infinity, indicate that use all of the remain columns.\n * @param {number} [opt.dimCount] If not specified, guess by the first data item.\n * @return {Array.}\n */\nfunction completeDimensions(sysDims, source, opt) {\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n opt = opt || {};\n sysDims = (sysDims || []).slice();\n var dimsDef = (opt.dimsDef || []).slice();\n var dataDimNameMap = createHashMap();\n var coordDimNameMap = createHashMap(); // var valueCandidate;\n\n var result = [];\n var dimCount = getDimCount(source, sysDims, dimsDef, opt.dimCount); // Apply user defined dims (`name` and `type`) and init result.\n\n for (var i = 0; i < dimCount; i++) {\n var dimDefItem = dimsDef[i] = extend({}, isObject(dimsDef[i]) ? dimsDef[i] : {\n name: dimsDef[i]\n });\n var userDimName = dimDefItem.name;\n var resultItem = result[i] = new DataDimensionInfo(); // Name will be applied later for avoiding duplication.\n\n if (userDimName != null && dataDimNameMap.get(userDimName) == null) {\n // Only if `series.dimensions` is defined in option\n // displayName, will be set, and dimension will be diplayed vertically in\n // tooltip by default.\n resultItem.name = resultItem.displayName = userDimName;\n dataDimNameMap.set(userDimName, i);\n }\n\n dimDefItem.type != null && (resultItem.type = dimDefItem.type);\n dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);\n }\n\n var encodeDef = opt.encodeDef;\n\n if (!encodeDef && opt.encodeDefaulter) {\n encodeDef = opt.encodeDefaulter(source, dimCount);\n }\n\n encodeDef = createHashMap(encodeDef); // Set `coordDim` and `coordDimIndex` by `encodeDef` and normalize `encodeDef`.\n\n encodeDef.each(function (dataDims, coordDim) {\n dataDims = normalizeToArray(dataDims).slice(); // Note: It is allowed that `dataDims.length` is `0`, e.g., options is\n // `{encode: {x: -1, y: 1}}`. Should not filter anything in\n // this case.\n\n if (dataDims.length === 1 && !isString(dataDims[0]) && dataDims[0] < 0) {\n encodeDef.set(coordDim, false);\n return;\n }\n\n var validDataDims = encodeDef.set(coordDim, []);\n each(dataDims, function (resultDimIdx, idx) {\n // The input resultDimIdx can be dim name or index.\n isString(resultDimIdx) && (resultDimIdx = dataDimNameMap.get(resultDimIdx));\n\n if (resultDimIdx != null && resultDimIdx < dimCount) {\n validDataDims[idx] = resultDimIdx;\n applyDim(result[resultDimIdx], coordDim, idx);\n }\n });\n }); // Apply templetes and default order from `sysDims`.\n\n var availDimIdx = 0;\n each(sysDims, function (sysDimItem, sysDimIndex) {\n var coordDim;\n var sysDimItem;\n var sysDimItemDimsDef;\n var sysDimItemOtherDims;\n\n if (isString(sysDimItem)) {\n coordDim = sysDimItem;\n sysDimItem = {};\n } else {\n coordDim = sysDimItem.name;\n var ordinalMeta = sysDimItem.ordinalMeta;\n sysDimItem.ordinalMeta = null;\n sysDimItem = clone(sysDimItem);\n sysDimItem.ordinalMeta = ordinalMeta; // `coordDimIndex` should not be set directly.\n\n sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemOtherDims = sysDimItem.otherDims;\n sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;\n }\n\n var dataDims = encodeDef.get(coordDim); // negative resultDimIdx means no need to mapping.\n\n if (dataDims === false) {\n return;\n }\n\n var dataDims = normalizeToArray(dataDims); // dimensions provides default dim sequences.\n\n if (!dataDims.length) {\n for (var i = 0; i < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i++) {\n while (availDimIdx < result.length && result[availDimIdx].coordDim != null) {\n availDimIdx++;\n }\n\n availDimIdx < result.length && dataDims.push(availDimIdx++);\n }\n } // Apply templates.\n\n\n each(dataDims, function (resultDimIdx, coordDimIndex) {\n var resultItem = result[resultDimIdx];\n applyDim(defaults(resultItem, sysDimItem), coordDim, coordDimIndex);\n\n if (resultItem.name == null && sysDimItemDimsDef) {\n var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];\n !isObject(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {\n name: sysDimItemDimsDefItem\n });\n resultItem.name = resultItem.displayName = sysDimItemDimsDefItem.name;\n resultItem.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;\n } // FIXME refactor, currently only used in case: {otherDims: {tooltip: false}}\n\n\n sysDimItemOtherDims && defaults(resultItem.otherDims, sysDimItemOtherDims);\n });\n });\n\n function applyDim(resultItem, coordDim, coordDimIndex) {\n if (OTHER_DIMENSIONS.get(coordDim) != null) {\n resultItem.otherDims[coordDim] = coordDimIndex;\n } else {\n resultItem.coordDim = coordDim;\n resultItem.coordDimIndex = coordDimIndex;\n coordDimNameMap.set(coordDim, true);\n }\n } // Make sure the first extra dim is 'value'.\n\n\n var generateCoord = opt.generateCoord;\n var generateCoordCount = opt.generateCoordCount;\n var fromZero = generateCoordCount != null;\n generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;\n var extra = generateCoord || 'value'; // Set dim `name` and other `coordDim` and other props.\n\n for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {\n var resultItem = result[resultDimIdx] = result[resultDimIdx] || new DataDimensionInfo();\n var coordDim = resultItem.coordDim;\n\n if (coordDim == null) {\n resultItem.coordDim = genName(extra, coordDimNameMap, fromZero);\n resultItem.coordDimIndex = 0;\n\n if (!generateCoord || generateCoordCount <= 0) {\n resultItem.isExtraCoord = true;\n }\n\n generateCoordCount--;\n }\n\n resultItem.name == null && (resultItem.name = genName(resultItem.coordDim, dataDimNameMap));\n\n if (resultItem.type == null && (guessOrdinal(source, resultDimIdx, resultItem.name) === BE_ORDINAL.Must // Consider the case:\n // {\n // dataset: {source: [\n // ['2001', 123],\n // ['2002', 456],\n // ...\n // ['The others', 987],\n // ]},\n // series: {type: 'pie'}\n // }\n // The first colum should better be treated as a \"ordinal\" although it\n // might not able to be detected as an \"ordinal\" by `guessOrdinal`.\n || resultItem.isExtraCoord && (resultItem.otherDims.itemName != null || resultItem.otherDims.seriesName != null))) {\n resultItem.type = 'ordinal';\n }\n }\n\n return result;\n} // ??? TODO\n// Originally detect dimCount by data[0]. Should we\n// optimize it to only by sysDims and dimensions and encode.\n// So only necessary dims will be initialized.\n// But\n// (1) custom series should be considered. where other dims\n// may be visited.\n// (2) sometimes user need to calcualte bubble size or use visualMap\n// on other dimensions besides coordSys needed.\n// So, dims that is not used by system, should be shared in storage?\n\n\nfunction getDimCount(source, sysDims, dimsDef, optDimCount) {\n // Note that the result dimCount should not small than columns count\n // of data, otherwise `dataDimNameMap` checking will be incorrect.\n var dimCount = Math.max(source.dimensionsDetectCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);\n each(sysDims, function (sysDimItem) {\n var sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemDimsDef && (dimCount = Math.max(dimCount, sysDimItemDimsDef.length));\n });\n return dimCount;\n}\n\nfunction genName(name, map, fromZero) {\n if (fromZero || map.get(name) != null) {\n var i = 0;\n\n while (map.get(name + i) != null) {\n i++;\n }\n\n name += i;\n }\n\n map.set(name, true);\n return name;\n}\n\nvar _default = completeDimensions;\nmodule.exports = _default;","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('radar', function (seriesModel) {\n var data = seriesModel.getData();\n var points = [];\n var coordSys = seriesModel.coordinateSystem;\n\n if (!coordSys) {\n return;\n }\n\n var axes = coordSys.getIndicatorAxes();\n zrUtil.each(axes, function (axis, axisIndex) {\n data.each(data.mapDimension(axes[axisIndex].dim), function (val, dataIndex) {\n points[dataIndex] = points[dataIndex] || [];\n var point = coordSys.dataToPoint(val, axisIndex);\n points[dataIndex][axisIndex] = isValidPoint(point) ? point : getValueMissingPoint(coordSys);\n });\n }); // Close polygon\n\n data.each(function (idx) {\n // TODO\n // Is it appropriate to connect to the next data when some data is missing?\n // Or, should trade it like `connectNull` in line chart?\n var firstPoint = zrUtil.find(points[idx], function (point) {\n return isValidPoint(point);\n }) || getValueMissingPoint(coordSys); // Copy the first actual point to the end of the array\n\n points[idx].push(firstPoint.slice());\n data.setItemLayout(idx, points[idx]);\n });\n });\n}\n\nfunction isValidPoint(point) {\n return !isNaN(point[0]) && !isNaN(point[1]);\n}\n\nfunction getValueMissingPoint(coordSys) {\n // It is error-prone to input [NaN, NaN] into polygon, polygon.\n // (probably cause problem when refreshing or animating)\n return [coordSys.cx, coordSys.cy];\n}\n\nmodule.exports = _default;","var svgURI = 'http://www.w3.org/2000/svg';\n\nfunction createElement(name) {\n return document.createElementNS(svgURI, name);\n}\n\nexports.createElement = createElement;","function windingLine(x0, y0, x1, y1, x, y) {\n if (y > y0 && y > y1 || y < y0 && y < y1) {\n return 0;\n } // Ignore horizontal line\n\n\n if (y1 === y0) {\n return 0;\n }\n\n var dir = y1 < y0 ? 1 : -1;\n var t = (y - y0) / (y1 - y0); // Avoid winding error when intersection point is the connect point of two line of polygon\n\n if (t === 1 || t === 0) {\n dir = y1 < y0 ? 0.5 : -0.5;\n }\n\n var x_ = t * (x1 - x0) + x0; // If (x, y) on the line, considered as \"contain\".\n\n return x_ === x ? Infinity : x_ > x ? dir : 0;\n}\n\nmodule.exports = windingLine;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.title = title;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _updater = require(\"../class/updater.class\");\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nvar _config = require(\"../config\");\n\nvar _util2 = require(\"../util\");\n\nfunction title(chart) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var title = [];\n\n if (option.title) {\n title[0] = (0, _util2.deepMerge)((0, _util.deepClone)(_config.titleConfig, true), option.title);\n }\n\n (0, _updater.doUpdate)({\n chart: chart,\n series: title,\n key: 'title',\n getGraphConfig: getTitleConfig\n });\n}\n\nfunction getTitleConfig(titleItem, updater) {\n var animationCurve = _config.titleConfig.animationCurve,\n animationFrame = _config.titleConfig.animationFrame,\n rLevel = _config.titleConfig.rLevel;\n var shape = getTitleShape(titleItem, updater);\n var style = getTitleStyle(titleItem);\n return [{\n name: 'text',\n index: rLevel,\n visible: titleItem.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: shape,\n style: style\n }];\n}\n\nfunction getTitleShape(titleItem, updater) {\n var offset = titleItem.offset,\n text = titleItem.text;\n var _updater$chart$gridAr = updater.chart.gridArea,\n x = _updater$chart$gridAr.x,\n y = _updater$chart$gridAr.y,\n w = _updater$chart$gridAr.w;\n\n var _offset = (0, _slicedToArray2[\"default\"])(offset, 2),\n ox = _offset[0],\n oy = _offset[1];\n\n return {\n content: text,\n position: [x + w / 2 + ox, y + oy]\n };\n}\n\nfunction getTitleStyle(titleItem) {\n var style = titleItem.style;\n return style;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar List = require(\"../../data/List\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar Model = require(\"../../model/Model\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar createGraphFromNodeEdge = require(\"../helper/createGraphFromNodeEdge\");\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\nvar _multipleGraphEdgeHelper = require(\"../helper/multipleGraphEdgeHelper\");\n\nvar initCurvenessList = _multipleGraphEdgeHelper.initCurvenessList;\nvar createEdgeMapForCurveness = _multipleGraphEdgeHelper.createEdgeMapForCurveness;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar GraphSeries = echarts.extendSeriesModel({\n type: 'series.graph',\n init: function (option) {\n GraphSeries.superApply(this, 'init', arguments);\n var self = this;\n\n function getCategoriesData() {\n return self._categoriesData;\n } // Provide data for legend select\n\n\n this.legendVisualProvider = new LegendVisualProvider(getCategoriesData, getCategoriesData);\n this.fillDataTextStyle(option.edges || option.links);\n\n this._updateCategoriesData();\n },\n mergeOption: function (option) {\n GraphSeries.superApply(this, 'mergeOption', arguments);\n this.fillDataTextStyle(option.edges || option.links);\n\n this._updateCategoriesData();\n },\n mergeDefaultAndTheme: function (option) {\n GraphSeries.superApply(this, 'mergeDefaultAndTheme', arguments);\n defaultEmphasis(option, ['edgeLabel'], ['show']);\n },\n getInitialData: function (option, ecModel) {\n var edges = option.edges || option.links || [];\n var nodes = option.data || option.nodes || [];\n var self = this;\n\n if (nodes && edges) {\n // auto curveness\n initCurvenessList(this);\n var graph = createGraphFromNodeEdge(nodes, edges, this, true, beforeLink);\n zrUtil.each(graph.edges, function (edge) {\n createEdgeMapForCurveness(edge.node1, edge.node2, this, edge.dataIndex);\n }, this);\n return graph.data;\n }\n\n function beforeLink(nodeData, edgeData) {\n // Overwrite nodeData.getItemModel to\n nodeData.wrapMethod('getItemModel', function (model) {\n var categoriesModels = self._categoriesModels;\n var categoryIdx = model.getShallow('category');\n var categoryModel = categoriesModels[categoryIdx];\n\n if (categoryModel) {\n categoryModel.parentModel = model.parentModel;\n model.parentModel = categoryModel;\n }\n\n return model;\n });\n var edgeLabelModel = self.getModel('edgeLabel'); // For option `edgeLabel` can be found by label.xxx.xxx on item mode.\n\n var fakeSeriesModel = new Model({\n label: edgeLabelModel.option\n }, edgeLabelModel.parentModel, ecModel);\n var emphasisEdgeLabelModel = self.getModel('emphasis.edgeLabel');\n var emphasisFakeSeriesModel = new Model({\n emphasis: {\n label: emphasisEdgeLabelModel.option\n }\n }, emphasisEdgeLabelModel.parentModel, ecModel);\n edgeData.wrapMethod('getItemModel', function (model) {\n model.customizeGetParent(edgeGetParent);\n return model;\n });\n\n function edgeGetParent(path) {\n path = this.parsePath(path);\n return path && path[0] === 'label' ? fakeSeriesModel : path && path[0] === 'emphasis' && path[1] === 'label' ? emphasisFakeSeriesModel : this.parentModel;\n }\n }\n },\n\n /**\n * @return {module:echarts/data/Graph}\n */\n getGraph: function () {\n return this.getData().graph;\n },\n\n /**\n * @return {module:echarts/data/List}\n */\n getEdgeData: function () {\n return this.getGraph().edgeData;\n },\n\n /**\n * @return {module:echarts/data/List}\n */\n getCategoriesData: function () {\n return this._categoriesData;\n },\n\n /**\n * @override\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType) {\n if (dataType === 'edge') {\n var nodeData = this.getData();\n var params = this.getDataParams(dataIndex, dataType);\n var edge = nodeData.graph.getEdgeByIndex(dataIndex);\n var sourceName = nodeData.getName(edge.node1.dataIndex);\n var targetName = nodeData.getName(edge.node2.dataIndex);\n var html = [];\n sourceName != null && html.push(sourceName);\n targetName != null && html.push(targetName);\n html = encodeHTML(html.join(' > '));\n\n if (params.value) {\n html += ' : ' + encodeHTML(params.value);\n }\n\n return html;\n } else {\n // dataType === 'node' or empty\n return GraphSeries.superApply(this, 'formatTooltip', arguments);\n }\n },\n _updateCategoriesData: function () {\n var categories = zrUtil.map(this.option.categories || [], function (category) {\n // Data must has value\n return category.value != null ? category : zrUtil.extend({\n value: 0\n }, category);\n });\n var categoriesData = new List(['value'], this);\n categoriesData.initData(categories);\n this._categoriesData = categoriesData;\n this._categoriesModels = categoriesData.mapArray(function (idx) {\n return categoriesData.getItemModel(idx, true);\n });\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n isAnimationEnabled: function () {\n return GraphSeries.superCall(this, 'isAnimationEnabled') // Not enable animation when do force layout\n && !(this.get('layout') === 'force' && this.get('force.layoutAnimation'));\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n // Default option for all coordinate systems\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // polarIndex: 0,\n // geoIndex: 0,\n legendHoverLink: true,\n hoverAnimation: true,\n layout: null,\n focusNodeAdjacency: false,\n // Configuration of circular layout\n circular: {\n rotateLabel: false\n },\n // Configuration of force directed layout\n force: {\n initLayout: null,\n // Node repulsion. Can be an array to represent range.\n repulsion: [0, 50],\n gravity: 0.1,\n // Initial friction\n friction: 0.6,\n // Edge length. Can be an array to represent range.\n edgeLength: 30,\n layoutAnimation: true\n },\n left: 'center',\n top: 'center',\n // right: null,\n // bottom: null,\n // width: '80%',\n // height: '80%',\n symbol: 'circle',\n symbolSize: 10,\n edgeSymbol: ['none', 'none'],\n edgeSymbolSize: 10,\n edgeLabel: {\n position: 'middle',\n distance: 5\n },\n draggable: false,\n roam: false,\n // Default on center of graph\n center: null,\n zoom: 1,\n // Symbol size scale ratio in roam\n nodeScaleRatio: 0.6,\n // cursor: null,\n // categories: [],\n // data: []\n // Or\n // nodes: []\n //\n // links: []\n // Or\n // edges: []\n label: {\n show: false,\n formatter: '{b}'\n },\n itemStyle: {},\n lineStyle: {\n color: '#aaa',\n width: 1,\n opacity: 0.5\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = GraphSeries;\nmodule.exports = _default;","var Path = require(\"../Path\");\n\nvar polyHelper = require(\"../helper/poly\");\n\n/**\n * 多边形\n * @module zrender/shape/Polygon\n */\nvar _default = Path.extend({\n type: 'polygon',\n shape: {\n points: null,\n smooth: false,\n smoothConstraint: null\n },\n buildPath: function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, true);\n }\n});\n\nmodule.exports = _default;","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar map = _util.map;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\n\nvar _dataStackHelper = require(\"../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var pipelineContext = seriesModel.pipelineContext;\n var isLargeRender = pipelineContext.large;\n\n if (!coordSys) {\n return;\n }\n\n var dims = map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }).slice(0, 2);\n var dimLen = dims.length;\n var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n if (isDimensionStacked(data, dims[0]\n /*, dims[1]*/\n )) {\n dims[0] = stackResultDim;\n }\n\n if (isDimensionStacked(data, dims[1]\n /*, dims[0]*/\n )) {\n dims[1] = stackResultDim;\n }\n\n function progress(params, data) {\n var segCount = params.end - params.start;\n var points = isLargeRender && new Float32Array(segCount * dimLen);\n\n for (var i = params.start, offset = 0, tmpIn = [], tmpOut = []; i < params.end; i++) {\n var point;\n\n if (dimLen === 1) {\n var x = data.get(dims[0], i);\n point = !isNaN(x) && coordSys.dataToPoint(x, null, tmpOut);\n } else {\n var x = tmpIn[0] = data.get(dims[0], i);\n var y = tmpIn[1] = data.get(dims[1], i); // Also {Array.}, not undefined to avoid if...else... statement\n\n point = !isNaN(x) && !isNaN(y) && coordSys.dataToPoint(tmpIn, null, tmpOut);\n }\n\n if (isLargeRender) {\n points[offset++] = point ? point[0] : NaN;\n points[offset++] = point ? point[1] : NaN;\n } else {\n data.setItemLayout(i, point && point.slice() || [NaN, NaN]);\n }\n }\n\n isLargeRender && data.setLayout('symbolPoints', points);\n }\n\n return dimLen && {\n progress: progress\n };\n }\n };\n}\n\nmodule.exports = _default;","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.titleConfig = void 0;\nvar titleConfig = {\n /**\n * @description Whether to display title\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Title text\n * @type {String}\n * @default text = ''\n */\n text: '',\n\n /**\n * @description Title offset\n * @type {Array}\n * @default offset = [0, -20]\n */\n offset: [0, -20],\n\n /**\n * @description Title default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fill: '#333',\n fontSize: 17,\n fontWeight: 'bold',\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n /**\n * @description Title render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = 20\n */\n rLevel: 20,\n\n /**\n * @description Title animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description Title animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrame: 50\n};\nexports.titleConfig = titleConfig;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ORIGIN_METHOD = '\\0__throttleOriginMethod';\nvar RATE = '\\0__throttleRate';\nvar THROTTLE_TYPE = '\\0__throttleType';\n/**\n * @public\n * @param {(Function)} fn\n * @param {number} [delay=0] Unit: ms.\n * @param {boolean} [debounce=false]\n * true: If call interval less than `delay`, only the last call works.\n * false: If call interval less than `delay, call works on fixed rate.\n * @return {(Function)} throttled fn.\n */\n\nfunction throttle(fn, delay, debounce) {\n var currCall;\n var lastCall = 0;\n var lastExec = 0;\n var timer = null;\n var diff;\n var scope;\n var args;\n var debounceNextCall;\n delay = delay || 0;\n\n function exec() {\n lastExec = new Date().getTime();\n timer = null;\n fn.apply(scope, args || []);\n }\n\n var cb = function () {\n currCall = new Date().getTime();\n scope = this;\n args = arguments;\n var thisDelay = debounceNextCall || delay;\n var thisDebounce = debounceNextCall || debounce;\n debounceNextCall = null;\n diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;\n clearTimeout(timer); // Here we should make sure that: the `exec` SHOULD NOT be called later\n // than a new call of `cb`, that is, preserving the command order. Consider\n // calculating \"scale rate\" when roaming as an example. When a call of `cb`\n // happens, either the `exec` is called dierectly, or the call is delayed.\n // But the delayed call should never be later than next call of `cb`. Under\n // this assurance, we can simply update view state each time `dispatchAction`\n // triggered by user roaming, but not need to add extra code to avoid the\n // state being \"rolled-back\".\n\n if (thisDebounce) {\n timer = setTimeout(exec, thisDelay);\n } else {\n if (diff >= 0) {\n exec();\n } else {\n timer = setTimeout(exec, -diff);\n }\n }\n\n lastCall = currCall;\n };\n /**\n * Clear throttle.\n * @public\n */\n\n\n cb.clear = function () {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n };\n /**\n * Enable debounce once.\n */\n\n\n cb.debounceNextCall = function (debounceDelay) {\n debounceNextCall = debounceDelay;\n };\n\n return cb;\n}\n/**\n * Create throttle method or update throttle rate.\n *\n * @example\n * ComponentView.prototype.render = function () {\n * ...\n * throttle.createOrUpdate(\n * this,\n * '_dispatchAction',\n * this.model.get('throttle'),\n * 'fixRate'\n * );\n * };\n * ComponentView.prototype.remove = function () {\n * throttle.clear(this, '_dispatchAction');\n * };\n * ComponentView.prototype.dispose = function () {\n * throttle.clear(this, '_dispatchAction');\n * };\n *\n * @public\n * @param {Object} obj\n * @param {string} fnAttr\n * @param {number} [rate]\n * @param {string} [throttleType='fixRate'] 'fixRate' or 'debounce'\n * @return {Function} throttled function.\n */\n\n\nfunction createOrUpdate(obj, fnAttr, rate, throttleType) {\n var fn = obj[fnAttr];\n\n if (!fn) {\n return;\n }\n\n var originFn = fn[ORIGIN_METHOD] || fn;\n var lastThrottleType = fn[THROTTLE_TYPE];\n var lastRate = fn[RATE];\n\n if (lastRate !== rate || lastThrottleType !== throttleType) {\n if (rate == null || !throttleType) {\n return obj[fnAttr] = originFn;\n }\n\n fn = obj[fnAttr] = throttle(originFn, rate, throttleType === 'debounce');\n fn[ORIGIN_METHOD] = originFn;\n fn[THROTTLE_TYPE] = throttleType;\n fn[RATE] = rate;\n }\n\n return fn;\n}\n/**\n * Clear throttle. Example see throttle.createOrUpdate.\n *\n * @public\n * @param {Object} obj\n * @param {string} fnAttr\n */\n\n\nfunction clear(obj, fnAttr) {\n var fn = obj[fnAttr];\n\n if (fn && fn[ORIGIN_METHOD]) {\n obj[fnAttr] = fn[ORIGIN_METHOD];\n }\n}\n\nexports.throttle = throttle;\nexports.createOrUpdate = createOrUpdate;\nexports.clear = clear;","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'marker',\n init: function () {\n /**\n * Markline grouped by series\n * @private\n * @type {module:zrender/core/util.HashMap}\n */\n this.markerGroupMap = zrUtil.createHashMap();\n },\n render: function (markerModel, ecModel, api) {\n var markerGroupMap = this.markerGroupMap;\n markerGroupMap.each(function (item) {\n item.__keep = false;\n });\n var markerModelKey = this.type + 'Model';\n ecModel.eachSeries(function (seriesModel) {\n var markerModel = seriesModel[markerModelKey];\n markerModel && this.renderSeries(seriesModel, markerModel, ecModel, api);\n }, this);\n markerGroupMap.each(function (item) {\n !item.__keep && this.group.remove(item.group);\n }, this);\n },\n renderSeries: function () {}\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _clazz = require(\"./clazz\");\n\nvar parseClassType = _clazz.parseClassType;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar base = 0;\n/**\n * @public\n * @param {string} type\n * @return {string}\n */\n\nfunction getUID(type) {\n // Considering the case of crossing js context,\n // use Math.random to make id as unique as possible.\n return [type || '', base++, Math.random().toFixed(5)].join('_');\n}\n/**\n * @inner\n */\n\n\nfunction enableSubTypeDefaulter(entity) {\n var subTypeDefaulters = {};\n\n entity.registerSubTypeDefaulter = function (componentType, defaulter) {\n componentType = parseClassType(componentType);\n subTypeDefaulters[componentType.main] = defaulter;\n };\n\n entity.determineSubType = function (componentType, option) {\n var type = option.type;\n\n if (!type) {\n var componentTypeMain = parseClassType(componentType).main;\n\n if (entity.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {\n type = subTypeDefaulters[componentTypeMain](option);\n }\n }\n\n return type;\n };\n\n return entity;\n}\n/**\n * Topological travel on Activity Network (Activity On Vertices).\n * Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].\n *\n * If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.\n *\n * If there is circle dependencey, Error will be thrown.\n *\n */\n\n\nfunction enableTopologicalTravel(entity, dependencyGetter) {\n /**\n * @public\n * @param {Array.} targetNameList Target Component type list.\n * Can be ['aa', 'bb', 'aa.xx']\n * @param {Array.} fullNameList By which we can build dependency graph.\n * @param {Function} callback Params: componentType, dependencies.\n * @param {Object} context Scope of callback.\n */\n entity.topologicalTravel = function (targetNameList, fullNameList, callback, context) {\n if (!targetNameList.length) {\n return;\n }\n\n var result = makeDepndencyGraph(fullNameList);\n var graph = result.graph;\n var stack = result.noEntryList;\n var targetNameSet = {};\n zrUtil.each(targetNameList, function (name) {\n targetNameSet[name] = true;\n });\n\n while (stack.length) {\n var currComponentType = stack.pop();\n var currVertex = graph[currComponentType];\n var isInTargetNameSet = !!targetNameSet[currComponentType];\n\n if (isInTargetNameSet) {\n callback.call(context, currComponentType, currVertex.originalDeps.slice());\n delete targetNameSet[currComponentType];\n }\n\n zrUtil.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);\n }\n\n zrUtil.each(targetNameSet, function () {\n throw new Error('Circle dependency may exists');\n });\n\n function removeEdge(succComponentType) {\n graph[succComponentType].entryCount--;\n\n if (graph[succComponentType].entryCount === 0) {\n stack.push(succComponentType);\n }\n } // Consider this case: legend depends on series, and we call\n // chart.setOption({series: [...]}), where only series is in option.\n // If we do not have 'removeEdgeAndAdd', legendModel.mergeOption will\n // not be called, but only sereis.mergeOption is called. Thus legend\n // have no chance to update its local record about series (like which\n // name of series is available in legend).\n\n\n function removeEdgeAndAdd(succComponentType) {\n targetNameSet[succComponentType] = true;\n removeEdge(succComponentType);\n }\n };\n /**\n * DepndencyGraph: {Object}\n * key: conponentType,\n * value: {\n * successor: [conponentTypes...],\n * originalDeps: [conponentTypes...],\n * entryCount: {number}\n * }\n */\n\n\n function makeDepndencyGraph(fullNameList) {\n var graph = {};\n var noEntryList = [];\n zrUtil.each(fullNameList, function (name) {\n var thisItem = createDependencyGraphItem(graph, name);\n var originalDeps = thisItem.originalDeps = dependencyGetter(name);\n var availableDeps = getAvailableDependencies(originalDeps, fullNameList);\n thisItem.entryCount = availableDeps.length;\n\n if (thisItem.entryCount === 0) {\n noEntryList.push(name);\n }\n\n zrUtil.each(availableDeps, function (dependentName) {\n if (zrUtil.indexOf(thisItem.predecessor, dependentName) < 0) {\n thisItem.predecessor.push(dependentName);\n }\n\n var thatItem = createDependencyGraphItem(graph, dependentName);\n\n if (zrUtil.indexOf(thatItem.successor, dependentName) < 0) {\n thatItem.successor.push(name);\n }\n });\n });\n return {\n graph: graph,\n noEntryList: noEntryList\n };\n }\n\n function createDependencyGraphItem(graph, name) {\n if (!graph[name]) {\n graph[name] = {\n predecessor: [],\n successor: []\n };\n }\n\n return graph[name];\n }\n\n function getAvailableDependencies(originalDeps, fullNameList) {\n var availableDeps = [];\n zrUtil.each(originalDeps, function (dep) {\n zrUtil.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);\n });\n return availableDeps;\n }\n}\n\nexports.getUID = getUID;\nexports.enableSubTypeDefaulter = enableSubTypeDefaulter;\nexports.enableTopologicalTravel = enableTopologicalTravel;","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar platform = ''; // Navigator not exists in node\n\nif (typeof navigator !== 'undefined') {\n platform = navigator.platform || '';\n}\n\nvar _default = {\n // backgroundColor: 'rgba(0,0,0,0)',\n // https://dribbble.com/shots/1065960-Infographic-Pie-chart-visualization\n // color: ['#5793f3', '#d14a61', '#fd9c35', '#675bba', '#fec42c', '#dd4444', '#d4df5a', '#cd4870'],\n // Light colors:\n // color: ['#bcd3bb', '#e88f70', '#edc1a5', '#9dc5c8', '#e1e8c8', '#7b7c68', '#e5b5b5', '#f0b489', '#928ea8', '#bda29a'],\n // color: ['#cc5664', '#9bd6ec', '#ea946e', '#8acaaa', '#f1ec64', '#ee8686', '#a48dc1', '#5da6bc', '#b9dcae'],\n // Dark colors:\n color: ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'],\n gradientColor: ['#f6efa6', '#d88273', '#bf444c'],\n // If xAxis and yAxis declared, grid is created by default.\n // grid: {},\n textStyle: {\n // color: '#000',\n // decoration: 'none',\n // PENDING\n fontFamily: platform.match(/^Win/) ? 'Microsoft YaHei' : 'sans-serif',\n // fontFamily: 'Arial, Verdana, sans-serif',\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 'normal'\n },\n // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n // Default is source-over\n blendMode: null,\n animation: 'auto',\n animationDuration: 1000,\n animationDurationUpdate: 300,\n animationEasing: 'exponentialOut',\n animationEasingUpdate: 'cubicOut',\n animationThreshold: 2000,\n // Configuration for progressive/incremental rendering\n progressiveThreshold: 3000,\n progressive: 400,\n // Threshold of if use single hover layer to optimize.\n // It is recommended that `hoverLayerThreshold` is equivalent to or less than\n // `progressiveThreshold`, otherwise hover will cause restart of progressive,\n // which is unexpected.\n // see example .\n hoverLayerThreshold: 3000,\n // See: module:echarts/scale/Time\n useUTC: false\n};\nmodule.exports = _default;","var env = require(\"../../core/env\");\n\n// Fix weird bug in some version of IE11 (like 11.0.9600.178**),\n// where exception \"unexpected call to method or property access\"\n// might be thrown when calling ctx.fill or ctx.stroke after a path\n// whose area size is zero is drawn and ctx.clip() is called and\n// shadowBlur is set. See #4572, #3112, #5777.\n// (e.g.,\n// ctx.moveTo(10, 10);\n// ctx.lineTo(20, 10);\n// ctx.closePath();\n// ctx.clip();\n// ctx.shadowBlur = 10;\n// ...\n// ctx.fill();\n// )\nvar shadowTemp = [['shadowBlur', 0], ['shadowColor', '#000'], ['shadowOffsetX', 0], ['shadowOffsetY', 0]];\n\nfunction _default(orignalBrush) {\n // version string can be: '11.0'\n return env.browser.ie && env.browser.version >= 11 ? function () {\n var clipPaths = this.__clipPaths;\n var style = this.style;\n var modified;\n\n if (clipPaths) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n var shape = clipPath && clipPath.shape;\n var type = clipPath && clipPath.type;\n\n if (shape && (type === 'sector' && shape.startAngle === shape.endAngle || type === 'rect' && (!shape.width || !shape.height))) {\n for (var j = 0; j < shadowTemp.length; j++) {\n // It is save to put shadowTemp static, because shadowTemp\n // will be all modified each item brush called.\n shadowTemp[j][2] = style[shadowTemp[j][0]];\n style[shadowTemp[j][0]] = shadowTemp[j][1];\n }\n\n modified = true;\n break;\n }\n }\n }\n\n orignalBrush.apply(this, arguments);\n\n if (modified) {\n for (var j = 0; j < shadowTemp.length; j++) {\n style[shadowTemp[j][0]] = shadowTemp[j][2];\n }\n }\n } : orignalBrush;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar numberUtil = require(\"../util/number\");\n\nvar formatUtil = require(\"../util/format\");\n\nvar Scale = require(\"./Scale\");\n\nvar helper = require(\"./helper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Interval scale\n * @module echarts/scale/Interval\n */\nvar roundNumber = numberUtil.round;\n/**\n * @alias module:echarts/coord/scale/Interval\n * @constructor\n */\n\nvar IntervalScale = Scale.extend({\n type: 'interval',\n _interval: 0,\n _intervalPrecision: 2,\n setExtent: function (start, end) {\n var thisExtent = this._extent; //start,end may be a Number like '25',so...\n\n if (!isNaN(start)) {\n thisExtent[0] = parseFloat(start);\n }\n\n if (!isNaN(end)) {\n thisExtent[1] = parseFloat(end);\n }\n },\n unionExtent: function (other) {\n var extent = this._extent;\n other[0] < extent[0] && (extent[0] = other[0]);\n other[1] > extent[1] && (extent[1] = other[1]); // unionExtent may called by it's sub classes\n\n IntervalScale.prototype.setExtent.call(this, extent[0], extent[1]);\n },\n\n /**\n * Get interval\n */\n getInterval: function () {\n return this._interval;\n },\n\n /**\n * Set interval\n */\n setInterval: function (interval) {\n this._interval = interval; // Dropped auto calculated niceExtent and use user setted extent\n // We assume user wan't to set both interval, min, max to get a better result\n\n this._niceExtent = this._extent.slice();\n this._intervalPrecision = helper.getIntervalPrecision(interval);\n },\n\n /**\n * @param {boolean} [expandToNicedExtent=false] If expand the ticks to niced extent.\n * @return {Array.}\n */\n getTicks: function (expandToNicedExtent) {\n var interval = this._interval;\n var extent = this._extent;\n var niceTickExtent = this._niceExtent;\n var intervalPrecision = this._intervalPrecision;\n var ticks = []; // If interval is 0, return [];\n\n if (!interval) {\n return ticks;\n } // Consider this case: using dataZoom toolbox, zoom and zoom.\n\n\n var safeLimit = 10000;\n\n if (extent[0] < niceTickExtent[0]) {\n if (expandToNicedExtent) {\n ticks.push(roundNumber(niceTickExtent[0] - interval, intervalPrecision));\n } else {\n ticks.push(extent[0]);\n }\n }\n\n var tick = niceTickExtent[0];\n\n while (tick <= niceTickExtent[1]) {\n ticks.push(tick); // Avoid rounding error\n\n tick = roundNumber(tick + interval, intervalPrecision);\n\n if (tick === ticks[ticks.length - 1]) {\n // Consider out of safe float point, e.g.,\n // -3711126.9907707 + 2e-10 === -3711126.9907707\n break;\n }\n\n if (ticks.length > safeLimit) {\n return [];\n }\n } // Consider this case: the last item of ticks is smaller\n // than niceTickExtent[1] and niceTickExtent[1] === extent[1].\n\n\n var lastNiceTick = ticks.length ? ticks[ticks.length - 1] : niceTickExtent[1];\n\n if (extent[1] > lastNiceTick) {\n if (expandToNicedExtent) {\n ticks.push(roundNumber(lastNiceTick + interval, intervalPrecision));\n } else {\n ticks.push(extent[1]);\n }\n }\n\n return ticks;\n },\n\n /**\n * @param {number} [splitNumber=5]\n * @return {Array.>}\n */\n getMinorTicks: function (splitNumber) {\n var ticks = this.getTicks(true);\n var minorTicks = [];\n var extent = this.getExtent();\n\n for (var i = 1; i < ticks.length; i++) {\n var nextTick = ticks[i];\n var prevTick = ticks[i - 1];\n var count = 0;\n var minorTicksGroup = [];\n var interval = nextTick - prevTick;\n var minorInterval = interval / splitNumber;\n\n while (count < splitNumber - 1) {\n var minorTick = numberUtil.round(prevTick + (count + 1) * minorInterval); // For the first and last interval. The count may be less than splitNumber.\n\n if (minorTick > extent[0] && minorTick < extent[1]) {\n minorTicksGroup.push(minorTick);\n }\n\n count++;\n }\n\n minorTicks.push(minorTicksGroup);\n }\n\n return minorTicks;\n },\n\n /**\n * @param {number} data\n * @param {Object} [opt]\n * @param {number|string} [opt.precision] If 'auto', use nice presision.\n * @param {boolean} [opt.pad] returns 1.50 but not 1.5 if precision is 2.\n * @return {string}\n */\n getLabel: function (data, opt) {\n if (data == null) {\n return '';\n }\n\n var precision = opt && opt.precision;\n\n if (precision == null) {\n precision = numberUtil.getPrecisionSafe(data) || 0;\n } else if (precision === 'auto') {\n // Should be more precise then tick.\n precision = this._intervalPrecision;\n } // (1) If `precision` is set, 12.005 should be display as '12.00500'.\n // (2) Use roundNumber (toFixed) to avoid scientific notation like '3.5e-7'.\n\n\n data = roundNumber(data, precision, true);\n return formatUtil.addCommas(data);\n },\n\n /**\n * Update interval and extent of intervals for nice ticks\n *\n * @param {number} [splitNumber = 5] Desired number of ticks\n * @param {number} [minInterval]\n * @param {number} [maxInterval]\n */\n niceTicks: function (splitNumber, minInterval, maxInterval) {\n splitNumber = splitNumber || 5;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n\n if (!isFinite(span)) {\n return;\n } // User may set axis min 0 and data are all negative\n // FIXME If it needs to reverse ?\n\n\n if (span < 0) {\n span = -span;\n extent.reverse();\n }\n\n var result = helper.intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval);\n this._intervalPrecision = result.intervalPrecision;\n this._interval = result.interval;\n this._niceExtent = result.niceTickExtent;\n },\n\n /**\n * Nice extent.\n * @param {Object} opt\n * @param {number} [opt.splitNumber = 5] Given approx tick number\n * @param {boolean} [opt.fixMin=false]\n * @param {boolean} [opt.fixMax=false]\n * @param {boolean} [opt.minInterval]\n * @param {boolean} [opt.maxInterval]\n */\n niceExtent: function (opt) {\n var extent = this._extent; // If extent start and end are same, expand them\n\n if (extent[0] === extent[1]) {\n if (extent[0] !== 0) {\n // Expand extent\n var expandSize = extent[0]; // In the fowllowing case\n // Axis has been fixed max 100\n // Plus data are all 100 and axis extent are [100, 100].\n // Extend to the both side will cause expanded max is larger than fixed max.\n // So only expand to the smaller side.\n\n if (!opt.fixMax) {\n extent[1] += expandSize / 2;\n extent[0] -= expandSize / 2;\n } else {\n extent[0] -= expandSize / 2;\n }\n } else {\n extent[1] = 1;\n }\n }\n\n var span = extent[1] - extent[0]; // If there are no data and extent are [Infinity, -Infinity]\n\n if (!isFinite(span)) {\n extent[0] = 0;\n extent[1] = 1;\n }\n\n this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // var extent = this._extent;\n\n var interval = this._interval;\n\n if (!opt.fixMin) {\n extent[0] = roundNumber(Math.floor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = roundNumber(Math.ceil(extent[1] / interval) * interval);\n }\n }\n});\n/**\n * @return {module:echarts/scale/Time}\n */\n\nIntervalScale.create = function () {\n return new IntervalScale();\n};\n\nvar _default = IntervalScale;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mergeColor = mergeColor;\n\nvar _config = require(\"../config\");\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nvar _util2 = require(\"../util\");\n\nfunction mergeColor(chart) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var defaultColor = (0, _util.deepClone)(_config.colorConfig, true);\n var color = option.color,\n series = option.series;\n if (!series) series = [];\n if (!color) color = [];\n option.color = color = (0, _util2.deepMerge)(defaultColor, color);\n if (!series.length) return;\n var colorNum = color.length;\n series.forEach(function (item, i) {\n if (item.color) return;\n item.color = color[i % colorNum];\n });\n var pies = series.filter(function (_ref) {\n var type = _ref.type;\n return type === 'pie';\n });\n pies.forEach(function (pie) {\n return pie.data.forEach(function (di, i) {\n return di.color = color[i % colorNum];\n });\n });\n var gauges = series.filter(function (_ref2) {\n var type = _ref2.type;\n return type === 'gauge';\n });\n gauges.forEach(function (gauge) {\n return gauge.data.forEach(function (di, i) {\n return di.color = color[i % colorNum];\n });\n });\n var barWithIndependentColor = series.filter(function (_ref3) {\n var type = _ref3.type,\n independentColor = _ref3.independentColor;\n return type === 'bar' && independentColor;\n });\n barWithIndependentColor.forEach(function (bar) {\n if (bar.independentColors) return;\n bar.independentColors = color;\n });\n}","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar retrieve = _util.retrieve;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Helper for model references.\n * There are many manners to refer axis/coordSys.\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\n\n/**\n * @class\n * For example:\n * {\n * coordSysName: 'cartesian2d',\n * coordSysDims: ['x', 'y', ...],\n * axisMap: HashMap({\n * x: xAxisModel,\n * y: yAxisModel\n * }),\n * categoryAxisMap: HashMap({\n * x: xAxisModel,\n * y: undefined\n * }),\n * // The index of the first category axis in `coordSysDims`.\n * // `null/undefined` means no category axis exists.\n * firstCategoryDimIndex: 1,\n * // To replace user specified encode.\n * }\n */\nfunction CoordSysInfo(coordSysName) {\n /**\n * @type {string}\n */\n this.coordSysName = coordSysName;\n /**\n * @type {Array.}\n */\n\n this.coordSysDims = [];\n /**\n * @type {module:zrender/core/util#HashMap}\n */\n\n this.axisMap = createHashMap();\n /**\n * @type {module:zrender/core/util#HashMap}\n */\n\n this.categoryAxisMap = createHashMap();\n /**\n * @type {number}\n */\n\n this.firstCategoryDimIndex = null;\n}\n/**\n * @return {module:model/referHelper#CoordSysInfo}\n */\n\n\nfunction getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\n\n if (fetch) {\n fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n return result;\n }\n}\n\nvar fetchers = {\n cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n var xAxisModel = seriesModel.getReferringComponents('xAxis')[0];\n var yAxisModel = seriesModel.getReferringComponents('yAxis')[0];\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(yAxisModel)) {\n categoryAxisMap.set('y', yAxisModel);\n result.firstCategoryDimIndex == null & (result.firstCategoryDimIndex = 1);\n }\n },\n singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n var singleAxisModel = seriesModel.getReferringComponents('singleAxis')[0];\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\n\n if (isCategory(singleAxisModel)) {\n categoryAxisMap.set('single', singleAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n },\n polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n var polarModel = seriesModel.getReferringComponents('polar')[0];\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(angleAxisModel)) {\n categoryAxisMap.set('angle', angleAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n result.coordSysDims = ['lng', 'lat'];\n },\n parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n var ecModel = seriesModel.ecModel;\n var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n each(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n var axisDim = coordSysDims[index];\n axisMap.set(axisDim, axisModel);\n\n if (isCategory(axisModel) && result.firstCategoryDimIndex == null) {\n categoryAxisMap.set(axisDim, axisModel);\n result.firstCategoryDimIndex = index;\n }\n });\n }\n};\n\nfunction isCategory(axisModel) {\n return axisModel.get('type') === 'category';\n}\n\nexports.getCoordSysInfoBySeries = getCoordSysInfoBySeries;","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 130);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 130:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js&\n\n/* harmony default export */ var tagvue_type_script_lang_js_ = ({\n name: 'ElTag',\n props: {\n text: String,\n closable: Boolean,\n type: String,\n hit: Boolean,\n disableTransitions: Boolean,\n color: String,\n size: String,\n effect: {\n type: String,\n default: 'light',\n validator: function validator(val) {\n return ['dark', 'light', 'plain'].indexOf(val) !== -1;\n }\n }\n },\n methods: {\n handleClose: function handleClose(event) {\n event.stopPropagation();\n this.$emit('close', event);\n },\n handleClick: function handleClick(event) {\n this.$emit('click', event);\n }\n },\n computed: {\n tagSize: function tagSize() {\n return this.size || (this.$ELEMENT || {}).size;\n }\n },\n render: function render(h) {\n var type = this.type,\n tagSize = this.tagSize,\n hit = this.hit,\n effect = this.effect;\n\n var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit'];\n var tagEl = h(\n 'span',\n {\n 'class': classes,\n style: { backgroundColor: this.color },\n on: {\n 'click': this.handleClick\n }\n },\n [this.$slots.default, this.closable && h('i', { 'class': 'el-tag__close el-icon-close', on: {\n 'click': this.handleClose\n }\n })]\n );\n\n return this.disableTransitions ? tagEl : h(\n 'transition',\n {\n attrs: { name: 'el-zoom-in-center' }\n },\n [tagEl]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tagvue_type_script_lang_js_ = (tagvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/tag/src/tag.vue\nvar render, staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_tagvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/tag/src/tag.vue\"\n/* harmony default export */ var tag = (component.exports);\n// CONCATENATED MODULE: ./packages/tag/index.js\n\n\n/* istanbul ignore next */\ntag.install = function (Vue) {\n Vue.component(tag.name, tag);\n};\n\n/* harmony default export */ var packages_tag = __webpack_exports__[\"default\"] = (tag);\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Scale = require(\"./Scale\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar IntervalScale = require(\"./Interval\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Log scale\n * @module echarts/scale/Log\n */\n// Use some method of IntervalScale\nvar scaleProto = Scale.prototype;\nvar intervalScaleProto = IntervalScale.prototype;\nvar getPrecisionSafe = numberUtil.getPrecisionSafe;\nvar roundingErrorFix = numberUtil.round;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar mathPow = Math.pow;\nvar mathLog = Math.log;\nvar LogScale = Scale.extend({\n type: 'log',\n base: 10,\n $constructor: function () {\n Scale.apply(this, arguments);\n this._originalScale = new IntervalScale();\n },\n\n /**\n * @param {boolean} [expandToNicedExtent=false] If expand the ticks to niced extent.\n * @return {Array.}\n */\n getTicks: function (expandToNicedExtent) {\n var originalScale = this._originalScale;\n var extent = this._extent;\n var originalExtent = originalScale.getExtent();\n return zrUtil.map(intervalScaleProto.getTicks.call(this, expandToNicedExtent), function (val) {\n var powVal = numberUtil.round(mathPow(this.base, val)); // Fix #4158\n\n powVal = val === extent[0] && originalScale.__fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;\n powVal = val === extent[1] && originalScale.__fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;\n return powVal;\n }, this);\n },\n\n /**\n * @param {number} splitNumber\n * @return {Array.>}\n */\n getMinorTicks: intervalScaleProto.getMinorTicks,\n\n /**\n * @param {number} val\n * @return {string}\n */\n getLabel: intervalScaleProto.getLabel,\n\n /**\n * @param {number} val\n * @return {number}\n */\n scale: function (val) {\n val = scaleProto.scale.call(this, val);\n return mathPow(this.base, val);\n },\n\n /**\n * @param {number} start\n * @param {number} end\n */\n setExtent: function (start, end) {\n var base = this.base;\n start = mathLog(start) / mathLog(base);\n end = mathLog(end) / mathLog(base);\n intervalScaleProto.setExtent.call(this, start, end);\n },\n\n /**\n * @return {number} end\n */\n getExtent: function () {\n var base = this.base;\n var extent = scaleProto.getExtent.call(this);\n extent[0] = mathPow(base, extent[0]);\n extent[1] = mathPow(base, extent[1]); // Fix #4158\n\n var originalScale = this._originalScale;\n var originalExtent = originalScale.getExtent();\n originalScale.__fixMin && (extent[0] = fixRoundingError(extent[0], originalExtent[0]));\n originalScale.__fixMax && (extent[1] = fixRoundingError(extent[1], originalExtent[1]));\n return extent;\n },\n\n /**\n * @param {Array.} extent\n */\n unionExtent: function (extent) {\n this._originalScale.unionExtent(extent);\n\n var base = this.base;\n extent[0] = mathLog(extent[0]) / mathLog(base);\n extent[1] = mathLog(extent[1]) / mathLog(base);\n scaleProto.unionExtent.call(this, extent);\n },\n\n /**\n * @override\n */\n unionExtentFromData: function (data, dim) {\n // TODO\n // filter value that <= 0\n this.unionExtent(data.getApproximateExtent(dim));\n },\n\n /**\n * Update interval and extent of intervals for nice ticks\n * @param {number} [approxTickNum = 10] Given approx tick number\n */\n niceTicks: function (approxTickNum) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n\n if (span === Infinity || span <= 0) {\n return;\n }\n\n var interval = numberUtil.quantity(span);\n var err = approxTickNum / span * interval; // Filter ticks to get closer to the desired count.\n\n if (err <= 0.5) {\n interval *= 10;\n } // Interval should be integer\n\n\n while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {\n interval *= 10;\n }\n\n var niceExtent = [numberUtil.round(mathCeil(extent[0] / interval) * interval), numberUtil.round(mathFloor(extent[1] / interval) * interval)];\n this._interval = interval;\n this._niceExtent = niceExtent;\n },\n\n /**\n * Nice extent.\n * @override\n */\n niceExtent: function (opt) {\n intervalScaleProto.niceExtent.call(this, opt);\n var originalScale = this._originalScale;\n originalScale.__fixMin = opt.fixMin;\n originalScale.__fixMax = opt.fixMax;\n }\n});\nzrUtil.each(['contain', 'normalize'], function (methodName) {\n LogScale.prototype[methodName] = function (val) {\n val = mathLog(val) / mathLog(this.base);\n return scaleProto[methodName].call(this, val);\n };\n});\n\nLogScale.create = function () {\n return new LogScale();\n};\n\nfunction fixRoundingError(val, originalVal) {\n return roundingErrorFix(val, getPrecisionSafe(originalVal));\n}\n\nvar _default = LogScale;\nmodule.exports = _default;","/*!\n * vue-router v3.1.3\n * (c) 2019 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isExtendedError (constructor, err) {\n return (\n err instanceof constructor ||\n // _name is to support IE9 too\n (err && (err.name === constructor.name || err._name === constructor._name))\n )\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode && parent.$vnode.data;\n if (vnodeData) {\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._inactive) {\n inactive = true;\n }\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n if (params.pathMatch) { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n return extend({}, raw)\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"RouterLink with to=\\\"\" + (this.props.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n window.history.replaceState({ key: getStateKey() }, '', absolutePath);\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: getStateKey() }, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\nvar NavigationDuplicated = /*@__PURE__*/(function (Error) {\n function NavigationDuplicated (normalizedLocation) {\n Error.call(this);\n this.name = this._name = 'NavigationDuplicated';\n // passing the message to super() doesn't seem to work in the transpiled version\n this.message = \"Navigating to current location (\\\"\" + (normalizedLocation.fullPath) + \"\\\") is not allowed\";\n // add a stack property so services like Sentry can correctly display it\n Object.defineProperty(this, 'stack', {\n value: new Error().stack,\n writable: true,\n configurable: true\n });\n // we could also have used\n // Error.captureStackTrace(this, this.constructor)\n // but it only exists on node and chrome\n }\n\n if ( Error ) NavigationDuplicated.__proto__ = Error;\n NavigationDuplicated.prototype = Object.create( Error && Error.prototype );\n NavigationDuplicated.prototype.constructor = NavigationDuplicated;\n\n return NavigationDuplicated;\n}(Error));\n\n// support IE9\nNavigationDuplicated._name = 'NavigationDuplicated';\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(\n route,\n function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n // after merging https://github.com/vuejs/vue-router/pull/2771 we\n // When the user navigates through history through back/forward buttons\n // we do not want to throw the error. We only throw it if directly calling\n // push/replace. That's why it's not included in isError\n if (!isExtendedError(NavigationDuplicated, err) && isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort(new NavigationDuplicated(route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) {\n cb();\n });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n next(cb);\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (\n instances[key] &&\n !instances[key]._isBeingDestroyed // do not reuse being destroyed instance\n ) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = decodeURI(window.location.pathname);\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(\n supportsPushState ? 'popstate' : 'hashchange',\n function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n }\n );\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n // decode the hash but not the search or hash\n // as search(query) is already decoded\n // https://github.com/vuejs/vue-router/issues/2708\n var searchIndex = href.indexOf('?');\n if (searchIndex < 0) {\n var hashIndex = href.indexOf('#');\n if (hashIndex > -1) {\n href = decodeURI(href.slice(0, hashIndex)) + href.slice(hashIndex);\n } else { href = decodeURI(href); }\n } else {\n if (searchIndex > -1) {\n href = decodeURI(href.slice(0, searchIndex)) + href.slice(searchIndex);\n }\n }\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n },\n function (err) {\n if (isExtendedError(NavigationDuplicated, err)) {\n this$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1.apps.indexOf(app);\n if (index > -1) { this$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(\n to,\n current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.1.3';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","var Path = require(\"../Path\");\n\n/**\n * 圆弧\n * @module zrender/graphic/shape/Arc\n */\nvar _default = Path.extend({\n type: 'arc',\n shape: {\n cx: 0,\n cy: 0,\n r: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n clockwise: true\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n var x = shape.cx;\n var y = shape.cy;\n var r = Math.max(shape.r, 0);\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var unitX = Math.cos(startAngle);\n var unitY = Math.sin(startAngle);\n ctx.moveTo(unitX * r + x, unitY * r + y);\n ctx.arc(x, y, r, startAngle, endAngle, !clockwise);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/radar\");\n\nrequire(\"./radar/RadarSeries\");\n\nrequire(\"./radar/RadarView\");\n\nvar dataColor = require(\"../visual/dataColor\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar radarLayout = require(\"./radar/radarLayout\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\nvar backwardCompat = require(\"./radar/backwardCompat\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Must use radar component\necharts.registerVisual(dataColor('radar'));\necharts.registerVisual(visualSymbol('radar', 'circle'));\necharts.registerLayout(radarLayout);\necharts.registerProcessor(dataFilter('radar'));\necharts.registerPreprocessor(backwardCompat);","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isObject = _util.isObject;\nvar map = _util.map;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor\n * @param {Object} [opt]\n * @param {Object} [opt.categories=[]]\n * @param {Object} [opt.needCollect=false]\n * @param {Object} [opt.deduplication=false]\n */\nfunction OrdinalMeta(opt) {\n /**\n * @readOnly\n * @type {Array.}\n */\n this.categories = opt.categories || [];\n /**\n * @private\n * @type {boolean}\n */\n\n this._needCollect = opt.needCollect;\n /**\n * @private\n * @type {boolean}\n */\n\n this._deduplication = opt.deduplication;\n /**\n * @private\n * @type {boolean}\n */\n\n this._map;\n}\n/**\n * @param {module:echarts/model/Model} axisModel\n * @return {module:echarts/data/OrdinalMeta}\n */\n\n\nOrdinalMeta.createByAxisModel = function (axisModel) {\n var option = axisModel.option;\n var data = option.data;\n var categories = data && map(data, getName);\n return new OrdinalMeta({\n categories: categories,\n needCollect: !categories,\n // deduplication is default in axis.\n deduplication: option.dedplication !== false\n });\n};\n\nvar proto = OrdinalMeta.prototype;\n/**\n * @param {string} category\n * @return {number} ordinal\n */\n\nproto.getOrdinal = function (category) {\n return getOrCreateMap(this).get(category);\n};\n/**\n * @param {*} category\n * @return {number} The ordinal. If not found, return NaN.\n */\n\n\nproto.parseAndCollect = function (category) {\n var index;\n var needCollect = this._needCollect; // The value of category dim can be the index of the given category set.\n // This feature is only supported when !needCollect, because we should\n // consider a common case: a value is 2017, which is a number but is\n // expected to be tread as a category. This case usually happen in dataset,\n // where it happent to be no need of the index feature.\n\n if (typeof category !== 'string' && !needCollect) {\n return category;\n } // Optimize for the scenario:\n // category is ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // Notice, if a dataset dimension provide categroies, usually echarts\n // should remove duplication except user tell echarts dont do that\n // (set axis.deduplication = false), because echarts do not know whether\n // the values in the category dimension has duplication (consider the\n // parallel-aqi example)\n\n\n if (needCollect && !this._deduplication) {\n index = this.categories.length;\n this.categories[index] = category;\n return index;\n }\n\n var map = getOrCreateMap(this);\n index = map.get(category);\n\n if (index == null) {\n if (needCollect) {\n index = this.categories.length;\n this.categories[index] = category;\n map.set(category, index);\n } else {\n index = NaN;\n }\n }\n\n return index;\n}; // Consider big data, do not create map until needed.\n\n\nfunction getOrCreateMap(ordinalMeta) {\n return ordinalMeta._map || (ordinalMeta._map = createHashMap(ordinalMeta.categories));\n}\n\nfunction getName(obj) {\n if (isObject(obj) && obj.value != null) {\n return obj.value;\n } else {\n return obj + '';\n }\n}\n\nvar _default = OrdinalMeta;\nmodule.exports = _default;","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar colorUtil = require(\"zrender/lib/tool/color\");\n\nvar List = require(\"../../data/List\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar markerHelper = require(\"./markerHelper\");\n\nvar MarkerView = require(\"./MarkerView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Better on polar\nvar markAreaTransform = function (seriesModel, coordSys, maModel, item) {\n var lt = markerHelper.dataTransform(seriesModel, item[0]);\n var rb = markerHelper.dataTransform(seriesModel, item[1]);\n var retrieve = zrUtil.retrieve; // FIXME make sure lt is less than rb\n\n var ltCoord = lt.coord;\n var rbCoord = rb.coord;\n ltCoord[0] = retrieve(ltCoord[0], -Infinity);\n ltCoord[1] = retrieve(ltCoord[1], -Infinity);\n rbCoord[0] = retrieve(rbCoord[0], Infinity);\n rbCoord[1] = retrieve(rbCoord[1], Infinity); // Merge option into one\n\n var result = zrUtil.mergeAll([{}, lt, rb]);\n result.coord = [lt.coord, rb.coord];\n result.x0 = lt.x;\n result.y0 = lt.y;\n result.x1 = rb.x;\n result.y1 = rb.y;\n return result;\n};\n\nfunction isInifinity(val) {\n return !isNaN(val) && !isFinite(val);\n} // If a markArea has one dim\n\n\nfunction ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n var otherDimIndex = 1 - dimIndex;\n return isInifinity(fromCoord[otherDimIndex]) && isInifinity(toCoord[otherDimIndex]);\n}\n\nfunction markAreaFilter(coordSys, item) {\n var fromCoord = item.coord[0];\n var toCoord = item.coord[1];\n\n if (coordSys.type === 'cartesian2d') {\n // In case\n // {\n // markArea: {\n // data: [{ yAxis: 2 }]\n // }\n // }\n if (fromCoord && toCoord && (ifMarkLineHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim(0, fromCoord, toCoord, coordSys))) {\n return true;\n }\n }\n\n return markerHelper.dataFilter(coordSys, {\n coord: fromCoord,\n x: item.x0,\n y: item.y0\n }) || markerHelper.dataFilter(coordSys, {\n coord: toCoord,\n x: item.x1,\n y: item.y1\n });\n} // dims can be ['x0', 'y0'], ['x1', 'y1'], ['x0', 'y1'], ['x1', 'y0']\n\n\nfunction getSingleMarkerEndPoint(data, idx, dims, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var itemModel = data.getItemModel(idx);\n var point;\n var xPx = numberUtil.parsePercent(itemModel.get(dims[0]), api.getWidth());\n var yPx = numberUtil.parsePercent(itemModel.get(dims[1]), api.getHeight());\n\n if (!isNaN(xPx) && !isNaN(yPx)) {\n point = [xPx, yPx];\n } else {\n // Chart like bar may have there own marker positioning logic\n if (seriesModel.getMarkerPosition) {\n // Use the getMarkerPoisition\n point = seriesModel.getMarkerPosition(data.getValues(dims, idx));\n } else {\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n var pt = [x, y];\n coordSys.clampData && coordSys.clampData(pt, pt);\n point = coordSys.dataToPoint(pt, true);\n }\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n\n if (isInifinity(x)) {\n point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[dims[0] === 'x0' ? 0 : 1]);\n } else if (isInifinity(y)) {\n point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[dims[1] === 'y0' ? 0 : 1]);\n }\n } // Use x, y if has any\n\n\n if (!isNaN(xPx)) {\n point[0] = xPx;\n }\n\n if (!isNaN(yPx)) {\n point[1] = yPx;\n }\n }\n\n return point;\n}\n\nvar dimPermutations = [['x0', 'y0'], ['x1', 'y0'], ['x1', 'y1'], ['x0', 'y1']];\nMarkerView.extend({\n type: 'markArea',\n // updateLayout: function (markAreaModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var maModel = seriesModel.markAreaModel;\n // if (maModel) {\n // var areaData = maModel.getData();\n // areaData.each(function (idx) {\n // var points = zrUtil.map(dimPermutations, function (dim) {\n // return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api);\n // });\n // // Layout\n // areaData.setItemLayout(idx, points);\n // var el = areaData.getItemGraphicEl(idx);\n // el.setShape('points', points);\n // });\n // }\n // }, this);\n // },\n updateTransform: function (markAreaModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var maModel = seriesModel.markAreaModel;\n\n if (maModel) {\n var areaData = maModel.getData();\n areaData.each(function (idx) {\n var points = zrUtil.map(dimPermutations, function (dim) {\n return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api);\n }); // Layout\n\n areaData.setItemLayout(idx, points);\n var el = areaData.getItemGraphicEl(idx);\n el.setShape('points', points);\n });\n }\n }, this);\n },\n renderSeries: function (seriesModel, maModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var areaGroupMap = this.markerGroupMap;\n var polygonGroup = areaGroupMap.get(seriesId) || areaGroupMap.set(seriesId, {\n group: new graphic.Group()\n });\n this.group.add(polygonGroup.group);\n polygonGroup.__keep = true;\n var areaData = createList(coordSys, seriesModel, maModel); // Line data for tooltip and formatter\n\n maModel.setData(areaData); // Update visual and layout of line\n\n areaData.each(function (idx) {\n // Layout\n var points = zrUtil.map(dimPermutations, function (dim) {\n return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api);\n }); // If none of the area is inside coordSys, allClipped is set to be true\n // in layout so that label will not be displayed. See #12591\n\n var allClipped = true;\n zrUtil.each(dimPermutations, function (dim) {\n if (!allClipped) {\n return;\n }\n\n var xValue = areaData.get(dim[0], idx);\n var yValue = areaData.get(dim[1], idx); // If is infinity, the axis should be considered not clipped\n\n if ((isInifinity(xValue) || coordSys.getAxis('x').containData(xValue)) && (isInifinity(yValue) || coordSys.getAxis('y').containData(yValue))) {\n allClipped = false;\n }\n });\n areaData.setItemLayout(idx, {\n points: points,\n allClipped: allClipped\n }); // Visual\n\n areaData.setItemVisual(idx, {\n color: seriesData.getVisual('color')\n });\n });\n areaData.diff(polygonGroup.__data).add(function (idx) {\n var layout = areaData.getItemLayout(idx);\n\n if (!layout.allClipped) {\n var polygon = new graphic.Polygon({\n shape: {\n points: layout.points\n }\n });\n areaData.setItemGraphicEl(idx, polygon);\n polygonGroup.group.add(polygon);\n }\n }).update(function (newIdx, oldIdx) {\n var polygon = polygonGroup.__data.getItemGraphicEl(oldIdx);\n\n var layout = areaData.getItemLayout(newIdx);\n\n if (!layout.allClipped) {\n if (polygon) {\n graphic.updateProps(polygon, {\n shape: {\n points: layout.points\n }\n }, maModel, newIdx);\n } else {\n polygon = new graphic.Polygon({\n shape: {\n points: layout.points\n }\n });\n }\n\n areaData.setItemGraphicEl(newIdx, polygon);\n polygonGroup.group.add(polygon);\n } else if (polygon) {\n polygonGroup.group.remove(polygon);\n }\n }).remove(function (idx) {\n var polygon = polygonGroup.__data.getItemGraphicEl(idx);\n\n polygonGroup.group.remove(polygon);\n }).execute();\n areaData.eachItemGraphicEl(function (polygon, idx) {\n var itemModel = areaData.getItemModel(idx);\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var color = areaData.getItemVisual(idx, 'color');\n polygon.useStyle(zrUtil.defaults(itemModel.getModel('itemStyle').getItemStyle(), {\n fill: colorUtil.modifyAlpha(color, 0.4),\n stroke: color\n }));\n polygon.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n graphic.setLabelStyle(polygon.style, polygon.hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: maModel,\n labelDataIndex: idx,\n defaultText: areaData.getName(idx) || '',\n isRectText: true,\n autoColor: color\n });\n graphic.setHoverStyle(polygon, {});\n polygon.dataModel = maModel;\n });\n polygonGroup.__data = areaData;\n polygonGroup.group.silent = maModel.get('silent') || seriesModel.get('silent');\n }\n});\n/**\n * @inner\n * @param {module:echarts/coord/*} coordSys\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Model} mpModel\n */\n\nfunction createList(coordSys, seriesModel, maModel) {\n var coordDimsInfos;\n var areaData;\n var dims = ['x0', 'y0', 'x1', 'y1'];\n\n if (coordSys) {\n coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) {\n var data = seriesModel.getData();\n var info = data.getDimensionInfo(data.mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n return zrUtil.defaults({\n name: coordDim\n }, info);\n });\n areaData = new List(zrUtil.map(dims, function (dim, idx) {\n return {\n name: dim,\n type: coordDimsInfos[idx % 2].type\n };\n }), maModel);\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n areaData = new List(coordDimsInfos, maModel);\n }\n\n var optData = zrUtil.map(maModel.get('data'), zrUtil.curry(markAreaTransform, seriesModel, coordSys, maModel));\n\n if (coordSys) {\n optData = zrUtil.filter(optData, zrUtil.curry(markAreaFilter, coordSys));\n }\n\n var dimValueGetter = coordSys ? function (item, dimName, dataIndex, dimIndex) {\n return item.coord[Math.floor(dimIndex / 2)][dimIndex % 2];\n } : function (item) {\n return item.value;\n };\n areaData.initData(optData, null, dimValueGetter);\n areaData.hasItemOption = true;\n return areaData;\n}","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","/**\n * Copyright 2004-present Facebook. All Rights Reserved.\n *\n * @providesModule UserAgent_DEPRECATED\n */\n\n/**\n * Provides entirely client-side User Agent and OS detection. You should prefer\n * the non-deprecated UserAgent module when possible, which exposes our\n * authoritative server-side PHP-based detection to the client.\n *\n * Usage is straightforward:\n *\n * if (UserAgent_DEPRECATED.ie()) {\n * // IE\n * }\n *\n * You can also do version checks:\n *\n * if (UserAgent_DEPRECATED.ie() >= 7) {\n * // IE7 or better\n * }\n *\n * The browser functions will return NaN if the browser does not match, so\n * you can also do version compares the other way:\n *\n * if (UserAgent_DEPRECATED.ie() < 7) {\n * // IE6 or worse\n * }\n *\n * Note that the version is a float and may include a minor version number,\n * so you should always use range operators to perform comparisons, not\n * strict equality.\n *\n * **Note:** You should **strongly** prefer capability detection to browser\n * version detection where it's reasonable:\n *\n * http://www.quirksmode.org/js/support.html\n *\n * Further, we have a large number of mature wrapper functions and classes\n * which abstract away many browser irregularities. Check the documentation,\n * grep for things, or ask on javascript@lists.facebook.com before writing yet\n * another copy of \"event || window.event\".\n *\n */\n\nvar _populated = false;\n\n// Browsers\nvar _ie, _firefox, _opera, _webkit, _chrome;\n\n// Actual IE browser for compatibility mode\nvar _ie_real_version;\n\n// Platforms\nvar _osx, _windows, _linux, _android;\n\n// Architectures\nvar _win64;\n\n// Devices\nvar _iphone, _ipad, _native;\n\nvar _mobile;\n\nfunction _populate() {\n if (_populated) {\n return;\n }\n\n _populated = true;\n\n // To work around buggy JS libraries that can't handle multi-digit\n // version numbers, Opera 10's user agent string claims it's Opera\n // 9, then later includes a Version/X.Y field:\n //\n // Opera/9.80 (foo) Presto/2.2.15 Version/10.10\n var uas = navigator.userAgent;\n var agent = /(?:MSIE.(\\d+\\.\\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\\d+\\.\\d+))|(?:Opera(?:.+Version.|.)(\\d+\\.\\d+))|(?:AppleWebKit.(\\d+(?:\\.\\d+)?))|(?:Trident\\/\\d+\\.\\d+.*rv:(\\d+\\.\\d+))/.exec(uas);\n var os = /(Mac OS X)|(Windows)|(Linux)/.exec(uas);\n\n _iphone = /\\b(iPhone|iP[ao]d)/.exec(uas);\n _ipad = /\\b(iP[ao]d)/.exec(uas);\n _android = /Android/i.exec(uas);\n _native = /FBAN\\/\\w+;/i.exec(uas);\n _mobile = /Mobile/i.exec(uas);\n\n // Note that the IE team blog would have you believe you should be checking\n // for 'Win64; x64'. But MSDN then reveals that you can actually be coming\n // from either x64 or ia64; so ultimately, you should just check for Win64\n // as in indicator of whether you're in 64-bit IE. 32-bit IE on 64-bit\n // Windows will send 'WOW64' instead.\n _win64 = !!(/Win64/.exec(uas));\n\n if (agent) {\n _ie = agent[1] ? parseFloat(agent[1]) : (\n agent[5] ? parseFloat(agent[5]) : NaN);\n // IE compatibility mode\n if (_ie && document && document.documentMode) {\n _ie = document.documentMode;\n }\n // grab the \"true\" ie version from the trident token if available\n var trident = /(?:Trident\\/(\\d+.\\d+))/.exec(uas);\n _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie;\n\n _firefox = agent[2] ? parseFloat(agent[2]) : NaN;\n _opera = agent[3] ? parseFloat(agent[3]) : NaN;\n _webkit = agent[4] ? parseFloat(agent[4]) : NaN;\n if (_webkit) {\n // We do not add the regexp to the above test, because it will always\n // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in\n // the userAgent string.\n agent = /(?:Chrome\\/(\\d+\\.\\d+))/.exec(uas);\n _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN;\n } else {\n _chrome = NaN;\n }\n } else {\n _ie = _firefox = _opera = _chrome = _webkit = NaN;\n }\n\n if (os) {\n if (os[1]) {\n // Detect OS X version. If no version number matches, set _osx to true.\n // Version examples: 10, 10_6_1, 10.7\n // Parses version number as a float, taking only first two sets of\n // digits. If only one set of digits is found, returns just the major\n // version number.\n var ver = /(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(uas);\n\n _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true;\n } else {\n _osx = false;\n }\n _windows = !!os[2];\n _linux = !!os[3];\n } else {\n _osx = _windows = _linux = false;\n }\n}\n\nvar UserAgent_DEPRECATED = {\n\n /**\n * Check if the UA is Internet Explorer.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n ie: function() {\n return _populate() || _ie;\n },\n\n /**\n * Check if we're in Internet Explorer compatibility mode.\n *\n * @return bool true if in compatibility mode, false if\n * not compatibility mode or not ie\n */\n ieCompatibilityMode: function() {\n return _populate() || (_ie_real_version > _ie);\n },\n\n\n /**\n * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we\n * only need this because Skype can't handle 64-bit IE yet. We need to remove\n * this when we don't need it -- tracked by #601957.\n */\n ie64: function() {\n return UserAgent_DEPRECATED.ie() && _win64;\n },\n\n /**\n * Check if the UA is Firefox.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n firefox: function() {\n return _populate() || _firefox;\n },\n\n\n /**\n * Check if the UA is Opera.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n opera: function() {\n return _populate() || _opera;\n },\n\n\n /**\n * Check if the UA is WebKit.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n webkit: function() {\n return _populate() || _webkit;\n },\n\n /**\n * For Push\n * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit\n */\n safari: function() {\n return UserAgent_DEPRECATED.webkit();\n },\n\n /**\n * Check if the UA is a Chrome browser.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n chrome : function() {\n return _populate() || _chrome;\n },\n\n\n /**\n * Check if the user is running Windows.\n *\n * @return bool `true' if the user's OS is Windows.\n */\n windows: function() {\n return _populate() || _windows;\n },\n\n\n /**\n * Check if the user is running Mac OS X.\n *\n * @return float|bool Returns a float if a version number is detected,\n * otherwise true/false.\n */\n osx: function() {\n return _populate() || _osx;\n },\n\n /**\n * Check if the user is running Linux.\n *\n * @return bool `true' if the user's OS is some flavor of Linux.\n */\n linux: function() {\n return _populate() || _linux;\n },\n\n /**\n * Check if the user is running on an iPhone or iPod platform.\n *\n * @return bool `true' if the user is running some flavor of the\n * iPhone OS.\n */\n iphone: function() {\n return _populate() || _iphone;\n },\n\n mobile: function() {\n return _populate() || (_iphone || _ipad || _android || _mobile);\n },\n\n nativeApp: function() {\n // webviews inside of the native apps\n return _populate() || _native;\n },\n\n android: function() {\n return _populate() || _android;\n },\n\n ipad: function() {\n return _populate() || _ipad;\n }\n};\n\nmodule.exports = UserAgent_DEPRECATED;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar featureManager = require(\"./featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ToolboxModel = echarts.extendComponentModel({\n type: 'toolbox',\n layoutMode: {\n type: 'box',\n ignoreSize: true\n },\n optionUpdated: function () {\n ToolboxModel.superApply(this, 'optionUpdated', arguments);\n zrUtil.each(this.option.feature, function (featureOpt, featureName) {\n var Feature = featureManager.get(featureName);\n Feature && zrUtil.merge(featureOpt, Feature.defaultOption);\n });\n },\n defaultOption: {\n show: true,\n z: 6,\n zlevel: 0,\n orient: 'horizontal',\n left: 'right',\n top: 'top',\n // right\n // bottom\n backgroundColor: 'transparent',\n borderColor: '#ccc',\n borderRadius: 0,\n borderWidth: 0,\n padding: 5,\n itemSize: 15,\n itemGap: 8,\n showTitle: true,\n iconStyle: {\n borderColor: '#666',\n color: 'none'\n },\n emphasis: {\n iconStyle: {\n borderColor: '#3E98C5'\n }\n },\n // textStyle: {},\n // feature\n tooltip: {\n show: false\n }\n }\n});\nvar _default = ToolboxModel;\nmodule.exports = _default;","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./AxisModel\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid 是在有直角坐标系的时候必须要存在的\n// 所以这里也要被 Cartesian2D 依赖\nvar _default = ComponentModel.extend({\n type: 'grid',\n dependencies: ['xAxis', 'yAxis'],\n layoutMode: 'box',\n\n /**\n * @type {module:echarts/coord/cartesian/Grid}\n */\n coordinateSystem: null,\n defaultOption: {\n show: false,\n zlevel: 0,\n z: 0,\n left: '10%',\n top: 60,\n right: '10%',\n bottom: 60,\n // If grid size contain label\n containLabel: false,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 1,\n borderColor: '#ccc'\n }\n});\n\nmodule.exports = _default;","require(\"./graphic\");\n\nvar _zrender = require(\"../zrender\");\n\nvar registerPainter = _zrender.registerPainter;\n\nvar Painter = require(\"./Painter\");\n\nregisterPainter('svg', Painter);","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.transition = transition;\nexports.injectNewCurve = injectNewCurve;\nexports[\"default\"] = void 0;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _curves = _interopRequireDefault(require(\"./config/curves\"));\n\nvar defaultTransitionBC = 'linear';\n/**\r\n * @description Get the N-frame animation state by the start and end state\r\n * of the animation and the easing curve\r\n * @param {String|Array} tBC Easing curve name or data\r\n * @param {Number|Array|Object} startState Animation start state\r\n * @param {Number|Array|Object} endState Animation end state\r\n * @param {Number} frameNum Number of Animation frames\r\n * @param {Boolean} deep Whether to use recursive mode\r\n * @return {Array|Boolean} State of each frame of the animation (Invalid input will return false)\r\n */\n\nfunction transition(tBC) {\n var startState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var endState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var frameNum = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 30;\n var deep = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n if (!checkParams.apply(void 0, arguments)) return false;\n\n try {\n // Get the transition bezier curve\n var bezierCurve = getBezierCurve(tBC); // Get the progress of each frame state\n\n var frameStateProgress = getFrameStateProgress(bezierCurve, frameNum); // If the recursion mode is not enabled or the state type is Number, the shallow state calculation is performed directly.\n\n if (!deep || typeof endState === 'number') return getTransitionState(startState, endState, frameStateProgress);\n return recursionTransitionState(startState, endState, frameStateProgress);\n } catch (_unused) {\n console.warn('Transition parameter may be abnormal!');\n return [endState];\n }\n}\n/**\r\n * @description Check if the parameters are legal\r\n * @param {String} tBC Name of transition bezier curve\r\n * @param {Any} startState Transition start state\r\n * @param {Any} endState Transition end state\r\n * @param {Number} frameNum Number of transition frames\r\n * @return {Boolean} Is the parameter legal\r\n */\n\n\nfunction checkParams(tBC) {\n var startState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var endState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var frameNum = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 30;\n\n if (!tBC || startState === false || endState === false || !frameNum) {\n console.error('transition: Missing Parameters!');\n return false;\n }\n\n if ((0, _typeof2[\"default\"])(startState) !== (0, _typeof2[\"default\"])(endState)) {\n console.error('transition: Inconsistent Status Types!');\n return false;\n }\n\n var stateType = (0, _typeof2[\"default\"])(endState);\n\n if (stateType === 'string' || stateType === 'boolean' || !tBC.length) {\n console.error('transition: Unsupported Data Type of State!');\n return false;\n }\n\n if (!_curves[\"default\"].has(tBC) && !(tBC instanceof Array)) {\n console.warn('transition: Transition curve not found, default curve will be used!');\n }\n\n return true;\n}\n/**\r\n * @description Get the transition bezier curve\r\n * @param {String} tBC Name of transition bezier curve\r\n * @return {Array} Bezier curve data\r\n */\n\n\nfunction getBezierCurve(tBC) {\n var bezierCurve = '';\n\n if (_curves[\"default\"].has(tBC)) {\n bezierCurve = _curves[\"default\"].get(tBC);\n } else if (tBC instanceof Array) {\n bezierCurve = tBC;\n } else {\n bezierCurve = _curves[\"default\"].get(defaultTransitionBC);\n }\n\n return bezierCurve;\n}\n/**\r\n * @description Get the progress of each frame state\r\n * @param {Array} bezierCurve Transition bezier curve\r\n * @param {Number} frameNum Number of transition frames\r\n * @return {Array} Progress of each frame state\r\n */\n\n\nfunction getFrameStateProgress(bezierCurve, frameNum) {\n var tMinus = 1 / (frameNum - 1);\n var tState = new Array(frameNum).fill(0).map(function (t, i) {\n return i * tMinus;\n });\n var frameState = tState.map(function (t) {\n return getFrameStateFromT(bezierCurve, t);\n });\n return frameState;\n}\n/**\r\n * @description Get the progress of the corresponding frame according to t\r\n * @param {Array} bezierCurve Transition bezier curve\r\n * @param {Number} t Current frame t\r\n * @return {Number} Progress of current frame\r\n */\n\n\nfunction getFrameStateFromT(bezierCurve, t) {\n var tBezierCurvePoint = getBezierCurvePointFromT(bezierCurve, t);\n var bezierCurvePointT = getBezierCurvePointTFromReT(tBezierCurvePoint, t);\n return getBezierCurveTState(tBezierCurvePoint, bezierCurvePointT);\n}\n/**\r\n * @description Get the corresponding sub-curve according to t\r\n * @param {Array} bezierCurve Transition bezier curve\r\n * @param {Number} t Current frame t\r\n * @return {Array} Sub-curve of t\r\n */\n\n\nfunction getBezierCurvePointFromT(bezierCurve, t) {\n var lastIndex = bezierCurve.length - 1;\n var begin = '',\n end = '';\n bezierCurve.findIndex(function (item, i) {\n if (i === lastIndex) return;\n begin = item;\n end = bezierCurve[i + 1];\n var currentMainPointX = begin[0][0];\n var nextMainPointX = end[0][0];\n return t >= currentMainPointX && t < nextMainPointX;\n });\n var p0 = begin[0];\n var p1 = begin[2] || begin[0];\n var p2 = end[1] || end[0];\n var p3 = end[0];\n return [p0, p1, p2, p3];\n}\n/**\r\n * @description Get local t based on t and sub-curve\r\n * @param {Array} bezierCurve Sub-curve\r\n * @param {Number} t Current frame t\r\n * @return {Number} local t of sub-curve\r\n */\n\n\nfunction getBezierCurvePointTFromReT(bezierCurve, t) {\n var reBeginX = bezierCurve[0][0];\n var reEndX = bezierCurve[3][0];\n var xMinus = reEndX - reBeginX;\n var tMinus = t - reBeginX;\n return tMinus / xMinus;\n}\n/**\r\n * @description Get the curve progress of t\r\n * @param {Array} bezierCurve Sub-curve\r\n * @param {Number} t Current frame t\r\n * @return {Number} Progress of current frame\r\n */\n\n\nfunction getBezierCurveTState(_ref, t) {\n var _ref2 = (0, _slicedToArray2[\"default\"])(_ref, 4),\n _ref2$ = (0, _slicedToArray2[\"default\"])(_ref2[0], 2),\n p0 = _ref2$[1],\n _ref2$2 = (0, _slicedToArray2[\"default\"])(_ref2[1], 2),\n p1 = _ref2$2[1],\n _ref2$3 = (0, _slicedToArray2[\"default\"])(_ref2[2], 2),\n p2 = _ref2$3[1],\n _ref2$4 = (0, _slicedToArray2[\"default\"])(_ref2[3], 2),\n p3 = _ref2$4[1];\n\n var pow = Math.pow;\n var tMinus = 1 - t;\n var result1 = p0 * pow(tMinus, 3);\n var result2 = 3 * p1 * t * pow(tMinus, 2);\n var result3 = 3 * p2 * pow(t, 2) * tMinus;\n var result4 = p3 * pow(t, 3);\n return 1 - (result1 + result2 + result3 + result4);\n}\n/**\r\n * @description Get transition state according to frame progress\r\n * @param {Any} startState Transition start state\r\n * @param {Any} endState Transition end state\r\n * @param {Array} frameState Frame state progress\r\n * @return {Array} Transition frame state\r\n */\n\n\nfunction getTransitionState(begin, end, frameState) {\n var stateType = 'object';\n if (typeof begin === 'number') stateType = 'number';\n if (begin instanceof Array) stateType = 'array';\n if (stateType === 'number') return getNumberTransitionState(begin, end, frameState);\n if (stateType === 'array') return getArrayTransitionState(begin, end, frameState);\n if (stateType === 'object') return getObjectTransitionState(begin, end, frameState);\n return frameState.map(function (t) {\n return end;\n });\n}\n/**\r\n * @description Get the transition data of the number type\r\n * @param {Number} startState Transition start state\r\n * @param {Number} endState Transition end state\r\n * @param {Array} frameState Frame state progress\r\n * @return {Array} Transition frame state\r\n */\n\n\nfunction getNumberTransitionState(begin, end, frameState) {\n var minus = end - begin;\n return frameState.map(function (s) {\n return begin + minus * s;\n });\n}\n/**\r\n * @description Get the transition data of the array type\r\n * @param {Array} startState Transition start state\r\n * @param {Array} endState Transition end state\r\n * @param {Array} frameState Frame state progress\r\n * @return {Array} Transition frame state\r\n */\n\n\nfunction getArrayTransitionState(begin, end, frameState) {\n var minus = end.map(function (v, i) {\n if (typeof v !== 'number') return false;\n return v - begin[i];\n });\n return frameState.map(function (s) {\n return minus.map(function (v, i) {\n if (v === false) return end[i];\n return begin[i] + v * s;\n });\n });\n}\n/**\r\n * @description Get the transition data of the object type\r\n * @param {Object} startState Transition start state\r\n * @param {Object} endState Transition end state\r\n * @param {Array} frameState Frame state progress\r\n * @return {Array} Transition frame state\r\n */\n\n\nfunction getObjectTransitionState(begin, end, frameState) {\n var keys = Object.keys(end);\n var beginValue = keys.map(function (k) {\n return begin[k];\n });\n var endValue = keys.map(function (k) {\n return end[k];\n });\n var arrayState = getArrayTransitionState(beginValue, endValue, frameState);\n return arrayState.map(function (item) {\n var frameData = {};\n item.forEach(function (v, i) {\n return frameData[keys[i]] = v;\n });\n return frameData;\n });\n}\n/**\r\n * @description Get the transition state data by recursion\r\n * @param {Array|Object} startState Transition start state\r\n * @param {Array|Object} endState Transition end state\r\n * @param {Array} frameState Frame state progress\r\n * @return {Array} Transition frame state\r\n */\n\n\nfunction recursionTransitionState(begin, end, frameState) {\n var state = getTransitionState(begin, end, frameState);\n\n var _loop = function _loop(key) {\n var bTemp = begin[key];\n var eTemp = end[key];\n if ((0, _typeof2[\"default\"])(eTemp) !== 'object') return \"continue\";\n var data = recursionTransitionState(bTemp, eTemp, frameState);\n state.forEach(function (fs, i) {\n return fs[key] = data[i];\n });\n };\n\n for (var key in end) {\n var _ret = _loop(key);\n\n if (_ret === \"continue\") continue;\n }\n\n return state;\n}\n/**\r\n * @description Inject new curve into curves as config\r\n * @param {Any} key The key of curve\r\n * @param {Array} curve Bezier curve data\r\n * @return {Undefined} No return\r\n */\n\n\nfunction injectNewCurve(key, curve) {\n if (!key || !curve) {\n console.error('InjectNewCurve Missing Parameters!');\n return;\n }\n\n _curves[\"default\"].set(key, curve);\n}\n\nvar _default = transition;\nexports[\"default\"] = _default;","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (legendModels && legendModels.length) {\n ecModel.filterSeries(function (series) {\n // If in any legend component the status is not selected.\n // Because in legend series is assumed selected when it is not in the legend data.\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(series.name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n}\n\nmodule.exports = _default;","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar zrColor = require(\"zrender/lib/tool/color\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar isArray = zrUtil.isArray;\nvar ITEM_STYLE_NORMAL = 'itemStyle';\nvar _default = {\n seriesType: 'treemap',\n reset: function (seriesModel, ecModel, api, payload) {\n var tree = seriesModel.getData().tree;\n var root = tree.root;\n\n if (root.isRemoved()) {\n return;\n }\n\n travelTree(root, // Visual should calculate from tree root but not view root.\n {}, seriesModel.getViewRoot().getAncestors(), seriesModel);\n }\n};\n\nfunction travelTree(node, designatedVisual, viewRootAncestors, seriesModel) {\n var nodeModel = node.getModel();\n var nodeLayout = node.getLayout(); // Optimize\n\n if (!nodeLayout || nodeLayout.invisible || !nodeLayout.isInView) {\n return;\n }\n\n var nodeItemStyleModel = node.getModel(ITEM_STYLE_NORMAL);\n var visuals = buildVisuals(nodeItemStyleModel, designatedVisual, seriesModel); // calculate border color\n\n var borderColor = nodeItemStyleModel.get('borderColor');\n var borderColorSaturation = nodeItemStyleModel.get('borderColorSaturation');\n var thisNodeColor;\n\n if (borderColorSaturation != null) {\n // For performance, do not always execute 'calculateColor'.\n thisNodeColor = calculateColor(visuals, node);\n borderColor = calculateBorderColor(borderColorSaturation, thisNodeColor);\n }\n\n node.setVisual('borderColor', borderColor);\n var viewChildren = node.viewChildren;\n\n if (!viewChildren || !viewChildren.length) {\n thisNodeColor = calculateColor(visuals, node); // Apply visual to this node.\n\n node.setVisual('color', thisNodeColor);\n } else {\n var mapping = buildVisualMapping(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren); // Designate visual to children.\n\n zrUtil.each(viewChildren, function (child, index) {\n // If higher than viewRoot, only ancestors of viewRoot is needed to visit.\n if (child.depth >= viewRootAncestors.length || child === viewRootAncestors[child.depth]) {\n var childVisual = mapVisual(nodeModel, visuals, child, index, mapping, seriesModel);\n travelTree(child, childVisual, viewRootAncestors, seriesModel);\n }\n });\n }\n}\n\nfunction buildVisuals(nodeItemStyleModel, designatedVisual, seriesModel) {\n var visuals = zrUtil.extend({}, designatedVisual);\n var designatedVisualItemStyle = seriesModel.designatedVisualItemStyle;\n zrUtil.each(['color', 'colorAlpha', 'colorSaturation'], function (visualName) {\n // Priority: thisNode > thisLevel > parentNodeDesignated > seriesModel\n designatedVisualItemStyle[visualName] = designatedVisual[visualName];\n var val = nodeItemStyleModel.get(visualName);\n designatedVisualItemStyle[visualName] = null;\n val != null && (visuals[visualName] = val);\n });\n return visuals;\n}\n\nfunction calculateColor(visuals) {\n var color = getValueVisualDefine(visuals, 'color');\n\n if (color) {\n var colorAlpha = getValueVisualDefine(visuals, 'colorAlpha');\n var colorSaturation = getValueVisualDefine(visuals, 'colorSaturation');\n\n if (colorSaturation) {\n color = zrColor.modifyHSL(color, null, null, colorSaturation);\n }\n\n if (colorAlpha) {\n color = zrColor.modifyAlpha(color, colorAlpha);\n }\n\n return color;\n }\n}\n\nfunction calculateBorderColor(borderColorSaturation, thisNodeColor) {\n return thisNodeColor != null ? zrColor.modifyHSL(thisNodeColor, null, null, borderColorSaturation) : null;\n}\n\nfunction getValueVisualDefine(visuals, name) {\n var value = visuals[name];\n\n if (value != null && value !== 'none') {\n return value;\n }\n}\n\nfunction buildVisualMapping(node, nodeModel, nodeLayout, nodeItemStyleModel, visuals, viewChildren) {\n if (!viewChildren || !viewChildren.length) {\n return;\n }\n\n var rangeVisual = getRangeVisual(nodeModel, 'color') || visuals.color != null && visuals.color !== 'none' && (getRangeVisual(nodeModel, 'colorAlpha') || getRangeVisual(nodeModel, 'colorSaturation'));\n\n if (!rangeVisual) {\n return;\n }\n\n var visualMin = nodeModel.get('visualMin');\n var visualMax = nodeModel.get('visualMax');\n var dataExtent = nodeLayout.dataExtent.slice();\n visualMin != null && visualMin < dataExtent[0] && (dataExtent[0] = visualMin);\n visualMax != null && visualMax > dataExtent[1] && (dataExtent[1] = visualMax);\n var colorMappingBy = nodeModel.get('colorMappingBy');\n var opt = {\n type: rangeVisual.name,\n dataExtent: dataExtent,\n visual: rangeVisual.range\n };\n\n if (opt.type === 'color' && (colorMappingBy === 'index' || colorMappingBy === 'id')) {\n opt.mappingMethod = 'category';\n opt.loop = true; // categories is ordinal, so do not set opt.categories.\n } else {\n opt.mappingMethod = 'linear';\n }\n\n var mapping = new VisualMapping(opt);\n mapping.__drColorMappingBy = colorMappingBy;\n return mapping;\n} // Notice: If we dont have the attribute 'colorRange', but only use\n// attribute 'color' to represent both concepts of 'colorRange' and 'color',\n// (It means 'colorRange' when 'color' is Array, means 'color' when not array),\n// this problem will be encountered:\n// If a level-1 node dont have children, and its siblings has children,\n// and colorRange is set on level-1, then the node can not be colored.\n// So we separate 'colorRange' and 'color' to different attributes.\n\n\nfunction getRangeVisual(nodeModel, name) {\n // 'colorRange', 'colorARange', 'colorSRange'.\n // If not exsits on this node, fetch from levels and series.\n var range = nodeModel.get(name);\n return isArray(range) && range.length ? {\n name: name,\n range: range\n } : null;\n}\n\nfunction mapVisual(nodeModel, visuals, child, index, mapping, seriesModel) {\n var childVisuals = zrUtil.extend({}, visuals);\n\n if (mapping) {\n var mappingType = mapping.type;\n var colorMappingBy = mappingType === 'color' && mapping.__drColorMappingBy;\n var value = colorMappingBy === 'index' ? index : colorMappingBy === 'id' ? seriesModel.mapIdToIndex(child.getId()) : child.getValue(nodeModel.get('visualDimension'));\n childVisuals[mappingType] = mapping.mapValueToVisual(value);\n }\n\n return childVisuals;\n}\n\nmodule.exports = _default;","module.exports = require('./_hide');\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar indexOf = zrUtil.indexOf;\n\nfunction hasXOrY(item) {\n return !(isNaN(parseFloat(item.x)) && isNaN(parseFloat(item.y)));\n}\n\nfunction hasXAndY(item) {\n return !isNaN(parseFloat(item.x)) && !isNaN(parseFloat(item.y));\n} // Make it simple, do not visit all stacked value to count precision.\n// function getPrecision(data, valueAxisDim, dataIndex) {\n// var precision = -1;\n// var stackedDim = data.mapDimension(valueAxisDim);\n// do {\n// precision = Math.max(\n// numberUtil.getPrecision(data.get(stackedDim, dataIndex)),\n// precision\n// );\n// var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');\n// if (stackedOnSeries) {\n// var byValue = data.get(data.getCalculationInfo('stackedByDimension'), dataIndex);\n// data = stackedOnSeries.getData();\n// dataIndex = data.indexOf(data.getCalculationInfo('stackedByDimension'), byValue);\n// stackedDim = data.getCalculationInfo('stackedDimension');\n// }\n// else {\n// data = null;\n// }\n// } while (data);\n// return precision;\n// }\n\n\nfunction markerTypeCalculatorWithExtent(mlType, data, otherDataDim, targetDataDim, otherCoordIndex, targetCoordIndex) {\n var coordArr = [];\n var stacked = isDimensionStacked(data, targetDataDim\n /*, otherDataDim*/\n );\n var calcDataDim = stacked ? data.getCalculationInfo('stackResultDimension') : targetDataDim;\n var value = numCalculate(data, calcDataDim, mlType);\n var dataIndex = data.indicesOfNearest(calcDataDim, value)[0];\n coordArr[otherCoordIndex] = data.get(otherDataDim, dataIndex);\n coordArr[targetCoordIndex] = data.get(calcDataDim, dataIndex);\n var coordArrValue = data.get(targetDataDim, dataIndex); // Make it simple, do not visit all stacked value to count precision.\n\n var precision = numberUtil.getPrecision(data.get(targetDataDim, dataIndex));\n precision = Math.min(precision, 20);\n\n if (precision >= 0) {\n coordArr[targetCoordIndex] = +coordArr[targetCoordIndex].toFixed(precision);\n }\n\n return [coordArr, coordArrValue];\n}\n\nvar curry = zrUtil.curry; // TODO Specified percent\n\nvar markerTypeCalculator = {\n /**\n * @method\n * @param {module:echarts/data/List} data\n * @param {string} baseAxisDim\n * @param {string} valueAxisDim\n */\n min: curry(markerTypeCalculatorWithExtent, 'min'),\n\n /**\n * @method\n * @param {module:echarts/data/List} data\n * @param {string} baseAxisDim\n * @param {string} valueAxisDim\n */\n max: curry(markerTypeCalculatorWithExtent, 'max'),\n\n /**\n * @method\n * @param {module:echarts/data/List} data\n * @param {string} baseAxisDim\n * @param {string} valueAxisDim\n */\n average: curry(markerTypeCalculatorWithExtent, 'average')\n};\n/**\n * Transform markPoint data item to format used in List by do the following\n * 1. Calculate statistic like `max`, `min`, `average`\n * 2. Convert `item.xAxis`, `item.yAxis` to `item.coord` array\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/coord/*} [coordSys]\n * @param {Object} item\n * @return {Object}\n */\n\nfunction dataTransform(seriesModel, item) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem; // 1. If not specify the position with pixel directly\n // 2. If `coord` is not a data array. Which uses `xAxis`,\n // `yAxis` to specify the coord on each dimension\n // parseFloat first because item.x and item.y can be percent string like '20%'\n\n if (item && !hasXAndY(item) && !zrUtil.isArray(item.coord) && coordSys) {\n var dims = coordSys.dimensions;\n var axisInfo = getAxisInfo(item, data, coordSys, seriesModel); // Clone the option\n // Transform the properties xAxis, yAxis, radiusAxis, angleAxis, geoCoord to value\n\n item = zrUtil.clone(item);\n\n if (item.type && markerTypeCalculator[item.type] && axisInfo.baseAxis && axisInfo.valueAxis) {\n var otherCoordIndex = indexOf(dims, axisInfo.baseAxis.dim);\n var targetCoordIndex = indexOf(dims, axisInfo.valueAxis.dim);\n var coordInfo = markerTypeCalculator[item.type](data, axisInfo.baseDataDim, axisInfo.valueDataDim, otherCoordIndex, targetCoordIndex);\n item.coord = coordInfo[0]; // Force to use the value of calculated value.\n // let item use the value without stack.\n\n item.value = coordInfo[1];\n } else {\n // FIXME Only has one of xAxis and yAxis.\n var coord = [item.xAxis != null ? item.xAxis : item.radiusAxis, item.yAxis != null ? item.yAxis : item.angleAxis]; // Each coord support max, min, average\n\n for (var i = 0; i < 2; i++) {\n if (markerTypeCalculator[coord[i]]) {\n coord[i] = numCalculate(data, data.mapDimension(dims[i]), coord[i]);\n }\n }\n\n item.coord = coord;\n }\n }\n\n return item;\n}\n\nfunction getAxisInfo(item, data, coordSys, seriesModel) {\n var ret = {};\n\n if (item.valueIndex != null || item.valueDim != null) {\n ret.valueDataDim = item.valueIndex != null ? data.getDimension(item.valueIndex) : item.valueDim;\n ret.valueAxis = coordSys.getAxis(dataDimToCoordDim(seriesModel, ret.valueDataDim));\n ret.baseAxis = coordSys.getOtherAxis(ret.valueAxis);\n ret.baseDataDim = data.mapDimension(ret.baseAxis.dim);\n } else {\n ret.baseAxis = seriesModel.getBaseAxis();\n ret.valueAxis = coordSys.getOtherAxis(ret.baseAxis);\n ret.baseDataDim = data.mapDimension(ret.baseAxis.dim);\n ret.valueDataDim = data.mapDimension(ret.valueAxis.dim);\n }\n\n return ret;\n}\n\nfunction dataDimToCoordDim(seriesModel, dataDim) {\n var data = seriesModel.getData();\n var dimensions = data.dimensions;\n dataDim = data.getDimension(dataDim);\n\n for (var i = 0; i < dimensions.length; i++) {\n var dimItem = data.getDimensionInfo(dimensions[i]);\n\n if (dimItem.name === dataDim) {\n return dimItem.coordDim;\n }\n }\n}\n/**\n * Filter data which is out of coordinateSystem range\n * [dataFilter description]\n * @param {module:echarts/coord/*} [coordSys]\n * @param {Object} item\n * @return {boolean}\n */\n\n\nfunction dataFilter(coordSys, item) {\n // Alwalys return true if there is no coordSys\n return coordSys && coordSys.containData && item.coord && !hasXOrY(item) ? coordSys.containData(item.coord) : true;\n}\n\nfunction dimValueGetter(item, dimName, dataIndex, dimIndex) {\n // x, y, radius, angle\n if (dimIndex < 2) {\n return item.coord && item.coord[dimIndex];\n }\n\n return item.value;\n}\n\nfunction numCalculate(data, valueDataDim, type) {\n if (type === 'average') {\n var sum = 0;\n var count = 0;\n data.each(valueDataDim, function (val, idx) {\n if (!isNaN(val)) {\n sum += val;\n count++;\n }\n });\n return sum / count;\n } else if (type === 'median') {\n return data.getMedian(valueDataDim);\n } else {\n // max & min\n return data.getDataExtent(valueDataDim, true)[type === 'max' ? 1 : 0];\n }\n}\n\nexports.dataTransform = dataTransform;\nexports.getAxisInfo = getAxisInfo;\nexports.dataFilter = dataFilter;\nexports.dimValueGetter = dimValueGetter;\nexports.numCalculate = numCalculate;","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction RadiusAxis(scale, radiusExtent) {\n Axis.call(this, 'radius', scale, radiusExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'category';\n}\n\nRadiusAxis.prototype = {\n constructor: RadiusAxis,\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.polar.pointToData(point, clamp)[this.dim === 'radius' ? 0 : 1];\n },\n dataToRadius: Axis.prototype.dataToCoord,\n radiusToData: Axis.prototype.coordToData\n};\nzrUtil.inherits(RadiusAxis, Axis);\nvar _default = RadiusAxis;\nmodule.exports = _default;","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar Tree = require(\"../../data/Tree\");\n\nvar Model = require(\"../../model/Model\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\n\nvar _treeHelper = require(\"../helper/treeHelper\");\n\nvar wrapTreePathInfo = _treeHelper.wrapTreePathInfo;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.treemap',\n layoutMode: 'box',\n dependencies: ['grid', 'polar'],\n preventUsingHoverLayer: true,\n\n /**\n * @type {module:echarts/data/Tree~Node}\n */\n _viewRoot: null,\n defaultOption: {\n // Disable progressive rendering\n progressive: 0,\n // center: ['50%', '50%'], // not supported in ec3.\n // size: ['80%', '80%'], // deprecated, compatible with ec2.\n left: 'center',\n top: 'middle',\n right: null,\n bottom: null,\n width: '80%',\n height: '80%',\n sort: true,\n // Can be null or false or true\n // (order by desc default, asc not supported yet (strange effect))\n clipWindow: 'origin',\n // Size of clipped window when zooming. 'origin' or 'fullscreen'\n squareRatio: 0.5 * (1 + Math.sqrt(5)),\n // golden ratio\n leafDepth: null,\n // Nodes on depth from root are regarded as leaves.\n // Count from zero (zero represents only view root).\n drillDownIcon: '▶',\n // Use html character temporarily because it is complicated\n // to align specialized icon. ▷▶❒❐▼✚\n zoomToNodeRatio: 0.32 * 0.32,\n // Be effective when using zoomToNode. Specify the proportion of the\n // target node area in the view area.\n roam: true,\n // true, false, 'scale' or 'zoom', 'move'.\n nodeClick: 'zoomToNode',\n // Leaf node click behaviour: 'zoomToNode', 'link', false.\n // If leafDepth is set and clicking a node which has children but\n // be on left depth, the behaviour would be changing root. Otherwise\n // use behavious defined above.\n animation: true,\n animationDurationUpdate: 900,\n animationEasing: 'quinticInOut',\n breadcrumb: {\n show: true,\n height: 22,\n left: 'center',\n top: 'bottom',\n // right\n // bottom\n emptyItemWidth: 25,\n // Width of empty node.\n itemStyle: {\n color: 'rgba(0,0,0,0.7)',\n //'#5793f3',\n borderColor: 'rgba(255,255,255,0.7)',\n borderWidth: 1,\n shadowColor: 'rgba(150,150,150,1)',\n shadowBlur: 3,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n textStyle: {\n color: '#fff'\n }\n },\n emphasis: {\n textStyle: {}\n }\n },\n label: {\n show: true,\n // Do not use textDistance, for ellipsis rect just the same as treemap node rect.\n distance: 0,\n padding: 5,\n position: 'inside',\n // Can be [5, '5%'] or position stirng like 'insideTopLeft', ...\n // formatter: null,\n color: '#fff',\n ellipsis: true // align\n // verticalAlign\n\n },\n upperLabel: {\n // Label when node is parent.\n show: false,\n position: [0, '50%'],\n height: 20,\n // formatter: null,\n color: '#fff',\n ellipsis: true,\n // align: null,\n verticalAlign: 'middle'\n },\n itemStyle: {\n color: null,\n // Can be 'none' if not necessary.\n colorAlpha: null,\n // Can be 'none' if not necessary.\n colorSaturation: null,\n // Can be 'none' if not necessary.\n borderWidth: 0,\n gapWidth: 0,\n borderColor: '#fff',\n borderColorSaturation: null // If specified, borderColor will be ineffective, and the\n // border color is evaluated by color of current node and\n // borderColorSaturation.\n\n },\n emphasis: {\n upperLabel: {\n show: true,\n position: [0, '50%'],\n color: '#fff',\n ellipsis: true,\n verticalAlign: 'middle'\n }\n },\n visualDimension: 0,\n // Can be 0, 1, 2, 3.\n visualMin: null,\n visualMax: null,\n color: [],\n // + treemapSeries.color should not be modified. Please only modified\n // level[n].color (if necessary).\n // + Specify color list of each level. level[0].color would be global\n // color list if not specified. (see method `setDefault`).\n // + But set as a empty array to forbid fetch color from global palette\n // when using nodeModel.get('color'), otherwise nodes on deep level\n // will always has color palette set and are not able to inherit color\n // from parent node.\n // + TreemapSeries.color can not be set as 'none', otherwise effect\n // legend color fetching (see seriesColor.js).\n colorAlpha: null,\n // Array. Specify color alpha range of each level, like [0.2, 0.8]\n colorSaturation: null,\n // Array. Specify color saturation of each level, like [0.2, 0.5]\n colorMappingBy: 'index',\n // 'value' or 'index' or 'id'.\n visibleMin: 10,\n // If area less than this threshold (unit: pixel^2), node will not\n // be rendered. Only works when sort is 'asc' or 'desc'.\n childrenVisibleMin: null,\n // If area of a node less than this threshold (unit: pixel^2),\n // grandchildren will not show.\n // Why grandchildren? If not grandchildren but children,\n // some siblings show children and some not,\n // the appearance may be mess and not consistent,\n levels: [] // Each item: {\n // visibleMin, itemStyle, visualDimension, label\n // }\n // data: {\n // value: [],\n // children: [],\n // link: 'http://xxx.xxx.xxx',\n // target: 'blank' or 'self'\n // }\n\n },\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n // Create a virtual root.\n var root = {\n name: option.name,\n children: option.data\n };\n completeTreeValue(root);\n var levels = option.levels || []; // Used in \"visual priority\" in `treemapVisual.js`.\n // This way is a little tricky, must satisfy the precondition:\n // 1. There is no `treeNode.getModel('itemStyle.xxx')` used.\n // 2. The `Model.prototype.getModel()` will not use any clone-like way.\n\n var designatedVisualItemStyle = this.designatedVisualItemStyle = {};\n var designatedVisualModel = new Model({\n itemStyle: designatedVisualItemStyle\n }, this, ecModel);\n levels = option.levels = setDefault(levels, ecModel);\n var levelModels = zrUtil.map(levels || [], function (levelDefine) {\n return new Model(levelDefine, designatedVisualModel, ecModel);\n }, this); // Make sure always a new tree is created when setOption,\n // in TreemapView, we check whether oldTree === newTree\n // to choose mappings approach among old shapes and new shapes.\n\n var tree = Tree.createTree(root, this, beforeLink);\n\n function beforeLink(nodeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n var node = tree.getNodeByDataIndex(idx);\n var levelModel = levelModels[node.depth]; // If no levelModel, we also need `designatedVisualModel`.\n\n model.parentModel = levelModel || designatedVisualModel;\n return model;\n });\n }\n\n return tree.data;\n },\n optionUpdated: function () {\n this.resetViewRoot();\n },\n\n /**\n * @override\n * @param {number} dataIndex\n * @param {boolean} [mutipleSeries=false]\n */\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var value = this.getRawValue(dataIndex);\n var formattedValue = zrUtil.isArray(value) ? addCommas(value[0]) : addCommas(value);\n var name = data.getName(dataIndex);\n return encodeHTML(name + ': ' + formattedValue);\n },\n\n /**\n * Add tree path to tooltip param\n *\n * @override\n * @param {number} dataIndex\n * @return {Object}\n */\n getDataParams: function (dataIndex) {\n var params = SeriesModel.prototype.getDataParams.apply(this, arguments);\n var node = this.getData().tree.getNodeByDataIndex(dataIndex);\n params.treePathInfo = wrapTreePathInfo(node, this);\n return params;\n },\n\n /**\n * @public\n * @param {Object} layoutInfo {\n * x: containerGroup x\n * y: containerGroup y\n * width: containerGroup width\n * height: containerGroup height\n * }\n */\n setLayoutInfo: function (layoutInfo) {\n /**\n * @readOnly\n * @type {Object}\n */\n this.layoutInfo = this.layoutInfo || {};\n zrUtil.extend(this.layoutInfo, layoutInfo);\n },\n\n /**\n * @param {string} id\n * @return {number} index\n */\n mapIdToIndex: function (id) {\n // A feature is implemented:\n // index is monotone increasing with the sequence of\n // input id at the first time.\n // This feature can make sure that each data item and its\n // mapped color have the same index between data list and\n // color list at the beginning, which is useful for user\n // to adjust data-color mapping.\n\n /**\n * @private\n * @type {Object}\n */\n var idIndexMap = this._idIndexMap;\n\n if (!idIndexMap) {\n idIndexMap = this._idIndexMap = zrUtil.createHashMap();\n /**\n * @private\n * @type {number}\n */\n\n this._idIndexMapCount = 0;\n }\n\n var index = idIndexMap.get(id);\n\n if (index == null) {\n idIndexMap.set(id, index = this._idIndexMapCount++);\n }\n\n return index;\n },\n getViewRoot: function () {\n return this._viewRoot;\n },\n\n /**\n * @param {module:echarts/data/Tree~Node} [viewRoot]\n */\n resetViewRoot: function (viewRoot) {\n viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;\n var root = this.getRawData().tree.root;\n\n if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {\n this._viewRoot = root;\n }\n }\n});\n/**\n * @param {Object} dataNode\n */\n\n\nfunction completeTreeValue(dataNode) {\n // Postorder travel tree.\n // If value of none-leaf node is not set,\n // calculate it by suming up the value of all children.\n var sum = 0;\n zrUtil.each(dataNode.children, function (child) {\n completeTreeValue(child);\n var childValue = child.value;\n zrUtil.isArray(childValue) && (childValue = childValue[0]);\n sum += childValue;\n });\n var thisValue = dataNode.value;\n\n if (zrUtil.isArray(thisValue)) {\n thisValue = thisValue[0];\n }\n\n if (thisValue == null || isNaN(thisValue)) {\n thisValue = sum;\n } // Value should not less than 0.\n\n\n if (thisValue < 0) {\n thisValue = 0;\n }\n\n zrUtil.isArray(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;\n}\n/**\n * set default to level configuration\n */\n\n\nfunction setDefault(levels, ecModel) {\n var globalColorList = ecModel.get('color');\n\n if (!globalColorList) {\n return;\n }\n\n levels = levels || [];\n var hasColorDefine;\n zrUtil.each(levels, function (levelDefine) {\n var model = new Model(levelDefine);\n var modelColor = model.get('color');\n\n if (model.get('itemStyle.color') || modelColor && modelColor !== 'none') {\n hasColorDefine = true;\n }\n });\n\n if (!hasColorDefine) {\n var level0 = levels[0] || (levels[0] = {});\n level0.color = globalColorList.slice();\n }\n\n return levels;\n}\n\nmodule.exports = _default;","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ComponentView = require(\"../../view/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = ComponentView.extend({\n type: 'timeline'\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/calendar/Calendar\");\n\nrequire(\"../coord/calendar/CalendarModel\");\n\nrequire(\"./calendar/CalendarView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Avoid typo.\nvar SOURCE_FORMAT_ORIGINAL = 'original';\nvar SOURCE_FORMAT_ARRAY_ROWS = 'arrayRows';\nvar SOURCE_FORMAT_OBJECT_ROWS = 'objectRows';\nvar SOURCE_FORMAT_KEYED_COLUMNS = 'keyedColumns';\nvar SOURCE_FORMAT_UNKNOWN = 'unknown'; // ??? CHANGE A NAME\n\nvar SOURCE_FORMAT_TYPED_ARRAY = 'typedArray';\nvar SERIES_LAYOUT_BY_COLUMN = 'column';\nvar SERIES_LAYOUT_BY_ROW = 'row';\nexports.SOURCE_FORMAT_ORIGINAL = SOURCE_FORMAT_ORIGINAL;\nexports.SOURCE_FORMAT_ARRAY_ROWS = SOURCE_FORMAT_ARRAY_ROWS;\nexports.SOURCE_FORMAT_OBJECT_ROWS = SOURCE_FORMAT_OBJECT_ROWS;\nexports.SOURCE_FORMAT_KEYED_COLUMNS = SOURCE_FORMAT_KEYED_COLUMNS;\nexports.SOURCE_FORMAT_UNKNOWN = SOURCE_FORMAT_UNKNOWN;\nexports.SOURCE_FORMAT_TYPED_ARRAY = SOURCE_FORMAT_TYPED_ARRAY;\nexports.SERIES_LAYOUT_BY_COLUMN = SERIES_LAYOUT_BY_COLUMN;\nexports.SERIES_LAYOUT_BY_ROW = SERIES_LAYOUT_BY_ROW;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(option) {\n // Save geoCoord\n var mapSeries = [];\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'map') {\n mapSeries.push(seriesOpt);\n seriesOpt.map = seriesOpt.map || seriesOpt.mapType; // Put x, y, width, height, x2, y2 in the top level\n\n zrUtil.defaults(seriesOpt, seriesOpt.mapLocation);\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar numberUtil = require(\"../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * For testable.\n */\nvar roundNumber = numberUtil.round;\n/**\n * @param {Array.} extent Both extent[0] and extent[1] should be valid number.\n * Should be extent[0] < extent[1].\n * @param {number} splitNumber splitNumber should be >= 1.\n * @param {number} [minInterval]\n * @param {number} [maxInterval]\n * @return {Object} {interval, intervalPrecision, niceTickExtent}\n */\n\nfunction intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval) {\n var result = {};\n var span = extent[1] - extent[0];\n var interval = result.interval = numberUtil.nice(span / splitNumber, true);\n\n if (minInterval != null && interval < minInterval) {\n interval = result.interval = minInterval;\n }\n\n if (maxInterval != null && interval > maxInterval) {\n interval = result.interval = maxInterval;\n } // Tow more digital for tick.\n\n\n var precision = result.intervalPrecision = getIntervalPrecision(interval); // Niced extent inside original extent\n\n var niceTickExtent = result.niceTickExtent = [roundNumber(Math.ceil(extent[0] / interval) * interval, precision), roundNumber(Math.floor(extent[1] / interval) * interval, precision)];\n fixExtent(niceTickExtent, extent);\n return result;\n}\n/**\n * @param {number} interval\n * @return {number} interval precision\n */\n\n\nfunction getIntervalPrecision(interval) {\n // Tow more digital for tick.\n return numberUtil.getPrecisionSafe(interval) + 2;\n}\n\nfunction clamp(niceTickExtent, idx, extent) {\n niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent[1]), extent[0]);\n} // In some cases (e.g., splitNumber is 1), niceTickExtent may be out of extent.\n\n\nfunction fixExtent(niceTickExtent, extent) {\n !isFinite(niceTickExtent[0]) && (niceTickExtent[0] = extent[0]);\n !isFinite(niceTickExtent[1]) && (niceTickExtent[1] = extent[1]);\n clamp(niceTickExtent, 0, extent);\n clamp(niceTickExtent, 1, extent);\n\n if (niceTickExtent[0] > niceTickExtent[1]) {\n niceTickExtent[0] = niceTickExtent[1];\n }\n}\n\nexports.intervalScaleNiceTicks = intervalScaleNiceTicks;\nexports.getIntervalPrecision = getIntervalPrecision;\nexports.fixExtent = fixExtent;","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"ElBigdataTable\",[],e):\"object\"==typeof exports?exports.ElBigdataTable=e():t.ElBigdataTable=e()}(\"undefined\"!=typeof self?self:this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/dist/\",e(e.s=69)}([function(t,e){var n=t.exports={version:\"2.6.10\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){\"use strict\";(function(t,n){function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return!1===t}function s(t){return\"string\"==typeof t||\"number\"==typeof t||\"symbol\"==typeof t||\"boolean\"==typeof t}function l(t){return null!==t&&\"object\"==typeof t}function u(t){return\"[object Object]\"===Oo.call(t)}function c(t){return\"[object RegExp]\"===Oo.call(t)}function f(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return i(t)&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}function h(t){return null==t?\"\":Array.isArray(t)||u(t)&&t.toString===Oo?JSON.stringify(t,null,2):String(t)}function p(t){var e=parseFloat(t);return isNaN(e)?t:e}function v(t,e){for(var n=Object.create(null),r=t.split(\",\"),i=0;i-1)return t.splice(n,1)}}function g(t,e){return Eo.call(t,e)}function y(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function b(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function _(t,e){return t.bind(e)}function x(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function w(t,e){for(var n in e)t[n]=e[n];return t}function C(t){for(var e={},n=0;n-1)if(o&&!g(i,\"default\"))a=!1;else if(\"\"===a||a===No(t)){var l=it(String,i.type);(l<0||s0&&(a=xt(a,(e||\"\")+\"_\"+n),_t(a[0])&&_t(u)&&(c[l]=j(u.text+a[0].text),a.shift()),c.push.apply(c,a)):s(a)?_t(u)?c[l]=j(u.text+a):\"\"!==a&&c.push(j(a)):_t(a)&&_t(u)?c[l]=j(u.text+a.text):(o(t._isVList)&&i(a.tag)&&r(a.key)&&i(e)&&(a.key=\"__vlist\"+e+\"_\"+n+\"__\"),c.push(a)));return c}function wt(t){var e=t.$options.provide;e&&(t._provided=\"function\"==typeof e?e.call(t):e)}function Ct(t){var e=St(t.$options.inject,t);e&&(H(!1),Object.keys(e).forEach(function(n){D(t,n,e[n])}),H(!0))}function St(t,e){if(t){for(var n=Object.create(null),r=aa?Reflect.ownKeys(t):Object.keys(t),i=0;i0,o=t?!!t.$stable:!i,a=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(o&&n&&n!==So&&a===n.$key&&!i&&!n.$hasNormal)return n;r={};for(var s in t)t[s]&&\"$\"!==s[0]&&(r[s]=Et(e,s,t[s]))}else r={};for(var l in e)l in r||(r[l]=Tt(e,l));return t&&Object.isExtensible(t)&&(t._normalized=r),T(r,\"$stable\",o),T(r,\"$key\",a),T(r,\"$hasNormal\",i),r}function Et(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return t=t&&\"object\"==typeof t&&!Array.isArray(t)?[t]:bt(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function Tt(t,e){return function(){return t[e]}}function At(t,e){var n,r,o,a,s;if(Array.isArray(t)||\"string\"==typeof t)for(n=new Array(t.length),r=0,o=t.length;rza&&Pa[n].id>t.id;)n--;Pa.splice(n+1,0,t)}else Pa.push(t);Wa||(Wa=!0,ct(Se))}}function Te(t,e,n){Ja.get=function(){return this[e][n]},Ja.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Ja)}function Ae(t){t._watchers=[];var e=t.$options;e.props&&Le(t,e.props),e.methods&&Pe(t,e.methods),e.data?Me(t):R(t._data={},!0),e.computed&&je(t,e.computed),e.watch&&e.watch!==Qo&&Re(t,e.watch)}function Le(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||H(!1);for(var a in e)!function(o){i.push(o);var a=tt(o,e,n,t);D(r,o,a),o in t||Te(t,\"_props\",o)}(a);H(!0)}function Me(t){var e=t.$options.data;e=t._data=\"function\"==typeof e?Ne(e,t):e||{},u(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);i--;){var o=n[i];r&&g(r,o)||E(o)||Te(t,\"_data\",o)}R(e,!0)}function Ne(t,e){M();try{return t.call(e,e)}catch(t){return ot(t,e,\"data()\"),{}}finally{N()}}function je(t,e){var n=t._computedWatchers=Object.create(null),r=ia();for(var i in e){var o=e[i],a=\"function\"==typeof o?o:o.get;r||(n[i]=new Ka(t,a||S,S,Ya)),i in t||Fe(t,i,o)}}function Fe(t,e,n){var r=!ia();\"function\"==typeof n?(Ja.get=r?He(e):Ie(n),Ja.set=S):(Ja.get=n.get?r&&!1!==n.cache?He(e):Ie(n.get):S,Ja.set=n.set||S),Object.defineProperty(t,e,Ja)}function He(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),ua.target&&e.depend(),e.value}}function Ie(t){return function(){return t.call(this,this)}}function Pe(t,e){t.$options.props;for(var n in e)t[n]=\"function\"!=typeof e[n]?S:jo(e[n],t)}function Re(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i-1)return this;var n=x(arguments,1);return n.unshift(this),\"function\"==typeof t.install?t.install.apply(t,n):\"function\"==typeof t&&t.apply(null,n),e.push(t),this}}function Ue(t){t.mixin=function(t){return this.options=Z(this.options,t),this}}function qe(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Z(n.options,t),a.super=n,a.options.props&&Ke(a),a.options.computed&&Je(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Po.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=w({},a.options),i[r]=a,a}}function Ke(t){var e=t.options.props;for(var n in e)Te(t.prototype,\"_props\",n)}function Je(t){var e=t.options.computed;for(var n in e)Fe(t.prototype,n,e[n])}function Ye(t){Po.forEach(function(e){t[e]=function(t,n){return n?(\"component\"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),\"directive\"===e&&\"function\"==typeof n&&(n={bind:n,update:n}),this.options[e+\"s\"][t]=n,n):this.options[e+\"s\"][t]}})}function Xe(t){return t&&(t.Ctor.options.name||t.tag)}function Ze(t,e){return Array.isArray(t)?t.indexOf(e)>-1:\"string\"==typeof t?t.split(\",\").indexOf(e)>-1:!!c(t)&&t.test(e)}function Qe(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=Xe(a.componentOptions);s&&!e(s)&&tn(n,o,r,i)}}}function tn(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,m(n,e)}function en(t){for(var e=t.data,n=t,r=t;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=nn(r.data,e));for(;i(n=n.parent);)n&&n.data&&(e=nn(e,n.data));return rn(e.staticClass,e.class)}function nn(t,e){return{staticClass:on(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function rn(t,e){return i(t)||i(e)?on(t,an(e)):\"\"}function on(t,e){return t?e?t+\" \"+e:t:e||\"\"}function an(t){return Array.isArray(t)?sn(t):l(t)?ln(t):\"string\"==typeof t?t:\"\"}function sn(t){for(var e,n=\"\",r=0,o=t.length;r-1?$s[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:$s[t]=/HTMLUnknownElement/.test(e.toString())}function fn(t){if(\"string\"==typeof t){var e=document.querySelector(t);return e||document.createElement(\"div\")}return t}function dn(t,e){var n=document.createElement(t);return\"select\"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute(\"multiple\",\"multiple\"),n)}function hn(t,e){return document.createElementNS(ws[t],e)}function pn(t){return document.createTextNode(t)}function vn(t){return document.createComment(t)}function mn(t,e,n){t.insertBefore(e,n)}function gn(t,e){t.removeChild(e)}function yn(t,e){t.appendChild(e)}function bn(t){return t.parentNode}function _n(t){return t.nextSibling}function xn(t){return t.tagName}function wn(t,e){t.textContent=e}function Cn(t,e){t.setAttribute(e,\"\")}function Sn(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?m(a[n],o):a[n]===o&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}function On(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&kn(t,e)||o(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function kn(t,e){if(\"input\"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||Es(r)&&Es(o)}function $n(t,e,n){var r,o,a={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(a[o]=r);return a}function En(t,e){(t.data.directives||e.data.directives)&&Tn(t,e)}function Tn(t,e){var n,r,i,o=t===Ls,a=e===Ls,s=An(t.data.directives,t.context),l=An(e.data.directives,e.context),u=[],c=[];for(n in l)r=s[n],i=l[n],r?(i.oldValue=r.value,i.oldArg=r.arg,Mn(i,\"update\",e,t),i.def&&i.def.componentUpdated&&c.push(i)):(Mn(i,\"bind\",e,t),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n-1?Fn(t,e,n):gs(e)?xs(n)?t.removeAttribute(e):(n=\"allowfullscreen\"===e&&\"EMBED\"===t.tagName?\"true\":e,t.setAttribute(e,n)):ps(e)?t.setAttribute(e,ms(e,n)):bs(e)?xs(n)?t.removeAttributeNS(ys,_s(e)):t.setAttributeNS(ys,e,n):Fn(t,e,n)}function Fn(t,e,n){if(xs(n))t.removeAttribute(e);else{if(Ko&&!Jo&&\"TEXTAREA\"===t.tagName&&\"placeholder\"===e&&\"\"!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener(\"input\",r)};t.addEventListener(\"input\",r),t.__ieph=!0}t.setAttribute(e,n)}}function Hn(t,e){var n=e.elm,o=e.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=en(e),l=n._transitionClasses;i(l)&&(s=on(s,an(l))),s!==n._prevClass&&(n.setAttribute(\"class\",s),n._prevClass=s)}}function In(t){function e(){(a||(a=[])).push(t.slice(p,i).trim()),p=i+1}var n,r,i,o,a,s=!1,l=!1,u=!1,c=!1,f=0,d=0,h=0,p=0;for(i=0;i=0&&\" \"===(m=t.charAt(v));v--);m&&Ps.test(m)||(c=!0)}}else void 0===o?(p=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==p&&e(),a)for(i=0;i-1?{exp:t.slice(0,is),key:'\"'+t.slice(is+1)+'\"'}:{exp:t,key:null};for(ns=t,is=os=as=0;!nr();)rs=er(),rr(rs)?or(rs):91===rs&&ir(rs);return{exp:t.slice(0,os),key:t.slice(os+1,as)}}function er(){return ns.charCodeAt(++is)}function nr(){return is>=es}function rr(t){return 34===t||39===t}function ir(t){var e=1;for(os=is;!nr();)if(t=er(),rr(t))or(t);else if(91===t&&e++,93===t&&e--,0===e){as=is;break}}function or(t){for(var e=t;!nr()&&(t=er())!==e;);}function ar(t,e,n){ss=n;var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if(t.component)return Zn(t,r,i),!1;if(\"select\"===o)ur(t,r,i);else if(\"input\"===o&&\"checkbox\"===a)sr(t,r,i);else if(\"input\"===o&&\"radio\"===a)lr(t,r,i);else if(\"input\"===o||\"textarea\"===o)cr(t,r,i);else if(!Do.isReservedTag(o))return Zn(t,r,i),!1;return!0}function sr(t,e,n){var r=n&&n.number,i=Kn(t,\"value\")||\"null\",o=Kn(t,\"true-value\")||\"true\",a=Kn(t,\"false-value\")||\"false\";Wn(t,\"checked\",\"Array.isArray(\"+e+\")?_i(\"+e+\",\"+i+\")>-1\"+(\"true\"===o?\":(\"+e+\")\":\":_q(\"+e+\",\"+o+\")\")),Un(t,\"change\",\"var $$a=\"+e+\",$$el=$event.target,$$c=$$el.checked?(\"+o+\"):(\"+a+\");if(Array.isArray($$a)){var $$v=\"+(r?\"_n(\"+i+\")\":i)+\",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(\"+Qn(e,\"$$a.concat([$$v])\")+\")}else{$$i>-1&&(\"+Qn(e,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Qn(e,\"$$c\")+\"}\",null,!0)}function lr(t,e,n){var r=n&&n.number,i=Kn(t,\"value\")||\"null\";i=r?\"_n(\"+i+\")\":i,Wn(t,\"checked\",\"_q(\"+e+\",\"+i+\")\"),Un(t,\"change\",Qn(e,i),null,!0)}function ur(t,e,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return '+(r?\"_n(val)\":\"val\")+\"})\",o=\"var $$selectedVal = \"+i+\";\";o=o+\" \"+Qn(e,\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\"),Un(t,\"change\",o,null,!0)}function cr(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,l=!o&&\"range\"!==r,u=o?\"change\":\"range\"===r?Rs:\"input\",c=\"$event.target.value\";s&&(c=\"$event.target.value.trim()\"),a&&(c=\"_n(\"+c+\")\");var f=Qn(e,c);l&&(f=\"if($event.target.composing)return;\"+f),Wn(t,\"value\",\"(\"+e+\")\"),Un(t,u,f,null,!0),(s||a)&&Un(t,\"blur\",\"$forceUpdate()\")}function fr(t){if(i(t[Rs])){var e=Ko?\"change\":\"input\";t[e]=[].concat(t[Rs],t[e]||[]),delete t[Rs]}i(t[Ds])&&(t.change=[].concat(t[Ds],t.change||[]),delete t[Ds])}function dr(t,e,n){var r=ls;return function i(){null!==e.apply(null,arguments)&&pr(t,i,n,r)}}function hr(t,e,n,r){if(Ws){var i=Va,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}ls.addEventListener(t,e,ta?{capture:n,passive:r}:n)}function pr(t,e,n,r){(r||ls).removeEventListener(t,e._wrapper||e,n)}function vr(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};ls=e.elm,fr(n),pt(n,i,hr,pr,dr,e.context),ls=void 0}}function mr(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};i(l.__ob__)&&(l=e.data.domProps=w({},l));for(n in s)n in l||(a[n]=\"\");for(n in l){if(o=l[n],\"textContent\"===n||\"innerHTML\"===n){if(e.children&&(e.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if(\"value\"===n&&\"PROGRESS\"!==a.tagName){a._value=o;var u=r(o)?\"\":String(o);gr(a,u)&&(a.value=u)}else if(\"innerHTML\"===n&&Ss(a.tagName)&&r(a.innerHTML)){us=us||document.createElement(\"div\"),us.innerHTML=\"\"+o+\"\";for(var c=us.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;c.firstChild;)a.appendChild(c.firstChild)}else if(o!==s[n])try{a[n]=o}catch(t){}}}}function gr(t,e){return!t.composing&&(\"OPTION\"===t.tagName||yr(t,e)||br(t,e))}function yr(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}function br(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return p(n)!==p(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}function _r(t){var e=xr(t.style);return t.staticStyle?w(t.staticStyle,e):e}function xr(t){return Array.isArray(t)?C(t):\"string\"==typeof t?Vs(t):t}function wr(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=_r(i.data))&&w(r,n);(n=_r(t.data))&&w(r,n);for(var o=t;o=o.parent;)o.data&&(n=_r(o.data))&&w(r,n);return r}function Cr(t,e){var n=e.data,o=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(o.staticStyle)&&r(o.style))){var a,s,l=e.elm,u=o.staticStyle,c=o.normalizedStyle||o.style||{},f=u||c,d=xr(e.data.style)||{};e.data.normalizedStyle=i(d.__ob__)?w({},d):d;var h=wr(e,!0);for(s in f)r(h[s])&&qs(l,s,\"\");for(s in h)(a=h[s])!==f[s]&&qs(l,s,null==a?\"\":a)}}function Sr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(Xs).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+e+\" \")<0&&t.setAttribute(\"class\",(n+e).trim())}}function Or(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(Xs).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute(\"class\");else{for(var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \",r=\" \"+e+\" \";n.indexOf(r)>=0;)n=n.replace(r,\" \");n=n.trim(),n?t.setAttribute(\"class\",n):t.removeAttribute(\"class\")}}function kr(t){if(t){if(\"object\"==typeof t){var e={};return!1!==t.css&&w(e,Zs(t.name||\"v\")),w(e,t),e}return\"string\"==typeof t?Zs(t):void 0}}function $r(t){al(function(){al(t)})}function Er(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Sr(t,e))}function Tr(t,e){t._transitionClasses&&m(t._transitionClasses,e),Or(t,e)}function Ar(t,e,n){var r=Lr(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===tl?rl:ol,l=0,u=function(){t.removeEventListener(s,c),n()},c=function(e){e.target===t&&++l>=a&&u()};setTimeout(function(){l0&&(n=tl,c=a,f=o.length):e===el?u>0&&(n=el,c=u,f=l.length):(c=Math.max(a,u),n=c>0?a>u?tl:el:null,f=n?n===tl?o.length:l.length:0),{type:n,timeout:c,propCount:f,hasTransform:n===tl&&sl.test(r[nl+\"Property\"])}}function Mr(t,e){for(;t.length1}function Pr(t,e){!0!==e.data.show&&jr(e)}function Rr(t,e,n){Dr(t,e,n),(Ko||Yo)&&setTimeout(function(){Dr(t,e,n)},0)}function Dr(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,l=t.options.length;s-1,a.selected!==o&&(a.selected=o);else if(O(Br(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Wr(t,e){return e.every(function(e){return!O(e,t)})}function Br(t){return\"_value\"in t?t._value:t.value}function zr(t){t.target.composing=!0}function Vr(t){t.target.composing&&(t.target.composing=!1,Gr(t.target,\"input\"))}function Gr(t,e){var n=document.createEvent(\"HTMLEvents\");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Ur(t){return!t.componentInstance||t.data&&t.data.transition?t:Ur(t.componentInstance._vnode)}function qr(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?qr(ue(e.children)):t}function Kr(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Ao(o)]=i[o];return e}function Jr(t,e){if(/\\d-keep-alive$/.test(e.tag))return t(\"keep-alive\",{props:e.componentOptions.propsData})}function Yr(t){for(;t=t.parent;)if(t.data.transition)return!0}function Xr(t,e){return e.key===t.key&&e.tag===t.tag}function Zr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Qr(t){t.data.newPos=t.elm.getBoundingClientRect()}function ti(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform=\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration=\"0s\"}}function ei(t,e){var n=e?Il(e):Fl;if(n.test(t)){for(var r,i,o,a=[],s=[],l=n.lastIndex=0;r=n.exec(t);){i=r.index,i>l&&(s.push(o=t.slice(l,i)),a.push(JSON.stringify(o)));var u=In(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),l=i+r[0].length}return l=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var l=a.length-1;l>=i;l--)e.end&&e.end(a[l].tag,n,r);a.length=i,o=i&&a[i-1].tag}else\"br\"===s?e.start&&e.start(t,[],!0,n,r):\"p\"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,l=e.isUnaryTag||Fo,u=e.canBeLeftOpenTag||Fo,c=0;t;){if(i=t,o&&tu(o)){var f=0,d=o.toLowerCase(),h=eu[d]||(eu[d]=new RegExp(\"([\\\\s\\\\S]*?)(]*>)\",\"i\")),p=t.replace(h,function(t,n,r){return f=r.length,tu(d)||\"noscript\"===d||(n=n.replace(//g,\"$1\").replace(//g,\"$1\")),au(d,n)&&(n=n.slice(1)),e.chars&&e.chars(n),\"\"});c+=t.length-p.length,t=p,r(d,c-f,c)}else{var v=t.indexOf(\"<\");if(0===v){if(Zl.test(t)){var m=t.indexOf(\"--\\x3e\");if(m>=0){e.shouldKeepComment&&e.comment(t.substring(4,m),c,c+m+3),n(m+3);continue}}if(Ql.test(t)){var g=t.indexOf(\"]>\");if(g>=0){n(g+2);continue}}var y=t.match(Xl);if(y){n(y[0].length);continue}var b=t.match(Yl);if(b){var _=c;n(b[0].length),r(b[1],_,c);continue}var x=function(){var e=t.match(Kl);if(e){var r={tagName:e[1],attrs:[],start:c};n(e[0].length);for(var i,o;!(i=t.match(Jl))&&(o=t.match(Gl)||t.match(Vl));)o.start=c,n(o[0].length),o.end=c,r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=c,r}}();if(x){!function(t){var n=t.tagName,i=t.unarySlash;s&&(\"p\"===o&&zl(n)&&r(o),u(n)&&o===n&&r(n));for(var c=l(n)||!!i,f=t.attrs.length,d=new Array(f),h=0;h=0){for(C=t.slice(v);!(Yl.test(C)||Kl.test(C)||Zl.test(C)||Ql.test(C)||(S=C.indexOf(\"<\",1))<0);)v+=S,C=t.slice(v);w=t.substring(0,v)}v<0&&(w=t),w&&n(w.length),e.chars&&w&&e.chars(w,c-w.length,c)}if(t===i){e.chars&&e.chars(t);break}}r()}function li(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:Ti(e),rawAttrsMap:{},parent:n,children:[]}}function ui(t,e){function n(t){if(r(t),c||t.processed||(t=di(t,e)),s.length||t===o||o.if&&(t.elseif||t.else)&&_i(o,{exp:t.elseif,block:t}),a&&!t.forbidden)if(t.elseif||t.else)yi(t,a);else{if(t.slotScope){var n=t.slotTarget||'\"default\"';(a.scopedSlots||(a.scopedSlots={}))[n]=t}a.children.push(t),t.parent=a}t.children=t.children.filter(function(t){return!t.slotScope}),r(t),t.pre&&(c=!1),El(t.tag)&&(f=!1);for(var i=0;i<$l.length;i++)$l[i](t,e)}function r(t){if(!f)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&\" \"===e.text;)t.children.pop()}Cl=e.warn||Rn,El=e.isPreTag||Fo,Tl=e.mustUseProp||Fo,Al=e.getTagNamespace||Fo;var i=e.isReservedTag||Fo;Ll=function(t){return!!t.component||!i(t.tag)},Ol=Dn(e.modules,\"transformNode\"),kl=Dn(e.modules,\"preTransformNode\"),$l=Dn(e.modules,\"postTransformNode\"),Sl=e.delimiters;var o,a,s=[],l=!1!==e.preserveWhitespace,u=e.whitespace,c=!1,f=!1;return si(t,{warn:Cl,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,r,i,l,u){var d=a&&a.ns||Al(t);Ko&&\"svg\"===d&&(r=Mi(r));var h=li(t,r,a);d&&(h.ns=d),Li(h)&&!ia()&&(h.forbidden=!0);for(var p=0;p>>0}function so(t){return 1===t.type&&(\"slot\"===t.tag||t.children.some(so))}function lo(t,e){var n=t.attrsMap[\"slot-scope\"];if(t.if&&!t.ifProcessed&&!n)return Qi(t,e,lo,\"null\");if(t.for&&!t.forProcessed)return eo(t,e,lo);var r=t.slotScope===_u?\"\":String(t.slotScope),i=\"function(\"+r+\"){return \"+(\"template\"===t.tag?t.if&&n?\"(\"+t.if+\")?\"+(uo(t,e)||\"undefined\")+\":undefined\":uo(t,e)||\"undefined\":Yi(t,e))+\"}\",o=r?\"\":\",proxy:true\";return\"{key:\"+(t.slotTarget||'\"default\"')+\",fn:\"+i+o+\"}\"}function uo(t,e,n,r,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&\"template\"!==a.tag&&\"slot\"!==a.tag){var s=n?e.maybeComponent(a)?\",1\":\",0\":\"\";return\"\"+(r||Yi)(a,e)+s}var l=n?co(o,e.maybeComponent):0,u=i||ho;return\"[\"+o.map(function(t){return u(t,e)}).join(\",\")+\"]\"+(l?\",\"+l:\"\")}}function co(t,e){for(var n=0,r=0;r':'
',jl.innerHTML.indexOf(\" \")>0}function Co(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement(\"div\");return e.appendChild(t.cloneNode(!0)),e.innerHTML}/*!\n * Vue.js v2.6.10\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\nvar So=Object.freeze({}),Oo=Object.prototype.toString,ko=v(\"slot,component\",!0),$o=v(\"key,ref,slot,slot-scope,is\"),Eo=Object.prototype.hasOwnProperty,To=/-(\\w)/g,Ao=y(function(t){return t.replace(To,function(t,e){return e?e.toUpperCase():\"\"})}),Lo=y(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Mo=/\\B([A-Z])/g,No=y(function(t){return t.replace(Mo,\"-$1\").toLowerCase()}),jo=Function.prototype.bind?_:b,Fo=function(t,e,n){return!1},Ho=function(t){return t},Io=\"data-server-rendered\",Po=[\"component\",\"directive\",\"filter\"],Ro=[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\"],Do={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Fo,isReservedAttr:Fo,isUnknownElement:Fo,getTagNamespace:S,parsePlatformTagName:Ho,mustUseProp:Fo,async:!0,_lifecycleHooks:Ro},Wo=/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/,Bo=new RegExp(\"[^\"+Wo.source+\".$_\\\\d]\"),zo=\"__proto__\"in{},Vo=\"undefined\"!=typeof window,Go=\"undefined\"!=typeof WXEnvironment&&!!WXEnvironment.platform,Uo=Go&&WXEnvironment.platform.toLowerCase(),qo=Vo&&window.navigator.userAgent.toLowerCase(),Ko=qo&&/msie|trident/.test(qo),Jo=qo&&qo.indexOf(\"msie 9.0\")>0,Yo=qo&&qo.indexOf(\"edge/\")>0,Xo=(qo&&qo.indexOf(\"android\"),qo&&/iphone|ipad|ipod|ios/.test(qo)||\"ios\"===Uo),Zo=(qo&&/chrome\\/\\d+/.test(qo),qo&&/phantomjs/.test(qo),qo&&qo.match(/firefox\\/(\\d+)/)),Qo={}.watch,ta=!1;if(Vo)try{var ea={};Object.defineProperty(ea,\"passive\",{get:function(){ta=!0}}),window.addEventListener(\"test-passive\",null,ea)}catch(t){}var na,ra,ia=function(){return void 0===na&&(na=!Vo&&!Go&&void 0!==t&&(t.process&&\"server\"===t.process.env.VUE_ENV)),na},oa=Vo&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,aa=\"undefined\"!=typeof Symbol&&L(Symbol)&&\"undefined\"!=typeof Reflect&&L(Reflect.ownKeys);ra=\"undefined\"!=typeof Set&&L(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var sa=S,la=0,ua=function(){this.id=la++,this.subs=[]};ua.prototype.addSub=function(t){this.subs.push(t)},ua.prototype.removeSub=function(t){m(this.subs,t)},ua.prototype.depend=function(){ua.target&&ua.target.addDep(this)},ua.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;edocument.createEvent(\"Event\").timeStamp&&(Ga=function(){return Ua.now()})}var qa=0,Ka=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++qa,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ra,this.newDepIds=new ra,this.expression=\"\",\"function\"==typeof e?this.getter=e:(this.getter=A(e),this.getter||(this.getter=S)),this.value=this.lazy?void 0:this.get()};Ka.prototype.get=function(){M(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;ot(t,e,'getter for watcher \"'+this.expression+'\"')}finally{this.deep&&ft(t),N(),this.cleanupDeps()}return t},Ka.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Ka.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},Ka.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Ee(this)},Ka.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||l(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){ot(t,this.vm,'callback for watcher \"'+this.expression+'\"')}else this.cb.call(this.vm,t,e)}}},Ka.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Ka.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Ka.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Ja={enumerable:!0,configurable:!0,get:S,set:S},Ya={lazy:!0},Xa=0;!function(t){t.prototype._init=function(t){var e=this;e._uid=Xa++,e._isVue=!0,t&&t._isComponent?We(e,t):e.$options=Z(Be(e.constructor),t||{},e),e._renderProxy=e,e._self=e,me(e),ce(e),ie(e),we(e,\"beforeCreate\"),Ct(e),Ae(e),wt(e),we(e,\"created\"),e.$options.el&&e.$mount(e.$options.el)}}(Ve),function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,\"$data\",e),Object.defineProperty(t.prototype,\"$props\",n),t.prototype.$set=W,t.prototype.$delete=B,t.prototype.$watch=function(t,e,n){var r=this;if(u(e))return De(r,t,e,n);n=n||{},n.user=!0;var i=new Ka(r,t,e,n);if(n.immediate)try{e.call(r,i.value)}catch(t){ot(t,r,'callback for immediate watcher \"'+i.expression+'\"')}return function(){i.teardown()}}}(Ve),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var i=0,o=t.length;i1?x(n):n;for(var r=x(arguments,1),i='event handler for \"'+t+'\"',o=0,a=n.length;oparseInt(this.max)&&tn(l,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},ts={KeepAlive:Qa};!function(t){var e={};e.get=function(){return Do},Object.defineProperty(t,\"config\",e),t.util={warn:sa,extend:w,mergeOptions:Z,defineReactive:D},t.set=W,t.delete=B,t.nextTick=ct,t.observable=function(t){return R(t),t},t.options=Object.create(null),Po.forEach(function(e){t.options[e+\"s\"]=Object.create(null)}),t.options._base=t,w(t.options.components,ts),Ge(t),Ue(t),qe(t),Ye(t)}(Ve),Object.defineProperty(Ve.prototype,\"$isServer\",{get:ia}),Object.defineProperty(Ve.prototype,\"$ssrContext\",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Ve,\"FunctionalRenderContext\",{value:Gt}),Ve.version=\"2.6.10\";var es,ns,rs,is,os,as,ss,ls,us,cs,fs=v(\"style,class\"),ds=v(\"input,textarea,option,select,progress\"),hs=function(t,e,n){return\"value\"===n&&ds(t)&&\"button\"!==e||\"selected\"===n&&\"option\"===t||\"checked\"===n&&\"input\"===t||\"muted\"===n&&\"video\"===t},ps=v(\"contenteditable,draggable,spellcheck\"),vs=v(\"events,caret,typing,plaintext-only\"),ms=function(t,e){return xs(e)||\"false\"===e?\"false\":\"contenteditable\"===t&&vs(e)?e:\"true\"},gs=v(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible\"),ys=\"http://www.w3.org/1999/xlink\",bs=function(t){return\":\"===t.charAt(5)&&\"xlink\"===t.slice(0,5)},_s=function(t){return bs(t)?t.slice(6,t.length):\"\"},xs=function(t){return null==t||!1===t},ws={svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},Cs=v(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),Ss=v(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),Os=function(t){return\"pre\"===t},ks=function(t){return Cs(t)||Ss(t)},$s=Object.create(null),Es=v(\"text,number,password,search,email,tel,url\"),Ts=Object.freeze({createElement:dn,createElementNS:hn,createTextNode:pn,createComment:vn,insertBefore:mn,removeChild:gn,appendChild:yn,parentNode:bn,nextSibling:_n,tagName:xn,setTextContent:wn,setStyleScope:Cn}),As={create:function(t,e){Sn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Sn(t,!0),Sn(e))},destroy:function(t){Sn(t,!0)}},Ls=new fa(\"\",{},[]),Ms=[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"],Ns={create:En,update:En,destroy:function(t){En(t,Ls)}},js=Object.create(null),Fs=[As,Ns],Hs={create:Nn,update:Nn},Is={create:Hn,update:Hn},Ps=/[\\w).+\\-_$\\]]/,Rs=\"__r\",Ds=\"__c\",Ws=wa&&!(Zo&&Number(Zo[1])<=53),Bs={create:vr,update:vr},zs={create:mr,update:mr},Vs=y(function(t){var e={},n=/;(?![^(]*\\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),Gs=/^--/,Us=/\\s*!important$/,qs=function(t,e,n){if(Gs.test(e))t.style.setProperty(e,n);else if(Us.test(n))t.style.setProperty(No(e),n.replace(Us,\"\"),\"important\");else{var r=Js(e);if(Array.isArray(n))for(var i=0,o=n.length;ip?(f=r(n[g+1])?null:n[g+1].elm,y(t,f,n,h,g,o)):h>g&&_(t,e,d,p)}function C(t,e,n,r){for(var o=n;o\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,Gl=/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,Ul=\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\"+Wo.source+\"]*\",ql=\"((?:\"+Ul+\"\\\\:)?\"+Ul+\")\",Kl=new RegExp(\"^<\"+ql),Jl=/^\\s*(\\/?)>/,Yl=new RegExp(\"^<\\\\/\"+ql+\"[^>]*>\"),Xl=/^]+>/i,Zl=/^\",\""\":'\"',\"&\":\"&\",\" \":\"\\n\",\" \":\"\\t\",\"'\":\"'\"},ru=/&(?:lt|gt|quot|amp|#39);/g,iu=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,ou=v(\"pre,textarea\",!0),au=function(t,e){return t&&ou(t)&&\"\\n\"===e[0]},su=/^@|^v-on:/,lu=/^v-|^@|^:/,uu=/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,cu=/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,fu=/^\\(|\\)$/g,du=/^\\[.*\\]$/,hu=/:(.*)$/,pu=/^:|^\\.|^v-bind:/,vu=/\\.[^.\\]]+(?=[^\\]]*$)/g,mu=/^v-slot(:|$)|^#/,gu=/[\\r\\n]/,yu=/\\s+/g,bu=y(Dl.decode),_u=\"_empty_\",xu=/^xmlns:NS\\d+/,wu=/^NS\\d+:/,Cu={preTransformNode:Ni},Su=[Pl,Rl,Cu],Ou={model:ar,text:Fi,html:Hi},ku={expectHTML:!0,modules:Su,directives:Ou,isPreTag:Os,isUnaryTag:Wl,mustUseProp:hs,canBeLeftOpenTag:Bl,isReservedTag:ks,getTagNamespace:un,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(\",\")}(Su)},$u=y(Pi),Eu=/^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*(?:[\\w$]+)?\\s*\\(/,Tu=/\\([^)]*?\\);*$/,Au=/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Lu={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Mu={esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},Nu=function(t){return\"if(\"+t+\")return null;\"},ju={stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:Nu(\"$event.target !== $event.currentTarget\"),ctrl:Nu(\"!$event.ctrlKey\"),shift:Nu(\"!$event.shiftKey\"),alt:Nu(\"!$event.altKey\"),meta:Nu(\"!$event.metaKey\"),left:Nu(\"'button' in $event && $event.button !== 0\"),middle:Nu(\"'button' in $event && $event.button !== 1\"),right:Nu(\"'button' in $event && $event.button !== 2\")},Fu={on:qi,bind:Ki,cloak:S},Hu=function(t){this.options=t,this.warn=t.warn||Rn,this.transforms=Dn(t.modules,\"transformCode\"),this.dataGenFns=Dn(t.modules,\"genData\"),this.directives=w(w({},Fu),t.directives);var e=t.isReservedTag||Fo;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1},Iu=(new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\"),new RegExp(\"\\\\b\"+\"delete,typeof,void\".split(\",\").join(\"\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b\")+\"\\\\s*\\\\([^\\\\)]*\\\\)\"),function(t){return function(e){function n(n,r){var i=Object.create(e),o=[],a=[],s=function(t,e,n){(n?a:o).push(t)};if(r){r.modules&&(i.modules=(e.modules||[]).concat(r.modules)),r.directives&&(i.directives=w(Object.create(e.directives||null),r.directives));for(var l in r)\"modules\"!==l&&\"directives\"!==l&&(i[l]=r[l])}i.warn=s;var u=t(n.trim(),i);return u.errors=o,u.tips=a,u}return{compile:n,compileToFunctions:xo(n)}}}(function(t,e){var n=ui(t.trim(),e);!1!==e.optimize&&Ii(n,e);var r=Ji(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}})),Pu=Iu(ku),Ru=(Pu.compile,Pu.compileToFunctions),Du=!!Vo&&wo(!1),Wu=!!Vo&&wo(!0),Bu=y(function(t){var e=fn(t);return e&&e.innerHTML}),zu=Ve.prototype.$mount;Ve.prototype.$mount=function(t,e){if((t=t&&fn(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(\"string\"==typeof r)\"#\"===r.charAt(0)&&(r=Bu(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=Co(t));if(r){var i=Ru(r,{outputSourceRange:!1,shouldDecodeNewlines:Du,shouldDecodeNewlinesForHref:Wu,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return zu.call(this,t,e)},Ve.compile=Ru,e.a=Ve}).call(e,n(24),n(109).setImmediate)},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(9)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(30)(\"wks\"),i=n(20),o=n(2).Symbol,a=\"function\"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)(\"Symbol.\"+t))}).store=r},function(t,e,n){var r=n(12),i=n(42),o=n(25),a=Object.defineProperty;e.f=n(3)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(45),i=n(27);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(5),i=n(18);t.exports=n(3)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var i=n(114),o=r(i),a=n(116),s=r(a),l=\"function\"==typeof s.default&&\"symbol\"==typeof o.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof s.default&&\"symbol\"===l(o.default)?function(t){return void 0===t?\"undefined\":l(t)}:function(t){return t&&\"function\"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?\"symbol\":void 0===t?\"undefined\":l(t)}},function(t,e,n){var r=n(2),i=n(0),o=n(72),a=n(8),s=n(6),l=function(t,e,n){var u,c,f,d=t&l.F,h=t&l.G,p=t&l.S,v=t&l.P,m=t&l.B,g=t&l.W,y=h?i:i[e]||(i[e]={}),b=y.prototype,_=h?r:p?r[e]:(r[e]||{}).prototype;h&&(n=e);for(u in n)(c=!d&&_&&void 0!==_[u])&&s(y,u)||(f=c?_[u]:n[u],y[u]=h&&\"function\"!=typeof _[u]?n[u]:m&&c?o(f,r):g&&_[u]==f?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(f):v&&\"function\"==typeof f?o(Function.call,f):f,v&&((y.virtual||(y.virtual={}))[u]=f,t&l.R&&b&&!b[u]&&a(b,u,f)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,t.exports=l},function(t,e,n){var r=n(13);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var r=n(44),i=n(31);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){var r=n(27);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t,e,n,r,i,o){var a,s=t=t||{},l=typeof t.default;\"object\"!==l&&\"function\"!==l||(a=t,s=t.default);var u=\"function\"==typeof s?s.options:s;e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0),n&&(u.functional=!0),i&&(u._scopeId=i);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=c):r&&(c=r),c){var f=u.functional,d=f?u.render:u.beforeCreate;f?(u._injectStyles=c,u.render=function(t,e){return c.call(e),d(t,e)}):u.beforeCreate=d?[].concat(d,c):[c]}return{esModule:a,exports:s,options:u}}},function(t,e,n){\"use strict\";function r(t,e){if(!t||!e)return!1;if(-1!==e.indexOf(\" \"))throw new Error(\"className should not contain space.\");return t.classList?t.classList.contains(e):(\" \"+t.className+\" \").indexOf(\" \"+e+\" \")>-1}function i(t,e){if(t){for(var n=t.className,i=(e||\"\").split(\" \"),o=0,a=i.length;o0?r:n)(t)}},function(t,e,n){var r=n(30)(\"keys\"),i=n(20);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(0),i=n(2),o=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:r.version,mode:n(19)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(84);t.exports=function(t,e,n){return void 0===n?r(t,e,!1):r(t,n,!1!==e)}},function(t,e,n){var r=n(5).f,i=n(6),o=n(4)(\"toStringTag\");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(11),i=n(0),o=n(9);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),\"Object\",a)}},function(t,e,n){e.f=n(4)},function(t,e,n){var r=n(2),i=n(0),o=n(19),a=n(36),s=n(5).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){\"use strict\";function r(t,e){return s.call(t,e)}e.b=r,n.d(e,\"a\",function(){return l}),n.d(e,\"c\",function(){return u});var i=n(39),o=(n.n(i),n(128)),a=(n.n(o),n(10)),s=(n.n(a),n(1),n(130),Object.prototype.hasOwnProperty),l=function(t,e){e=e||\"\";for(var n=e.split(\".\"),r=t,i=null,o=0,a=n.length;o col\");if(t.length){var e=this.tableLayout.getFlattenColumns(),n={};e.forEach(function(t){n[t.id]=t});for(var r=0,i=t.length;r col[name=gutter]\"),n=0,r=e.length;nl;)r(s,n=e[l++])&&(~o(u,n)||u.push(n));return u}},function(t,e,n){var r=n(26);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e){function n(t,e){var n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?\"@media \"+e[2]+\"{\"+r+\"}\":r}).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i0){var r=n.scrollTop;e.pixelY<0&&0!==r&&t.preventDefault(),e.pixelY>0&&n.scrollHeight-n.clientHeight>r&&t.preventDefault(),n.scrollTop+=Math.ceil(e.pixelY/5)}else n.scrollLeft+=Math.ceil(e.pixelX/5)},handleHeaderFooterMousewheel:function(t,e){var n=e.pixelX,r=e.pixelY;Math.abs(n)>=Math.abs(r)&&(t.preventDefault(),this.bodyWrapper.scrollLeft+=e.pixelX/5)},bindEvents:function(){var t=this.$refs,e=t.headerWrapper,n=t.footerWrapper,r=this.$refs,i=this;this.bodyWrapper.addEventListener(\"scroll\",function(){e&&(e.scrollLeft=this.scrollLeft),n&&(n.scrollLeft=this.scrollLeft),r.fixedBodyWrapper&&(r.fixedBodyWrapper.scrollTop=this.scrollTop),r.rightFixedBodyWrapper&&(r.rightFixedBodyWrapper.scrollTop=this.scrollTop);var t=this.scrollWidth-this.offsetWidth-1,o=this.scrollLeft;i.scrollPosition=o>=t?\"right\":0===o?\"left\":\"middle\"}),this.fit&&Object(a.a)(this.$el,this.resizeListener)},resizeListener:function(){if(this.$ready){var t=!1,e=this.$el,n=this.resizeState,r=n.width,i=n.height,o=e.offsetWidth;r!==o&&(t=!0);var a=e.offsetHeight;(this.height||this.shouldUpdateHeight)&&i!==a&&(t=!0),t&&(this.resizeState.width=o,this.resizeState.height=a,this.doLayout())}},doLayout:function(){this.shouldUpdateHeight&&this.layout.updateElsHeight(),this.layout.updateColumnsWidth()}},created:function(){var t=this;this.tableId=\"el-table_\"+g++,this.debouncedUpdateLayout=o()(50,function(){return t.doLayout()})},computed:{tableSize:function(){return this.size||(this.$ELEMENT||{}).size},bodyWrapper:function(){return this.$refs.bodyWrapper},shouldUpdateHeight:function(){return this.height||this.maxHeight||this.fixedColumns.length>0||this.rightFixedColumns.length>0},selection:function(){return this.store.states.selection},columns:function(){return this.store.states.columns},tableData:function(){return this.store.states.data},fixedColumns:function(){return this.store.states.fixedColumns},rightFixedColumns:function(){return this.store.states.rightFixedColumns},bodyWidth:function(){var t=this.layout,e=t.bodyWidth,n=t.scrollY,r=t.gutterWidth;return e?e-(n?r:0)+\"px\":\"\"},bodyHeight:function(){return this.height?{height:this.layout.bodyHeight?this.layout.bodyHeight+\"px\":\"\"}:this.maxHeight?{\"max-height\":(this.showHeader?this.maxHeight-this.layout.headerHeight-this.layout.footerHeight:this.maxHeight-this.layout.footerHeight)+\"px\"}:{}},fixedBodyHeight:function(){if(this.height)return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+\"px\":\"\"};if(this.maxHeight){var t=this.layout.scrollX?this.maxHeight-this.layout.gutterWidth:this.maxHeight;return this.showHeader&&(t-=this.layout.headerHeight),t-=this.layout.footerHeight,{\"max-height\":t+\"px\"}}return{}},fixedHeight:function(){return this.maxHeight?this.showSummary?{bottom:0}:{bottom:this.layout.scrollX&&this.data.length?this.layout.gutterWidth+\"px\":\"\"}:this.showSummary?{height:this.layout.tableHeight?this.layout.tableHeight+\"px\":\"\"}:{height:this.layout.viewportHeight?this.layout.viewportHeight+\"px\":\"\"}}},watch:{height:{immediate:!0,handler:function(t){this.layout.setHeight(t)}},maxHeight:{immediate:!0,handler:function(t){this.layout.setMaxHeight(t)}},currentRowKey:function(t){this.store.setCurrentRowKey(t)},data:{immediate:!0,handler:function(t){var e=this;this.store.commit(\"setData\",t),this.$ready&&this.$nextTick(function(){e.doLayout()})}},expandRowKeys:{immediate:!0,handler:function(t){t&&this.store.setExpandRowKeys(t)}}},destroyed:function(){this.resizeListener&&Object(a.b)(this.$el,this.resizeListener)},mounted:function(){var t=this;this.bindEvents(),this.store.updateColumns(),this.doLayout(),this.resizeState={width:this.$el.offsetWidth,height:this.$el.offsetHeight},this.store.states.columns.forEach(function(e){e.filteredValue&&e.filteredValue.length&&t.store.commit(\"filterChange\",{column:e,values:e.filteredValue,silent:!0})}),this.$ready=!0},data:function(){var t=new c.a(this,{rowKey:this.rowKey,defaultExpandAll:this.defaultExpandAll});return{layout:new f.a({store:t,table:this,fit:this.fit,showHeader:this.showHeader}),store:t,isHidden:!1,renderExpanded:null,resizeProxyVisible:!1,resizeState:{width:null,height:null},isGroup:!1,scrollPosition:\"left\"}}}},function(t,e,n){\"use strict\";var r=n(50);e.a={name:\"ElCheckbox\",mixins:[r.a],inject:{elForm:{default:\"\"},elFormItem:{default:\"\"}},componentName:\"ElCheckbox\",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(t){this.isGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&t.lengththis._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch(\"ElCheckboxGroup\",\"input\",[t])):(this.$emit(\"input\",t),this.selfModel=t)}},isChecked:function(){return\"[object Boolean]\"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},isGroup:function(){for(var t=this.$parent;t;){if(\"ElCheckboxGroup\"===t.$options.componentName)return this._checkboxGroup=t,!0;t=t.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var t=this._checkboxGroup,e=t.max,n=t.min;return!(!e&&!n)&&this.model.length>=e&&!this.isChecked||this.model.length<=n&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var t=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup?this._checkboxGroup.checkboxGroupSize||t:t}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(t){var e=this;if(!this.isLimitExceeded){var n=void 0;n=t.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit(\"change\",n,t),this.$nextTick(function(){e.isGroup&&e.dispatch(\"ElCheckboxGroup\",\"change\",[e._checkboxGroup.value])})}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute(\"aria-controls\",this.controls)},watch:{value:function(t){this.dispatch(\"ElFormItem\",\"el.form.change\",t)}}}},function(t,e,n){\"use strict\";function r(t,e,n){this.$children.forEach(function(i){i.$options.componentName===t?i.$emit.apply(i,[e].concat(n)):r.apply(i,[t,e].concat([n]))})}e.a={methods:{dispatch:function(t,e,n){for(var r=this.$parent||this.$root,i=r.$options.componentName;r&&(!i||i!==t);)(r=r.$parent)&&(i=r.$options.componentName);r&&r.$emit.apply(r,[e].concat(n))},broadcast:function(t,e,n){r.call(this,t,e,n)}}}},function(t,e,n){t.exports={default:n(86),__esModule:!0}},function(t,e,n){n(87);for(var r=n(2),i=n(8),o=n(23),a=n(4)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),l=0;ldocument.F=Object<\\/script>\"),t.close(),l=t.F;r--;)delete l.prototype[o[r]];return l()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=r(t),n=new s,s.prototype=null,n[a]=t):n=l(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(6),i=n(15),o=n(29)(\"IE_PROTO\"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){\"use strict\";var r=n(93)(!0);n(53)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){\"use strict\";var r=n(104);e.a={methods:{t:function(){for(var t=arguments.length,e=Array(t),n=0;ne.key[n])return 1}return 0};return t.map(function(t,e){return{value:t,index:e,key:a?a(t,e):null}}).sort(function(t,e){var r=s(t,e);return r||(r=t.index-e.index),r*n}).map(function(t){return t.value})},c=function(t,e){var n=null;return t.columns.forEach(function(t){t.id===e&&(n=t)}),n},f=function(t,e){var n=(e.className||\"\").match(/el-table_[^\\s]+/gm);return n?c(t,n[0]):null},d=function(t,e){if(!t)throw new Error(\"row is required when get row identity\");if(\"string\"==typeof e){if(e.indexOf(\".\")<0)return t[e];for(var n=e.split(\".\"),r=t,i=0;i0&&t.tableBodyHeight!==t.$refs.tableBody.offsetHeight){t.tableBodyHeight=t.$refs.tableBody.offsetHeight;var e=t.times0;switch(t.tableIndex){case 1:e=3*t.times0+t.tableIndex-1;break;case 2:e=3*t.times1+t.tableIndex-1;break;case 3:e=3*t.times2+t.tableIndex-1}t.$emit(\"changeHeight\",e,t.tableBodyHeight)}},80)})},destroyed:function(){this.intervalId&&clearInterval(this.intervalId)},methods:{getKeyOfRow:function(t,e){var n=this.table.rowKey;return n?Object(o.d)(t,n):e},isColumnHidden:function(t){return!0===this.fixed||\"left\"===this.fixed?t>=this.leftFixedLeafCount:\"right\"===this.fixed?t=this.columnsCount-this.rightFixedLeafCount},getSpan:function(t,e,n,r){var o=1,a=1,s=this.table.spanMethod;if(\"function\"==typeof s){var l=s({row:t,column:e,rowIndex:n,columnIndex:r});Array.isArray(l)?(o=l[0],a=l[1]):\"object\"===(void 0===l?\"undefined\":i()(l))&&(o=l.rowspan,a=l.colspan)}return{rowspan:o,colspan:a}},getRowStyle:function(t,e){var n=this.table.rowStyle;return\"function\"==typeof n?n.call(this,{row:t,rowIndex:e}):n},getRowClass:function(t,e){var n=[\"el-table__row\"];this.stripe&&e%2==1&&n.push(\"el-table__row--striped\");var r=this.table.rowClassName;return\"string\"==typeof r?n.push(r):\"function\"==typeof r&&n.push(r.call(this,{row:t,rowIndex:e})),this.store.states.expandRows.indexOf(t)>-1&&n.push(\"expanded\"),n.join(\" \")},getCellStyle:function(t,e,n,r){var i=this.table.cellStyle;return\"function\"==typeof i?i.call(this,{rowIndex:t,columnIndex:e,row:n,column:r}):i},getCellClass:function(t,e,n,r){var i=[r.id,r.align,r.className];this.isColumnHidden(e)&&i.push(\"is-hidden\");var o=this.table.cellClassName;return\"string\"==typeof o?i.push(o):\"function\"==typeof o&&i.push(o.call(this,{rowIndex:t,columnIndex:e,row:n,column:r})),i.join(\" \")},handleCellMouseEnter:function(t,e){var n=this.table,r=Object(o.a)(t);if(r){var i=Object(o.b)(n,r),s=n.hoverState={cell:r,column:i,row:e};n.$emit(\"cell-mouse-enter\",s.row,s.column,s.cell,t)}var l=t.target.querySelector(\".cell\");if(Object(a.c)(l,\"el-tooltip\")&&l.scrollWidth>l.offsetWidth&&this.$refs.tooltip){var u=this.$refs.tooltip;this.tooltipContent=r.textContent||r.innerText,u.referenceElm=r,u.$refs.popper&&(u.$refs.popper.style.display=\"none\"),u.doDestroy(),u.setExpectedState(!0),this.activateTooltip(u)}},handleCellMouseLeave:function(t){var e=this.$refs.tooltip;if(e&&(e.setExpectedState(!1),e.handleClosePopper()),Object(o.a)(t)){var n=this.table.hoverState||{};this.table.$emit(\"cell-mouse-leave\",n.row,n.column,n.cell,t)}},handleMouseEnter:function(t){this.store.commit(\"setHoverRow\",t)},handleMouseLeave:function(){this.store.commit(\"setHoverRow\",null)},handleContextMenu:function(t,e){this.handleEvent(t,e,\"contextmenu\")},handleDoubleClick:function(t,e){this.handleEvent(t,e,\"dblclick\")},handleClick:function(t,e){this.store.commit(\"setCurrentRow\",e),this.handleEvent(t,e,\"click\")},handleEvent:function(t,e,n){var r=this.table,i=Object(o.a)(t),a=void 0;i&&(a=Object(o.b)(r,i))&&r.$emit(\"cell-\"+n,e,a,i,t),r.$emit(\"row-\"+n,e,t,a)},handleExpandClick:function(t,e){e.stopPropagation(),this.store.toggleRowExpansion(t)},fvIndex:function(t,e){var n=t;return e&&\"initRowIndex\"in e&&(n=e.initRowIndex),n},dfCurrentRow:function(t){if(this.highlight){var e=this.$el;if(e){var n=this.timesTableData,r=e.querySelector(\"tbody\").children,i=[].filter.call(r,function(t){return Object(a.c)(t,\"el-table__row\")}),o=i[n.indexOf(t)],s=i[n.indexOf(t)];o?Object(a.e)(o,\"current-row\"):[].forEach.call(i,function(t){return Object(a.e)(t,\"current-row\")}),s&&Object(a.a)(s,\"current-row\")}}}}}},function(t,e,n){\"use strict\";e.a={name:\"ElTag\",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:\"light\",validator:function(t){return-1!==[\"dark\",\"light\",\"plain\"].indexOf(t)}}},methods:{handleClose:function(t){t.stopPropagation(),this.$emit(\"close\",t)},handleClick:function(t){this.$emit(\"click\",t)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(t){var e=this.type,n=this.tagSize,r=this.hit,i=this.effect,o=[\"el-tag\",e?\"el-tag--\"+e:\"\",n?\"el-tag--\"+n:\"\",i?\"el-tag--\"+i:\"\",r&&\"is-hit\"],a=t(\"span\",{class:o,style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&t(\"i\",{class:\"el-tag__close el-icon-close\",on:{click:this.handleClose}})]);return this.disableTransitions?a:t(\"transition\",{attrs:{name:\"el-zoom-in-center\"}},[a])}}},function(t,e,n){\"use strict\";var r=n(145),i=n(67),o=n(58),a=n(153),s=n(154),l=n(22),u=n(155);e.a={name:\"ElTableFilterPanel\",mixins:[r.a,o.a],directives:{Clickoutside:a.a},components:{ElCheckbox:l.a,ElCheckboxGroup:u.a},props:{placement:{type:String,default:\"bottom-end\"}},customRender:function(t){return t(\"div\",{class:\"el-table-filter\"},[t(\"div\",{class:\"el-table-filter__content\"}),t(\"div\",{class:\"el-table-filter__bottom\"},[t(\"button\",{on:{click:this.handleConfirm}},[this.t(\"el.table.confirmFilter\")]),t(\"button\",{on:{click:this.handleReset}},[this.t(\"el.table.resetFilter\")])])])},methods:{isActive:function(t){return t.value===this.filterValue},handleOutsideClick:function(){this.showPopper=!1},handleConfirm:function(){this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleReset:function(){this.filteredValue=[],this.confirmFilter(this.filteredValue),this.handleOutsideClick(),this.fiList=[]},handleSelect:function(t){this.filterValue=t,void 0!==t&&null!==t?this.confirmFilter(this.filteredValue):this.confirmFilter([]),this.handleOutsideClick()},confirmFilter:function(t){var e=this;this.table.store.commit(\"filterChange\",{column:this.column,values:t}),this.table.store.updateAllSelected(),this.table.scrollLeft=0,this.table.scrollTop=0,this.table.setComputedProps(),setTimeout(function(){e.table.updateScrollY()},100)},changeKeyWord:function(){var t=[],e=this.keyWord;this.filters.filter(function(n){n.value.toString().indexOf(e.toString())>-1&&t.push(n)}),this.fiList=t}},data:function(){return{table:null,cell:null,column:null,keyWord:\"\",fiList:[]}},computed:{filters:function(){return this.column&&this.column.filters},filterValue:{get:function(){return(this.column.filteredValue||[])[0]},set:function(t){this.filteredValue&&(void 0!==t&&null!==t?this.filteredValue.splice(0,1,t):this.filteredValue.splice(0,1))}},filteredValue:{get:function(){return this.column?this.column.filteredValue||[]:[]},set:function(t){this.column&&(this.column.filteredValue=t)}},multiple:function(){return!this.column||this.column.filterMultiple}},mounted:function(){var t=this;this.popperElm=this.$el,this.referenceElm=this.cell,this.table.bodyWrapper.addEventListener(\"scroll\",function(){t.updatePopper()}),this.$watch(\"showPopper\",function(e){t.column&&(t.column.filterOpened=e),e?s.a.open(t):s.a.close(t)})},watch:{showPopper:function(t){!0===t&&parseInt(this.popperJS._popper.style.zIndex,10)1&&void 0!==arguments[1]&&arguments[1];t.component(\"ElBigdataTable\",o.a)};\"undefined\"!=typeof window&&window.Vue&&a(window.Vue),e.default=i()(o.a,{install:a})},function(t,e,n){n(71),t.exports=n(0).Object.assign},function(t,e,n){var r=n(11);r(r.S+r.F,\"Object\",{assign:n(74)})},function(t,e,n){var r=n(73);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,n){\"use strict\";var r=n(3),i=n(14),o=n(32),a=n(21),s=n(15),l=n(45),u=Object.assign;t.exports=!u||n(9)(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=u({},t)[n]||Object.keys(u({},e)).join(\"\")!=r})?function(t,e){for(var n=s(t),u=arguments.length,c=1,f=o.f,d=a.f;u>c;)for(var h,p=l(arguments[c++]),v=f?i(p).concat(f(p)):i(p),m=v.length,g=0;m>g;)h=v[g++],r&&!d.call(p,h)||(n[h]=p[h]);return n}:u},function(t,e,n){var r=n(7),i=n(76),o=n(77);t.exports=function(t){return function(e,n,a){var s,l=r(e),u=i(l.length),c=o(a,u);if(t&&n!=n){for(;u>c;)if((s=l[c++])!=s)return!0}else for(;u>c;c++)if((t||c in l)&&l[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var r=n(28),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(28),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},function(t,e,n){\"use strict\";function r(t){n(79)}var i=n(48),o=n(163),a=n(16),s=r,l=a(i.a,o.a,!1,s,null,null);e.a=l.exports},function(t,e,n){var r=n(80);\"string\"==typeof r&&(r=[[t.i,r,\"\"]]),r.locals&&(t.exports=r.locals);n(47)(\"912efefa\",r,!0,{})},function(t,e,n){e=t.exports=n(46)(!1),e.push([t.i,\".vue-element-bigdata-table .vue-element-bigdata-table-div>table>tbody>tr>td{padding:0}\",\"\"])},function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i-1:t._q(t.model,t.trueLabel)},on:{change:[function(e){var n=t.model,r=e.target,i=r.checked?t.trueLabel:t.falseLabel;if(Array.isArray(n)){var o=t._i(n,null);r.checked?o<0&&(t.model=n.concat([null])):o>-1&&(t.model=n.slice(0,o).concat(n.slice(o+1)))}else t.model=i},t.handleChange],focus:function(e){t.focus=!0},blur:function(e){t.focus=!1}}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.model,expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{type:\"checkbox\",\"aria-hidden\":t.indeterminate?\"true\":\"false\",disabled:t.isDisabled,name:t.name},domProps:{value:t.label,checked:Array.isArray(t.model)?t._i(t.model,t.label)>-1:t.model},on:{change:[function(e){var n=t.model,r=e.target,i=!!r.checked;if(Array.isArray(n)){var o=t.label,a=t._i(n,o);r.checked?a<0&&(t.model=n.concat([o])):a>-1&&(t.model=n.slice(0,a).concat(n.slice(a+1)))}else t.model=i},t.handleChange],focus:function(e){t.focus=!0},blur:function(e){t.focus=!1}}})]),t._v(\" \"),t.$slots.default||t.label?n(\"span\",{staticClass:\"el-checkbox__label\"},[t._t(\"default\"),t._v(\" \"),t.$slots.default?t._e():[t._v(t._s(t.label))]],2):t._e()])},i=[],o={render:r,staticRenderFns:i};e.a=o},function(t,e){t.exports=function(t,e,n,r){function i(){function i(){a=Number(new Date),n.apply(l,c)}function s(){o=void 0}var l=this,u=Number(new Date)-a,c=arguments;r&&!o&&i(),o&&clearTimeout(o),void 0===r&&u>t?i():!0!==e&&(o=setTimeout(r?s:i,void 0===r?t-u:t))}var o,a=0;return\"boolean\"!=typeof e&&(r=n,n=e,e=void 0),i}},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return l}),n.d(e,\"b\",function(){return u});var r=n(51),i=n.n(r),o=n(97),a=\"undefined\"==typeof window,s=function(t){var e=!0,n=!1,r=void 0;try{for(var o,a=i()(t);!(e=(o=a.next()).done);e=!0){var s=o.value,l=s.target.__resizeListeners__||[];l.length&&l.forEach(function(t){t()})}}catch(t){n=!0,r=t}finally{try{!e&&a.return&&a.return()}finally{if(n)throw r}}},l=function(t,e){a||(t.__resizeListeners__||(t.__resizeListeners__=[],t.__ro__=new o.a(s),t.__ro__.observe(t)),t.__resizeListeners__.push(e))},u=function(t,e){t&&t.__resizeListeners__&&(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(e),1),t.__resizeListeners__.length||t.__ro__.disconnect())}},function(t,e,n){n(52),n(57),t.exports=n(94)},function(t,e,n){\"use strict\";var r=n(88),i=n(89),o=n(23),a=n(7);t.exports=n(53)(Array,\"Array\",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):\"keys\"==e?i(0,n):\"values\"==e?i(0,t[n]):i(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){\"use strict\";var r=n(55),i=n(18),o=n(34),a={};n(8)(a,n(4)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+\" Iterator\")}},function(t,e,n){var r=n(5),i=n(12),o=n(14);t.exports=n(3)?Object.defineProperties:function(t,e){i(t);for(var n,a=o(e),s=a.length,l=0;s>l;)r.f(t,n=a[l++],e[n]);return t}},function(t,e,n){var r=n(2).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(28),i=n(27);t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),l=r(n),u=s.length;return l<0||l>=u?t?\"\":void 0:(o=s.charCodeAt(l),o<55296||o>56319||l+1===u||(a=s.charCodeAt(l+1))<56320||a>57343?t?s.charAt(l):o:t?s.slice(l,l+2):a-56320+(o-55296<<10)+65536)}}},function(t,e,n){var r=n(12),i=n(95);t.exports=n(0).getIterator=function(t){var e=i(t);if(\"function\"!=typeof e)throw TypeError(t+\" is not iterable!\");return r(e.call(t))}},function(t,e,n){var r=n(96),i=n(4)(\"iterator\"),o=n(23);t.exports=n(0).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t[\"@@iterator\"]||o[r(t)]}},function(t,e,n){var r=n(26),i=n(4)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,s;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=a(e=Object(t),i))?n:o?r(e):\"Object\"==(s=r(e))&&\"function\"==typeof e.callee?\"Arguments\":s}},function(t,e,n){\"use strict\";(function(t){function n(t,e){function n(){o&&(o=!1,t()),a&&i()}function r(){v(n)}function i(){var t=Date.now();if(o){if(t-s0},t.prototype.connect_=function(){h&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),b?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){h&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?\"\":e;y.some(function(t){return!!~n.indexOf(t)})&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),x=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),E=\"undefined\"!=typeof WeakMap?new WeakMap:new d,T=function(){function t(e){if(!(this instanceof t))throw new TypeError(\"Cannot call a class as a function.\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var n=_.getInstance(),r=new $(e,n,this);E.set(this,r)}return t}();[\"observe\",\"unobserve\",\"disconnect\"].forEach(function(t){T.prototype[t]=function(){var e;return(e=E.get(this))[t].apply(e,arguments)}});var A=function(){return void 0!==p.ResizeObserver?p.ResizeObserver:T}();e.a=A}).call(e,n(24))},function(t,e,n){\"use strict\";var r=n(99),i=n.n(r),o=\"undefined\"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1,a=function(t,e){t&&t.addEventListener&&t.addEventListener(o?\"DOMMouseScroll\":\"mousewheel\",function(t){var n=i()(t);e&&e.apply(this,[t,n])})};e.a={bind:function(t,e){a(t,e.value)}}},function(t,e,n){t.exports=n(100)},function(t,e,n){\"use strict\";function r(t){var e=0,n=0,r=0,i=0;return\"detail\"in t&&(n=t.detail),\"wheelDelta\"in t&&(n=-t.wheelDelta/120),\"wheelDeltaY\"in t&&(n=-t.wheelDeltaY/120),\"wheelDeltaX\"in t&&(e=-t.wheelDeltaX/120),\"axis\"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=n,n=0),r=e*a,i=n*a,\"deltaY\"in t&&(i=t.deltaY),\"deltaX\"in t&&(r=t.deltaX),(r||i)&&t.deltaMode&&(1==t.deltaMode?(r*=s,i*=s):(r*=l,i*=l)),r&&!e&&(e=r<1?-1:1),i&&!n&&(n=i<1?-1:1),{spinX:e,spinY:n,pixelX:r,pixelY:i}}var i=n(101),o=n(102),a=10,s=40,l=800;r.getEventType=function(){return i.firefox()?\"DOMMouseScroll\":o(\"wheel\")?\"wheel\":\"mousewheel\"},t.exports=r},function(t,e){function n(){if(!y){y=!0;var t=navigator.userAgent,e=/(?:MSIE.(\\d+\\.\\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\\d+\\.\\d+))|(?:Opera(?:.+Version.|.)(\\d+\\.\\d+))|(?:AppleWebKit.(\\d+(?:\\.\\d+)?))|(?:Trident\\/\\d+\\.\\d+.*rv:(\\d+\\.\\d+))/.exec(t),n=/(Mac OS X)|(Windows)|(Linux)/.exec(t);if(p=/\\b(iPhone|iP[ao]d)/.exec(t),v=/\\b(iP[ao]d)/.exec(t),d=/Android/i.exec(t),m=/FBAN\\/\\w+;/i.exec(t),g=/Mobile/i.exec(t),h=!!/Win64/.exec(t),e){r=e[1]?parseFloat(e[1]):e[5]?parseFloat(e[5]):NaN,r&&document&&document.documentMode&&(r=document.documentMode);var b=/(?:Trident\\/(\\d+.\\d+))/.exec(t);l=b?parseFloat(b[1])+4:r,i=e[2]?parseFloat(e[2]):NaN,o=e[3]?parseFloat(e[3]):NaN,a=e[4]?parseFloat(e[4]):NaN,a?(e=/(?:Chrome\\/(\\d+\\.\\d+))/.exec(t),s=e&&e[1]?parseFloat(e[1]):NaN):s=NaN}else r=i=o=s=a=NaN;if(n){if(n[1]){var _=/(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(t);u=!_||parseFloat(_[1].replace(\"_\",\".\"))}else u=!1;c=!!n[2],f=!!n[3]}else u=c=f=!1}}var r,i,o,a,s,l,u,c,f,d,h,p,v,m,g,y=!1,b={ie:function(){return n()||r},ieCompatibilityMode:function(){return n()||l>r},ie64:function(){return b.ie()&&h},firefox:function(){return n()||i},opera:function(){return n()||o},webkit:function(){return n()||a},safari:function(){return b.webkit()},chrome:function(){return n()||s},windows:function(){return n()||c},osx:function(){return n()||u},linux:function(){return n()||f},iphone:function(){return n()||p},mobile:function(){return n()||p||v||d||g},nativeApp:function(){return n()||m},android:function(){return n()||d},ipad:function(){return n()||v}};t.exports=b},function(t,e,n){\"use strict\";/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction r(t,e){if(!o.canUseDOM||e&&!(\"addEventListener\"in document))return!1;var n=\"on\"+t,r=n in document;if(!r){var a=document.createElement(\"div\");a.setAttribute(n,\"return;\"),r=\"function\"==typeof a[n]}return!r&&i&&\"wheel\"===t&&(r=document.implementation.hasFeature(\"Events.wheel\",\"3.0\")),r}var i,o=n(103);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(\"\",\"\")),t.exports=r},function(t,e,n){\"use strict\";var r=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=i},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return p});var r=n(105),i=n.n(r),o=n(108),a=n(1),s=n(112),l=n.n(s),u=n(113),c=Object(u.a)(a.a),f=o.a,d=!1,h=function(){var t=i()(this||a.a).$t;if(\"function\"==typeof t&&a.a.locale)return d||(d=!0,a.a.locale(a.a.config.lang,l()(f,a.a.locale(a.a.config.lang)||{},{clone:!0}))),t.apply(this,arguments)},p=function(t,e){var n=h.apply(this,arguments);if(null!==n&&void 0!==n)return n;for(var r=t.split(\".\"),i=f,o=0,a=r.length;o=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(110),e.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(24))},function(t,e,n){(function(t,e){!function(t,n){\"use strict\";function r(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n1?e-1:0),r=1;ri;)J(t,n=r[i++],e[n]);return t},X=function(t,e){return void 0===e?S(t):Y(S(t),e)},Z=function(t){var e=P.call(this,t=w(t,!0));return!(this===B&&i(D,t)&&!i(W,t))&&(!(e||!i(this,t)||!i(D,t)||i(this,H)&&this[H][t])||e)},Q=function(t,e){if(t=x(t),e=w(e,!0),t!==B||!i(D,e)||i(W,e)){var n=A(t,e);return!n||!i(D,e)||i(t,H)&&t[H][e]||(n.enumerable=!0),n}},tt=function(t){for(var e,n=M(x(t)),r=[],o=0;n.length>o;)i(D,e=n[o++])||e==H||e==l||r.push(e);return r},et=function(t){for(var e,n=t===B,r=M(n?W:x(t)),o=[],a=0;r.length>a;)!i(D,e=r[a++])||n&&!i(B,e)||o.push(D[e]);return o};z||(N=function(){if(this instanceof N)throw TypeError(\"Symbol is not a constructor!\");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(W,n),i(this,H)&&i(this[H],t)&&(this[H][t]=!1),U(this,t,C(1,n))};return o&&G&&U(B,t,{configurable:!0,set:e}),q(t)},s(N.prototype,\"toString\",function(){return this._k}),k.f=Q,E.f=J,n(59).f=O.f=tt,n(21).f=Z,$.f=et,o&&!n(19)&&s(B,\"propertyIsEnumerable\",Z,!0),p.f=function(t){return q(h(t))}),a(a.G+a.W+a.F*!z,{Symbol:N});for(var nt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),rt=0;nt.length>rt;)h(nt[rt++]);for(var it=T(h.store),ot=0;it.length>ot;)v(it[ot++]);a(a.S+a.F*!z,\"Symbol\",{for:function(t){return i(R,t+=\"\")?R[t]:R[t]=N(t)},keyFor:function(t){if(!K(t))throw TypeError(t+\" is not a symbol!\");for(var e in R)if(R[e]===t)return e},useSetter:function(){G=!0},useSimple:function(){G=!1}}),a(a.S+a.F*!z,\"Object\",{create:X,defineProperty:J,defineProperties:Y,getOwnPropertyDescriptor:Q,getOwnPropertyNames:tt,getOwnPropertySymbols:et});var at=u(function(){$.f(1)});a(a.S+a.F*at,\"Object\",{getOwnPropertySymbols:function(t){return $.f(_(t))}}),j&&a(a.S+a.F*(!z||u(function(){var t=N();return\"[null]\"!=F([t])||\"{}\"!=F({a:t})||\"{}\"!=F(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(b(e)||void 0!==t)&&!K(t))return g(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!K(e))return e}),r[1]=e,F.apply(j,r)}}),N.prototype[I]||n(8)(N.prototype,I,N.prototype.valueOf),f(N,\"Symbol\"),f(Math,\"Math\",!0),f(r.JSON,\"JSON\",!0)},function(t,e,n){var r=n(20)(\"meta\"),i=n(13),o=n(6),a=n(5).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(9)(function(){return l(Object.preventExtensions({}))}),c=function(t){a(t,r,{value:{i:\"O\"+ ++s,w:{}}})},f=function(t,e){if(!i(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,r)){if(!l(t))return\"F\";if(!e)return\"E\";c(t)}return t[r].i},d=function(t,e){if(!o(t,r)){if(!l(t))return!0;if(!e)return!1;c(t)}return t[r].w},h=function(t){return u&&p.NEED&&l(t)&&!o(t,r)&&c(t),t},p=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:h}},function(t,e,n){var r=n(14),i=n(32),o=n(21);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var a,s=n(t),l=o.f,u=0;s.length>u;)l.call(t,a=s[u++])&&e.push(a);return e}},function(t,e,n){var r=n(26);t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},function(t,e,n){var r=n(7),i=n(59).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return i(t)}catch(t){return a.slice()}};t.exports.f=function(t){return a&&\"[object Window]\"==o.call(t)?s(t):i(r(t))}},function(t,e){},function(t,e,n){n(37)(\"asyncIterator\")},function(t,e,n){n(37)(\"observable\")},function(t,e,n){n(127),t.exports=n(0).Object.keys},function(t,e,n){var r=n(15),i=n(14);n(35)(\"keys\",function(){return function(t){return i(r(t))}})},function(t,e,n){t.exports={default:n(129),__esModule:!0}},function(t,e,n){var r=n(0),i=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return i.stringify.apply(i,arguments)}},function(t,e,n){\"use strict\";function r(t){return\"[object String]\"===Object.prototype.toString.call(t)}function i(t){return\"[object Object]\"===Object.prototype.toString.call(t)}e.b=r,e.a=i},function(t,e,n){\"use strict\";n(38);e.a={mounted:function(){return},methods:{getMigratingConfig:function(){return{props:{},events:{}}}}}},function(t,e,n){\"use strict\";var r=n(39),i=n.n(r),o=n(1),a=n(33),s=n.n(a),l=n(61),u=n(62),c=function(t,e){var n=e.sortingColumn;return n&&\"string\"!=typeof n.sortable?Object(u.e)(t,e.sortProp,e.sortOrder,n.sortMethod,n.sortBy):t},f=function(t,e){var n={};return(t||[]).forEach(function(t,r){n[Object(u.d)(t,e)]={row:t,index:r}}),n},d=function(t,e,n){var r=!1,i=t.selection,o=i.indexOf(e);return void 0===n?-1===o?(i.push(e),r=!0):(i.splice(o,1),r=!0):n&&-1===o?(i.push(e),r=!0):!n&&o>-1&&(i.splice(o,1),r=!0),r},h=function(t,e,n){var r=!1,i=t.expandRows;if(void 0!==n){var o=i.indexOf(e);n?-1===o&&(i.push(e),r=!0):-1!==o&&(i.splice(o,1),r=!0)}else{var a=i.indexOf(e);-1===a?(i.push(e),r=!0):(i.splice(a,1),r=!0)}return r},p=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)throw new Error(\"Table is required.\");this.table=t,this.states={rowKey:null,_columns:[],originColumns:[],columns:[],fixedColumns:[],rightFixedColumns:[],leafColumns:[],fixedLeafColumns:[],rightFixedLeafColumns:[],leafColumnsLength:0,fixedLeafColumnsLength:0,rightFixedLeafColumnsLength:0,isComplex:!1,filteredData:null,data:null,sortingColumn:null,sortProp:null,sortOrder:null,isAllSelected:!1,selection:[],reserveSelection:!1,selectable:null,currentRow:null,hoverRow:null,filters:{},expandRows:[],defaultExpandAll:!1};for(var n in e)e.hasOwnProperty(n)&&this.states.hasOwnProperty(n)&&(this.states[n]=e[n])};p.prototype.mutations={setData:function(t,e){var n=this,r=t._data!==e;if(t._data=e,i()(t.filters).forEach(function(r){var i=t.filters[r];if(i&&0!==i.length){var o=Object(u.c)(n.states,r);o&&o.filterMethod&&(e=e.filter(function(t){return i.some(function(e){return o.filterMethod.call(null,e,t,o)})}))}}),t.filteredData=e,t.data=c(e||[],t),this.updateCurrentRow(),t.reserveSelection){var a=t.rowKey;if(a){var s=t.selection,l=f(s,a);t.data.forEach(function(t){var e=Object(u.d)(t,a),n=l[e];n&&(s[n.index]=t)}),this.updateAllSelected()}}else r?this.clearSelection():this.cleanSelection(),this.updateAllSelected();t.defaultExpandAll&&(this.states.expandRows=(t.data||[]).slice(0)),o.a.nextTick(function(){return n.table.updateScrollY()})},changeSortCondition:function(t,e){var n=this;t.data=c(t.filteredData||t._data||[],t),e&&e.silent||this.table.$emit(\"sort-change\",{column:this.states.sortingColumn,prop:this.states.sortProp,order:this.states.sortOrder}),o.a.nextTick(function(){return n.table.updateScrollY()})},filterChange:function(t,e){var n=this,r=e.column,a=e.values,s=e.silent;a&&!Array.isArray(a)&&(a=[a]);var l=r.property,f={};l&&(t.filters[r.id]=a,f[r.columnKey||r.id]=a);var d=t._data;i()(t.filters).forEach(function(e){var r=t.filters[e];if(r&&0!==r.length){var i=Object(u.c)(n.states,e);i&&i.filterMethod&&(d=d.filter(function(t){return r.some(function(e){return i.filterMethod.call(null,e,t,i)})}))}}),t.filteredData=d,t.data=c(d,t),s||this.table.$emit(\"filter-change\",f),o.a.nextTick(function(){return n.table.updateScrollY()})},insertColumn:function(t,e,n,r){var i=t._columns;r&&((i=r.children)||(i=r.children=[])),void 0!==n?i.splice(n,0,e):i.push(e),\"selection\"===e.type&&(t.selectable=e.selectable,t.reserveSelection=e.reserveSelection),this.table.$ready&&(this.updateColumns(),this.scheduleLayout())},removeColumn:function(t,e,n){var r=t._columns;n&&((r=n.children)||(r=n.children=[])),r&&r.splice(r.indexOf(e),1),this.table.$ready&&(this.updateColumns(),this.scheduleLayout())},setHoverRow:function(t,e){t.hoverRow=e},setCurrentRow:function(t,e){var n=t.currentRow;t.currentRow=e,n!==e&&this.table.$emit(\"current-change\",e,n)},rowSelectedChanged:function(t,e){var n=d(t,e),r=t.selection;if(n){var i=this.table;i.$emit(\"selection-change\",r?r.slice():[]),i.$emit(\"select\",r,e)}this.updateAllSelected()},toggleAllSelection:s()(10,function(t){var e=t.data||[];if(0!==e.length){var n=!t.isAllSelected,r=this.states.selection,i=!1;e.forEach(function(e,r){t.selectable?t.selectable.call(null,e,r)&&d(t,e,n)&&(i=!0):d(t,e,n)&&(i=!0)});var o=this.table;i&&o.$emit(\"selection-change\",r?r.slice():[]),o.$emit(\"select-all\",r),t.isAllSelected=n}})};var v=function t(e){var n=[];return e.forEach(function(e){e.children?n.push.apply(n,t(e.children)):n.push(e)}),n};p.prototype.updateColumns=function(){var t=this.states,e=t._columns||[];t.fixedColumns=e.filter(function(t){return!0===t.fixed||\"left\"===t.fixed}),t.rightFixedColumns=e.filter(function(t){return\"right\"===t.fixed}),t.fixedColumns.length>0&&e[0]&&\"selection\"===e[0].type&&!e[0].fixed&&(e[0].fixed=!0,t.fixedColumns.unshift(e[0]));var n=e.filter(function(t){return!t.fixed});t.originColumns=[].concat(t.fixedColumns).concat(n).concat(t.rightFixedColumns);var r=v(n),i=v(t.fixedColumns),o=v(t.rightFixedColumns);t.leafColumnsLength=r.length,t.fixedLeafColumnsLength=i.length,t.rightFixedLeafColumnsLength=o.length,t.columns=[].concat(i).concat(r).concat(o),t.isComplex=t.fixedColumns.length>0||t.rightFixedColumns.length>0},p.prototype.isSelected=function(t){return(this.states.selection||[]).indexOf(t)>-1},p.prototype.clearSelection=function(){var t=this.states;t.isAllSelected=!1;var e=t.selection;t.selection.length&&(t.selection=[]),e.length>0&&this.table.$emit(\"selection-change\",t.selection?t.selection.slice():[])},p.prototype.setExpandRowKeys=function(t){var e=[],n=this.states.data,r=this.states.rowKey;if(!r)throw new Error(\"[Table] prop row-key should not be empty.\");var i=f(n,r);t.forEach(function(t){var n=i[t];n&&e.push(n.row)}),this.states.expandRows=e},p.prototype.toggleRowSelection=function(t,e){d(this.states,t,e)&&this.table.$emit(\"selection-change\",this.states.selection?this.states.selection.slice():[])},p.prototype.toggleRowExpansion=function(t,e){h(this.states,t,e)&&(this.table.$emit(\"expand-change\",t,this.states.expandRows),this.scheduleLayout())},p.prototype.isRowExpanded=function(t){var e=this.states,n=e.expandRows,r=void 0===n?[]:n,i=e.rowKey;if(i){return!!f(r,i)[Object(u.d)(t,i)]}return-1!==r.indexOf(t)},p.prototype.cleanSelection=function(){var t=this.states.selection||[],e=this.states.data,n=this.states.rowKey,r=void 0;if(n){r=[];var i=f(t,n),o=f(e,n);for(var a in i)i.hasOwnProperty(a)&&!o[a]&&r.push(i[a].row)}else r=t.filter(function(t){return-1===e.indexOf(t)});r.forEach(function(e){t.splice(t.indexOf(e),1)}),r.length&&this.table.$emit(\"selection-change\",t?t.slice():[])},p.prototype.clearFilter=function(){var t=this.states,e=this.table.$refs,n=e.tableHeader,r=e.fixedTableHeader,o=e.rightFixedTableHeader,a={};n&&(a=Object(l.a)(a,n.filterPanels)),r&&(a=Object(l.a)(a,r.filterPanels)),o&&(a=Object(l.a)(a,o.filterPanels));var s=i()(a);s.length&&(s.forEach(function(t){a[t].filteredValue=[]}),t.filters={},this.commit(\"filterChange\",{column:{},values:[],silent:!0}))},p.prototype.clearSort=function(){var t=this.states;t.sortingColumn&&(t.sortingColumn.order=null,t.sortProp=null,t.sortOrder=null,this.commit(\"changeSortCondition\",{silent:!0}))},p.prototype.updateAllSelected=function(){var t=this.states,e=t.selection,n=t.rowKey,r=t.selectable,i=t.data;if(!i||0===i.length)return void(t.isAllSelected=!1);var o=void 0;n&&(o=f(t.selection,n));for(var a=!0,s=0,l=0,c=i.length;l1?n-1:0),i=1;ithis.bodyHeight}}}},{key:\"setHeight\",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"height\";if(!l.a.prototype.$isServer){var r=this.table.$el;if(\"string\"==typeof t&&/^\\d+$/.test(t)&&(t=Number(t)),this.height=t,!r&&(t||0===t))return l.a.nextTick(function(){return e.setHeight(t,n)});\"number\"==typeof t?(r.style[n]=t+\"px\",this.updateElsHeight()):\"string\"==typeof t&&(r.style[n]=t,this.updateElsHeight())}}},{key:\"setMaxHeight\",value:function(t){return this.setHeight(t,\"max-height\")}},{key:\"updateElsHeight\",value:function(){var t=this;if(!this.table.$ready)return l.a.nextTick(function(){return t.updateElsHeight()});var e=this.table.$refs,n=e.headerWrapper,r=e.appendWrapper,i=e.footerWrapper;if(this.appendHeight=r?r.offsetHeight:0,!this.showHeader||n){var o=this.headerHeight=this.showHeader?n.offsetHeight:0;if(this.showHeader&&n.offsetWidth>0&&(this.table.columns||[]).length>0&&o<2)return l.a.nextTick(function(){return t.updateElsHeight()});var a=this.tableHeight=this.table.$el.clientHeight;if(null!==this.height&&(!isNaN(this.height)||\"string\"==typeof this.height)){var s=this.footerHeight=i?i.offsetHeight:0;this.bodyHeight=a-o-s+(i?1:0)}this.fixedBodyHeight=this.scrollX?this.bodyHeight-this.gutterWidth:this.bodyHeight;var u=!this.table.data||0===this.table.data.length;this.viewportHeight=this.scrollX?a-(u?0:this.gutterWidth):a,this.updateScrollY(),this.notifyObservers(\"scrollable\")}}},{key:\"getFlattenColumns\",value:function(){var t=[];return this.table.columns.forEach(function(e){e.isColumnGroup?t.push.apply(t,e.columns):t.push(e)}),t}},{key:\"updateColumnsWidth\",value:function(){var t=this.fit,e=this.table.$el.clientWidth,n=0,r=this.getFlattenColumns(),i=r.filter(function(t){return\"number\"!=typeof t.width});if(r.forEach(function(t){\"number\"==typeof t.width&&t.realWidth&&(t.realWidth=null)}),i.length>0&&t){r.forEach(function(t){n+=t.width||t.minWidth||80});var o=this.scrollY?this.gutterWidth:0;if(n<=e-o){this.scrollX=!1;var a=e-o-n;if(1===i.length)i[0].realWidth=(i[0].minWidth||80)+a;else{var s=i.reduce(function(t,e){return t+(e.minWidth||80)},0),l=a/s,u=0;i.forEach(function(t,e){if(0!==e){var n=Math.floor((t.minWidth||80)*l);u+=n,t.realWidth=(t.minWidth||80)+n}}),i[0].realWidth=(i[0].minWidth||80)+a-u}}else this.scrollX=!0,i.forEach(function(t){t.realWidth=t.minWidth});this.bodyWidth=Math.max(n,e-o)}else r.forEach(function(t){t.width||t.minWidth?t.realWidth=t.width||t.minWidth:t.realWidth=80,n+=t.realWidth}),this.scrollX=n>e,this.bodyWidth=n;var c=this.store.states.fixedColumns;if(c.length>0){var f=0;c.forEach(function(t){f+=t.realWidth||t.width}),this.fixedWidth=f}var d=this.store.states.rightFixedColumns;if(d.length>0){var h=0;d.forEach(function(t){h+=t.realWidth||t.width}),this.rightFixedWidth=h}this.notifyObservers(\"columns\")}},{key:\"addObserver\",value:function(t){this.observers.push(t)}},{key:\"removeObserver\",value:function(t){var e=this.observers.indexOf(t);-1!==e&&this.observers.splice(e,1)}},{key:\"notifyObservers\",value:function(t){var e=this;this.observers.forEach(function(n){switch(t){case\"columns\":n.onColumnsChange(e);break;case\"scrollable\":n.onScrollableChange(e);break;default:throw new Error(\"Table Layout don't have event \"+t+\".\")}})}}]),t}();e.a=u},function(t,e,n){\"use strict\";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}},function(t,e,n){\"use strict\";e.__esModule=!0;var r=n(136),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(){function t(t,e){for(var n=0;n1;return i&&(this.$parent.isGroup=!0),t(\"table\",{class:\"el-table__header\",attrs:{cellspacing:\"0\",cellpadding:\"0\",border:\"0\"}},[t(\"colgroup\",[this._l(this.columns,function(e){return t(\"col\",{attrs:{name:e.id}})}),this.hasGutter?t(\"col\",{attrs:{name:\"gutter\"}}):\"\"]),t(\"thead\",{class:[{\"is-group\":i,\"has-gutter\":this.hasGutter}]},[this._l(r,function(n,r){return t(\"tr\",{style:e.getHeaderRowStyle(r),class:e.getHeaderRowClass(r)},[e._l(n,function(i,o){return t(\"th\",{attrs:{colspan:i.colSpan,rowspan:i.rowSpan},on:{mousemove:function(t){return e.handleMouseMove(t,i)},mouseout:e.handleMouseOut,mousedown:function(t){return e.handleMouseDown(t,i)},click:function(t){return e.handleHeaderClick(t,i)},contextmenu:function(t){return e.handleHeaderContextMenu(t,i)}},style:e.getHeaderCellStyle(r,o,n,i),class:e.getHeaderCellClass(r,o,n,i)},[t(\"div\",{class:[\"cell\",i.filteredValue&&i.filteredValue.length>0?\"highlight\":\"\",i.labelClassName]},[i.renderHeader?i.renderHeader.call(e._renderProxy,t,{column:i,$index:o,store:e.store,_self:e.$parent.$vnode.context}):i.label,i.sortable?t(\"span\",{class:\"caret-wrapper\",on:{click:function(t){return e.handleSortClick(t,i)}}},[t(\"i\",{class:\"sort-caret ascending\",on:{click:function(t){return e.handleSortClick(t,i,\"ascending\")}}}),t(\"i\",{class:\"sort-caret descending\",on:{click:function(t){return e.handleSortClick(t,i,\"descending\")}}})]):\"\",i.filterable?t(\"span\",{class:\"el-table__column-filter-trigger\",on:{click:function(t){return e.handleFilterClick(t,i)}}},[t(\"i\",{class:[\"el-icon-arrow-down\",i.filterOpened?\"el-icon-arrow-up\":\"\"]})]):\"\"])])}),e.hasGutter?t(\"th\",{class:\"gutter\"}):\"\"])})])])},props:{fixed:String,store:{required:!0},border:Boolean,defaultSort:{type:Object,default:function(){return{prop:\"\",order:\"\"}}}},components:{ElCheckbox:i.a,ElTag:o.a},computed:{table:function(){return this.$parent},isAllSelected:function(){return this.store.states.isAllSelected},columnsCount:function(){return this.store.states.columns.length},leftFixedCount:function(){return this.store.states.fixedColumns.length},rightFixedCount:function(){return this.store.states.rightFixedColumns.length},leftFixedLeafCount:function(){return this.store.states.fixedLeafColumnsLength},rightFixedLeafCount:function(){return this.store.states.rightFixedLeafColumnsLength},columns:function(){return this.store.states.columns},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},created:function(){this.filterPanels={}},mounted:function(){var t=this;if(this.defaultSort.prop){var e=this.store.states;e.sortProp=this.defaultSort.prop,e.sortOrder=this.defaultSort.order||\"ascending\",this.$nextTick(function(){for(var n=0,r=t.columns.length;n=this.leftFixedLeafCount:\"right\"===this.fixed?n=this.columnsCount-this.rightFixedLeafCount},getHeaderRowStyle:function(t){var e=this.table.headerRowStyle;return\"function\"==typeof e?e.call(this,{rowIndex:t}):e},getHeaderRowClass:function(t){var e=[],n=this.table.headerRowClassName;return\"string\"==typeof n?e.push(n):\"function\"==typeof n&&e.push(n.call(this,{rowIndex:t})),e.join(\" \")},getHeaderCellStyle:function(t,e,n,r){var i=this.table.headerCellStyle;return\"function\"==typeof i?i.call(this,{rowIndex:t,columnIndex:e,row:n,column:r}):i},getHeaderCellClass:function(t,e,n,r){var i=[r.id,r.order,r.headerAlign,r.className,r.labelClassName];0===t&&this.isCellHidden(e,n)&&i.push(\"is-hidden\"),r.children||i.push(\"is-leaf\"),r.sortable&&i.push(\"is-sortable\");var o=this.table.headerCellClassName;return\"string\"==typeof o?i.push(o):\"function\"==typeof o&&i.push(o.call(this,{rowIndex:t,columnIndex:e,row:n,column:r})),i.join(\" \")},toggleAllSelection:function(){this.store.commit(\"toggleAllSelection\")},handleFilterClick:function(t,e){t.stopPropagation();var n=t.target,r=n.parentNode,i=this.$parent,o=this.filterPanels[e.id];if(o&&e.filterOpened)return void(o.showPopper=!1);o||(o=new a.a(s.a),this.filterPanels[e.id]=o,e.filterPlacement&&(o.placement=e.filterPlacement),o.table=i,o.cell=r,o.column=e,!this.$isServer&&o.$mount(document.createElement(\"div\"))),setTimeout(function(){o.showPopper=!0},16)},handleHeaderClick:function(t,e){!e.filters&&e.sortable?this.handleSortClick(t,e):e.filters&&!e.sortable&&this.handleFilterClick(t,e),this.$parent.$emit(\"header-click\",e,t)},handleHeaderContextMenu:function(t,e){this.$parent.$emit(\"header-contextmenu\",e,t)},handleMouseDown:function(t,e){var n=this;if(!this.$isServer&&!(e.children&&e.children.length>0)&&this.draggingColumn&&this.border){this.dragging=!0,this.$parent.resizeProxyVisible=!0;var i=this.$parent,o=i.$el,a=o.getBoundingClientRect().left,s=this.$el.querySelector(\"th.\"+e.id),l=s.getBoundingClientRect(),u=l.left-a+30;Object(r.a)(s,\"noclick\"),this.dragState={startMouseLeft:t.clientX,startLeft:l.right-a,startColumnLeft:l.left-a,tableLeft:a};var c=i.$refs.resizeProxy;c.style.left=this.dragState.startLeft+\"px\",document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};var f=function(t){var e=t.clientX-n.dragState.startMouseLeft,r=n.dragState.startLeft+e;c.style.left=Math.max(u,r)+\"px\"},d=function o(){if(n.dragging){var a=n.dragState,l=a.startColumnLeft,u=a.startLeft,d=parseInt(c.style.left,10),h=d-l;e.width=e.realWidth=h,i.$emit(\"header-dragend\",e.width,u-l,e,t),n.store.scheduleLayout(),document.body.style.cursor=\"\",n.dragging=!1,n.draggingColumn=null,n.dragState={},i.resizeProxyVisible=!1}document.removeEventListener(\"mousemove\",f),document.removeEventListener(\"mouseup\",o),document.onselectstart=null,document.ondragstart=null,setTimeout(function(){Object(r.e)(s,\"noclick\")},0)};document.addEventListener(\"mousemove\",f),document.addEventListener(\"mouseup\",d)}},handleMouseMove:function(t,e){if(!(e.children&&e.children.length>0)){for(var n=t.target;n&&\"TH\"!==n.tagName;)n=n.parentNode;if(e&&e.resizable&&!this.dragging&&this.border){var i=n.getBoundingClientRect(),o=document.body.style;i.width>12&&i.right-t.pageX<8?(o.cursor=\"col-resize\",Object(r.c)(n,\"is-sortable\")&&(n.style.cursor=\"col-resize\"),this.draggingColumn=e):this.dragging||(o.cursor=\"\",Object(r.c)(n,\"is-sortable\")&&(n.style.cursor=\"pointer\"),this.draggingColumn=null)}}},handleMouseOut:function(){this.$isServer||(document.body.style.cursor=\"\")},toggleOrder:function(t){return t?\"ascending\"===t?\"descending\":null:\"ascending\"},handleSortClick:function(t,e,n){t.stopPropagation();for(var i=n||this.toggleOrder(e.order),o=t.target;o&&\"TH\"!==o.tagName;)o=o.parentNode;if(o&&\"TH\"===o.tagName&&Object(r.c)(o,\"noclick\"))return void Object(r.e)(o,\"noclick\");if(e.sortable){var a=this.store.states,s=a.sortProp,l=void 0,u=a.sortingColumn;(u!==e||u===e&&null===u.order)&&(u&&(u.order=null),a.sortingColumn=e,s=e.property),i?l=e.order=i:(l=e.order=null,a.sortingColumn=null,s=null),a.sortProp=s,a.sortOrder=l,this.store.commit(\"changeSortCondition\")}}},data:function(){return{draggingColumn:null,dragging:!1,dragState:{}}}}},function(t,e,n){\"use strict\";var r=n(141);r.a.install=function(t){t.component(r.a.name,r.a)},e.a=r.a},function(t,e,n){\"use strict\";var r=n(65),i=n(16),o=i(r.a,null,!1,null,null,null);e.a=o.exports},function(t,e,n){\"use strict\";function r(t){n(143)}var i=n(66),o=n(158),a=n(16),s=r,l=a(i.a,o.a,!1,s,\"data-v-52ccc6e2\",null);e.a=l.exports},function(t,e,n){var r=n(144);\"string\"==typeof r&&(r=[[t.i,r,\"\"]]),r.locals&&(t.exports=r.locals);n(47)(\"8ad0c704\",r,!0,{})},function(t,e,n){e=t.exports=n(46)(!1),e.push([t.i,\".bigdata-header-filter .filter-keyword[data-v-52ccc6e2]{margin:5px;margin-bottom:0;width:110px}.bigdata-header-filter .el-table-filter__checkbox-group[data-v-52ccc6e2]{max-height:400px;width:120px;overflow-x:hidden;overflow-y:auto}.bigdata-header-filter .filter-label[data-v-52ccc6e2]{width:120px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\",\"\"])},function(t,e,n){\"use strict\";var r=n(1),i=n(67),o=r.a.prototype.$isServer?function(){}:n(147),a=function(t){return t.stopPropagation()};e.a={props:{transformOrigin:{type:[Boolean,String],default:!0},placement:{type:String,default:\"bottom\"},boundariesPadding:{type:Number,default:5},reference:{},popper:{},offset:{default:0},value:Boolean,visibleArrow:Boolean,arrowOffset:{type:Number,default:35},appendToBody:{type:Boolean,default:!0},popperOptions:{type:Object,default:function(){return{gpuAcceleration:!1}}}},data:function(){return{showPopper:!1,currentPlacement:\"\"}},watch:{value:{immediate:!0,handler:function(t){this.showPopper=t,this.$emit(\"input\",t)}},showPopper:function(t){this.disabled||(t?this.updatePopper():this.destroyPopper(),this.$emit(\"input\",t))}},methods:{createPopper:function(){var t=this;if(!this.$isServer&&(this.currentPlacement=this.currentPlacement||this.placement,/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement))){var e=this.popperOptions,n=this.popperElm=this.popperElm||this.popper||this.$refs.popper,r=this.referenceElm=this.referenceElm||this.reference||this.$refs.reference;!r&&this.$slots.reference&&this.$slots.reference[0]&&(r=this.referenceElm=this.$slots.reference[0].elm),n&&r&&(this.visibleArrow&&this.appendArrow(n),this.appendToBody&&document.body.appendChild(this.popperElm),this.popperJS&&this.popperJS.destroy&&this.popperJS.destroy(),e.placement=this.currentPlacement,e.offset=this.offset,e.arrowOffset=this.arrowOffset,this.popperJS=new o(r,n,e),this.popperJS.onCreate(function(e){t.$emit(\"created\",t),t.resetTransformOrigin(),t.$nextTick(t.updatePopper)}),\"function\"==typeof e.onUpdate&&this.popperJS.onUpdate(e.onUpdate),this.popperJS._popper.style.zIndex=i.a.nextZIndex(),this.popperElm.addEventListener(\"click\",a))}},updatePopper:function(){var t=this.popperJS;t?(t.update(),t._popper&&(t._popper.style.zIndex=i.a.nextZIndex())):this.createPopper()},doDestroy:function(t){!this.popperJS||this.showPopper&&!t||(this.popperJS.destroy(),this.popperJS=null)},destroyPopper:function(){this.popperJS&&this.resetTransformOrigin()},resetTransformOrigin:function(){if(this.transformOrigin){var t={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"},e=this.popperJS._popper.getAttribute(\"x-placement\").split(\"-\")[0],n=t[e];this.popperJS._popper.style.transformOrigin=\"string\"==typeof this.transformOrigin?this.transformOrigin:[\"top\",\"bottom\"].indexOf(e)>-1?\"center \"+n:n+\" center\"}},appendArrow:function(t){var e=void 0;if(!this.appended){this.appended=!0;for(var n in t.attributes)if(/^_v-/.test(t.attributes[n].name)){e=t.attributes[n].name;break}var r=document.createElement(\"div\");e&&r.setAttribute(e,\"\"),r.setAttribute(\"x-arrow\",\"\"),r.className=\"popper__arrow\",t.appendChild(r)}}},beforeDestroy:function(){this.doDestroy(!0),this.popperElm&&this.popperElm.parentNode===document.body&&(this.popperElm.removeEventListener(\"click\",a),document.body.removeChild(this.popperElm))},deactivated:function(){this.$options.beforeDestroy[0].call(this)}}},function(t,e,n){\"use strict\";var r=n(1),i=n(17),o=!1,a=!1,s=void 0,l=function(){if(!r.a.prototype.$isServer){var t=c.modalDom;return t?o=!0:(o=!1,t=document.createElement(\"div\"),c.modalDom=t,t.addEventListener(\"touchmove\",function(t){t.preventDefault(),t.stopPropagation()}),t.addEventListener(\"click\",function(){c.doOnModalClick&&c.doOnModalClick()})),t}},u={},c={modalFade:!0,getInstance:function(t){return u[t]},register:function(t,e){t&&e&&(u[t]=e)},deregister:function(t){t&&(u[t]=null,delete u[t])},nextZIndex:function(){return c.zIndex++},modalStack:[],doOnModalClick:function(){var t=c.modalStack[c.modalStack.length-1];if(t){var e=c.getInstance(t.id);e&&e.closeOnClickModal&&e.close()}},openModal:function(t,e,n,a,s){if(!r.a.prototype.$isServer&&t&&void 0!==e){this.modalFade=s;for(var u=this.modalStack,c=0,f=u.length;c0){var r=e[e.length-1];if(r.id===t){if(r.modalClass){r.modalClass.trim().split(/\\s+/).forEach(function(t){return Object(i.e)(n,t)})}e.pop(),e.length>0&&(n.style.zIndex=e[e.length-1].zIndex)}else for(var o=e.length-1;o>=0;o--)if(e[o].id===t){e.splice(o,1);break}}0===e.length&&(this.modalFade&&Object(i.a)(n,\"v-modal-leave\"),setTimeout(function(){0===e.length&&(n.parentNode&&n.parentNode.removeChild(n),n.style.display=\"none\",c.modalDom=void 0),Object(i.e)(n,\"v-modal-leave\")},200))}};Object.defineProperty(c,\"zIndex\",{configurable:!0,get:function(){return a||(s=s||(r.a.prototype.$ELEMENT||{}).zIndex||2e3,a=!0),s},set:function(t){s=t}});var f=function(){if(!r.a.prototype.$isServer&&c.modalStack.length>0){var t=c.modalStack[c.modalStack.length-1];if(!t)return;return c.getInstance(t.id)}};r.a.prototype.$isServer||window.addEventListener(\"keydown\",function(t){if(27===t.keyCode){var e=f();e&&e.closeOnPressEscape&&(e.handleClose?e.handleClose():e.handleAction?e.handleAction(\"cancel\"):e.close())}}),e.a=c},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),function(t){var e=n(149),r=n.n(e),i=n(39),o=n.n(i),a=n(41),s=n.n(a),l=n(10),u=n.n(l);!function(e,r){\"function\"==typeof define&&n(152)?define(r):\"object\"===u()(t)&&t.exports?t.exports=r():e.Popper=r()}(this,function(){function t(t,e,n){this._reference=t.jquery?t[0]:t,this.state={};var r=void 0===e||null===e,i=e&&\"[object Object]\"===Object.prototype.toString.call(e);return this._popper=r||i?this.parse(i?e:{}):e.jquery?e[0]:e,this._options=s()({},b,n),this._options.modifiers=this._options.modifiers.map(function(t){if(-1===this._options.modifiersIgnored.indexOf(t))return\"applyStyle\"===t&&this._popper.setAttribute(\"x-placement\",this._options.placement),this.modifiers[t]||t}.bind(this)),this.state.position=this._getPosition(this._popper,this._reference),d(this._popper,{position:this.state.position,top:0}),this.update(),this._setupEventListeners(),this}function e(t){var e=t.style.display,n=t.style.visibility;t.style.display=\"block\",t.style.visibility=\"hidden\";var r=(t.offsetWidth,y.getComputedStyle(t)),i=parseFloat(r.marginTop)+parseFloat(r.marginBottom),o=parseFloat(r.marginLeft)+parseFloat(r.marginRight),a={width:t.offsetWidth+o,height:t.offsetHeight+i};return t.style.display=e,t.style.visibility=n,a}function n(t){var e={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function i(t){var e=s()({},t);return e.right=e.left+e.width,e.bottom=e.top+e.height,e}function a(t,e){var n,r=0;for(n in t){if(t[n]===e)return r;r++}return null}function l(t,e){return y.getComputedStyle(t,null)[e]}function u(t){var e=t.offsetParent;return e!==y.document.body&&e?e:y.document.documentElement}function c(t){var e=t.parentNode;return e?e===y.document?y.document.body.scrollTop||y.document.body.scrollLeft?y.document.body:y.document.documentElement:-1!==[\"scroll\",\"auto\"].indexOf(l(e,\"overflow\"))||-1!==[\"scroll\",\"auto\"].indexOf(l(e,\"overflow-x\"))||-1!==[\"scroll\",\"auto\"].indexOf(l(e,\"overflow-y\"))?e:c(t.parentNode):t}function f(t){return t!==y.document.body&&(\"fixed\"===l(t,\"position\")||(t.parentNode?f(t.parentNode):t))}function d(t,e){function n(t){return\"\"!==t&&!isNaN(parseFloat(t))&&isFinite(t)}o()(e).forEach(function(r){var i=\"\";-1!==[\"width\",\"height\",\"top\",\"right\",\"bottom\",\"left\"].indexOf(r)&&n(e[r])&&(i=\"px\"),t.style[r]=e[r]+i})}function h(t){var e={};return t&&\"[object Function]\"===e.toString.call(t)}function p(t){var e={width:t.offsetWidth,height:t.offsetHeight,left:t.offsetLeft,top:t.offsetTop};return e.right=e.left+e.width,e.bottom=e.top+e.height,e}function v(t){var e=t.getBoundingClientRect(),n=-1!=navigator.userAgent.indexOf(\"MSIE\"),r=n&&\"HTML\"===t.tagName?-t.scrollTop:e.top;return{left:e.left,top:r,right:e.right,bottom:e.bottom,width:e.right-e.left,height:e.bottom-r}}function m(t,e,n){var r=v(t),i=v(e);if(n){var o=c(e);i.top+=o.scrollTop,i.bottom+=o.scrollTop,i.left+=o.scrollLeft,i.right+=o.scrollLeft}return{top:r.top-i.top,left:r.left-i.left,bottom:r.top-i.top+r.height,right:r.left-i.left+r.width,width:r.width,height:r.height}}function g(t){for(var e=[\"\",\"ms\",\"webkit\",\"moz\",\"o\"],n=0;n1&&console.warn(\"WARNING: the given `parent` query(\"+t.parent+\") matched more than one element, the first one will be used\"),0===l.length)throw\"ERROR: the given `parent` doesn't exists!\";l=l[0]}return l.length>1&&l instanceof Element==!1&&(console.warn(\"WARNING: you have passed as parent a list of elements, the first one will be used\"),l=l[0]),l.appendChild(o),o},t.prototype._getPosition=function(t,e){var n=u(e);return this._options.forceAbsolute?\"absolute\":f(e,n)?\"fixed\":\"absolute\"},t.prototype._getOffsets=function(t,n,r){r=r.split(\"-\")[0];var i={};i.position=this.state.position;var o=\"fixed\"===i.position,a=m(n,u(t),o),s=e(t);return-1!==[\"right\",\"left\"].indexOf(r)?(i.top=a.top+a.height/2-s.height/2,i.left=\"left\"===r?a.left-s.width:a.right):(i.left=a.left+a.width/2-s.width/2,i.top=\"top\"===r?a.top-s.height:a.bottom),i.width=s.width,i.height=s.height,{popper:i,reference:a}},t.prototype._setupEventListeners=function(){if(this.state.updateBound=this.update.bind(this),y.addEventListener(\"resize\",this.state.updateBound),\"window\"!==this._options.boundariesElement){var t=c(this._reference);t!==y.document.body&&t!==y.document.documentElement||(t=y),t.addEventListener(\"scroll\",this.state.updateBound),this.state.scrollTarget=t}},t.prototype._removeEventListeners=function(){y.removeEventListener(\"resize\",this.state.updateBound),\"window\"!==this._options.boundariesElement&&this.state.scrollTarget&&(this.state.scrollTarget.removeEventListener(\"scroll\",this.state.updateBound),this.state.scrollTarget=null),this.state.updateBound=null},t.prototype._getBoundaries=function(t,e,n){var r,i,o={};if(\"window\"===n){var a=y.document.body,s=y.document.documentElement;i=Math.max(a.scrollHeight,a.offsetHeight,s.clientHeight,s.scrollHeight,s.offsetHeight),r=Math.max(a.scrollWidth,a.offsetWidth,s.clientWidth,s.scrollWidth,s.offsetWidth),o={top:0,right:r,bottom:i,left:0}}else if(\"viewport\"===n){var l=u(this._popper),f=c(this._popper),d=p(l),h=\"fixed\"===t.offsets.popper.position?0:function(t){return t==document.body?Math.max(document.documentElement.scrollTop,document.body.scrollTop):t.scrollTop}(f),v=\"fixed\"===t.offsets.popper.position?0:function(t){return t==document.body?Math.max(document.documentElement.scrollLeft,document.body.scrollLeft):t.scrollLeft}(f);o={top:0-(d.top-h),right:y.document.documentElement.clientWidth-(d.left-v),bottom:y.document.documentElement.clientHeight-(d.top-h),left:0-(d.left-v)}}else o=u(this._popper)===n?{top:0,left:0,right:n.clientWidth,bottom:n.clientHeight}:p(n);return o.left+=e,o.right-=e,o.top=o.top+e,o.bottom=o.bottom-e,o},t.prototype.runModifiers=function(t,e,n){var r=e.slice();return void 0!==n&&(r=this._options.modifiers.slice(0,a(this._options.modifiers,n))),r.forEach(function(e){h(e)&&(t=e.call(this,t))}.bind(this)),t},t.prototype.isModifierRequired=function(t,e){var n=a(this._options.modifiers,t);return!!this._options.modifiers.slice(0,n).filter(function(t){return t===e}).length},t.prototype.modifiers={},t.prototype.modifiers.applyStyle=function(t){var e,n={position:t.offsets.popper.position},r=Math.round(t.offsets.popper.left),i=Math.round(t.offsets.popper.top);return this._options.gpuAcceleration&&(e=g(\"transform\"))?(n[e]=\"translate3d(\"+r+\"px, \"+i+\"px, 0)\",n.top=0,n.left=0):(n.left=r,n.top=i),s()(n,t.styles),d(this._popper,n),this._popper.setAttribute(\"x-placement\",t.placement),this.isModifierRequired(this.modifiers.applyStyle,this.modifiers.arrow)&&t.offsets.arrow&&d(t.arrowElement,t.offsets.arrow),t},t.prototype.modifiers.shift=function(t){var e=t.placement,n=e.split(\"-\")[0],r=e.split(\"-\")[1];if(r){var o=t.offsets.reference,a=i(t.offsets.popper),l={y:{start:{top:o.top},end:{top:o.top+o.height-a.height}},x:{start:{left:o.left},end:{left:o.left+o.width-a.width}}},u=-1!==[\"bottom\",\"top\"].indexOf(n)?\"x\":\"y\";t.offsets.popper=s()(a,l[u][r])}return t},t.prototype.modifiers.preventOverflow=function(t){var e=this._options.preventOverflowOrder,n=i(t.offsets.popper),r={left:function(){var e=n.left;return n.leftt.boundaries.right&&(e=Math.min(n.left,t.boundaries.right-n.width)),{left:e}},top:function(){var e=n.top;return n.topt.boundaries.bottom&&(e=Math.min(n.top,t.boundaries.bottom-n.height)),{top:e}}};return e.forEach(function(e){t.offsets.popper=s()(n,r[e]())}),t},t.prototype.modifiers.keepTogether=function(t){var e=i(t.offsets.popper),n=t.offsets.reference,r=Math.floor;return e.rightr(n.right)&&(t.offsets.popper.left=r(n.right)),e.bottomr(n.bottom)&&(t.offsets.popper.top=r(n.bottom)),t},t.prototype.modifiers.flip=function(t){if(!this.isModifierRequired(this.modifiers.flip,this.modifiers.preventOverflow))return console.warn(\"WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!\"),t;if(t.flipped&&t.placement===t._originalPlacement)return t;var e=t.placement.split(\"-\")[0],r=n(e),o=t.placement.split(\"-\")[1]||\"\",a=[];return a=\"flip\"===this._options.flipBehavior?[e,r]:this._options.flipBehavior,a.forEach(function(s,l){if(e===s&&a.length!==l+1){e=t.placement.split(\"-\")[0],r=n(e);var u=i(t.offsets.popper),c=-1!==[\"right\",\"bottom\"].indexOf(e);(c&&Math.floor(t.offsets.reference[e])>Math.floor(u[r])||!c&&Math.floor(t.offsets.reference[e])s[h]&&(t.offsets.popper[f]+=l[f]+p-s[h]);var v=l[f]+(r||l[c]/2-p/2),m=v-s[f];return m=Math.max(Math.min(s[c]-p-8,m),8),o[f]=m,o[d]=\"\",t.offsets.arrow=o,t.arrowElement=n,t},s.a||Object.defineProperty(Object,\"assign\",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(void 0===t||null===t)throw new TypeError(\"Cannot convert first argument to object\");for(var e=Object(t),n=1;n0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!(n&&n.context&&r.target&&i.target)||t.contains(r.target)||t.contains(i.target)||t===r.target||n.context.popperElm&&(n.context.popperElm.contains(r.target)||n.context.popperElm.contains(i.target))||(e.expression&&t[s].methodName&&n.context[t[s].methodName]?n.context[t[s].methodName]():t[s].bindingFn&&t[s].bindingFn())}}var i=n(1),o=n(17),a=[],s=\"@@clickoutsideContext\",l=void 0,u=0;!i.a.prototype.$isServer&&Object(o.d)(document,\"mousedown\",function(t){return l=t}),!i.a.prototype.$isServer&&Object(o.d)(document,\"mouseup\",function(t){a.forEach(function(e){return e[s].documentHandler(t,l)})}),e.a={bind:function(t,e,n){a.push(t);var i=u++;t[s]={id:i,documentHandler:r(t,e,n),methodName:e.expression,bindingFn:e.value}},update:function(t,e,n){t[s].documentHandler=r(t,e,n),t[s].methodName=e.expression,t[s].bindingFn=e.value},unbind:function(t){for(var e=a.length,n=0;n=this.leftFixedCount;if(\"right\"===this.fixed){for(var n=0,r=0;r=this.columnsCount-this.rightFixedCount}}}},function(t,e,n){\"use strict\";var r=n(51),i=n.n(r),o=n(64),a=n(161);e.a={data:function(){return{scrollLeft:0,scrollTop:0,moduleHeight:0,appendNum:15,itemNum:0,headerHeight:0,wrapperHeight:0,totalRowHeight:0,currentIndex:0,times0:0,times1:0,times2:-1,topPlaceholderHeight:0,table1Data:[],table2Data:[],table3Data:[],outerWidth:0,groupHeight:{},groupIndex:0}},methods:{handleScroll:function(t){var e=t.srcElement||t.target,n=e.scrollTop,r=e.scrollLeft;this.scrollLeft=r,this.scrollTop=n},updateHeight:function(){this.itemNum=Math.ceil(this.height/this.rowHeight)+this.appendNum,this.wrapperHeight=this.$refs.bodyWrapper.offsetHeight,this.setTopPlace()},initGroupHeight:function(t){var e=Math.ceil(this.height/this.rowHeight)+this.appendNum;console.log(\"moduleNb\",e);var n={};if(t.length>e)for(var r in t){var i=(+r+1)*e;if(i>t.length){n[r]=t.length%e*this.rowHeight;break}n[r]=e*this.rowHeight}else n[0]=t.length*this.rowHeight;return n},setTopPlace:function(){var t=this.scrollTop,e=0,n=0,r=0;if(t>this.groupHeight[0])switch(this.currentIndex){case 0:e=parseInt(this.groupIndex/3),n=r=e;break;case 1:n=parseInt(this.groupIndex/3),e=n+1,r=n;break;case 2:r=parseInt(this.groupIndex/3),e=n=r+1}this.times0=e,this.times1=n,this.times2=r;var i=0;for(var o in this.groupHeight){if(+o==+this.groupIndex)break;i+=this.groupHeight[o]}this.topPlaceholderHeight=i},setIndex:function(t){return t.map(function(t,e){var n=t;return n.initRowIndex=e,n})},setComputedProps:function(){var t=0;for(var e in this.groupHeight)t+=this.groupHeight[e];this.totalRowHeight=t},_tableResize:function(){var t=this;this.$nextTick(function(){t.updateHeight(),t.setComputedProps();var e=t.totalRowHeight>t.wrapperHeight?Object(a.a)():0;t.outerWidth=t.$refs.bodyWrapper.offsetWidth-2-e})},getTables:function(t,e){var n=this.getItemTable(t,this.table1Data,1,e),r=this.getItemTable(t,this.table2Data,2,e),i=this.getItemTable(t,this.table3Data,3,e);return 0===this.currentIndex?[n,r,i]:1===this.currentIndex?[r,i,n]:[i,n,r]},renderTable:function(t,e){return t(\"div\",{class:\"vue-element-bigdata-table-div\",style:e.style},this.getTables(t,e))},getItemTable:function(t,e,n,r){var i=this;return t(o.a,{style:{width:\"100%\"},props:{store:this.store,tableData:e,stripe:r.stripe,context:r.context,rowClassName:r.rowClassName,rowStyle:r.rowStyle,fixed:r.fixed,highlight:r.highlight,times0:this.times0,times1:this.times1,times2:this.times2,itemNum:this.itemNum,tableIndex:n,groupIndex:+this.groupIndex,itemRowHeight:this.rowHeight},on:{changeHeight:function(t,e){i.groupHeight[t]=e,i.setComputedProps()}},key:\"table-item-key\"+n,ref:\"itemTable\"+n,attrs:{\"data-index\":n}})},resize:function(){this._tableResize()},getScrollLeft:function(){return this.$refs.outer.scrollLeft},scrollToRow:function(t){this._scrollToIndexRow(t)},editCell:function(t,e){this._editCell(t,e)}},computed:{bottomPlaceholderHeight:function(){return this.placeholderHeight-this.topPlaceholderHeight<0?0:this.placeholderHeight-this.topPlaceholderHeight},placeholderHeight:function(){var t=0,e=[];for(var n in this.groupHeight)e[n]=this.groupHeight[n];e=e.slice(this.groupIndex,+this.groupIndex+3);var r=!0,o=!1,a=void 0;try{for(var s,l=i()(e);!(r=(s=l.next()).done);r=!0){t+=s.value}}catch(t){o=!0,a=t}finally{try{!r&&l.return&&l.return()}finally{if(o)throw a}}return this.totalRowHeight-t}},watch:{scrollTop:function(t){var e=this,n=0;for(var r in this.groupHeight){if(t>=n&&t0,expression:\"data && data.length > 0\"},{name:\"mousewheel\",rawName:\"v-mousewheel\",value:t.handleHeaderFooterMousewheel,expression:\"handleHeaderFooterMousewheel\"}],ref:\"footerWrapper\",staticClass:\"el-table__footer-wrapper\"},[n(\"table-footer\",{style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{store:t.store,border:t.border,\"sum-text\":t.sumText||t.t(\"el.table.sumText\"),\"summary-method\":t.summaryMethod,\"default-sort\":t.defaultSort}})],1):t._e(),t._v(\" \"),t.fixedColumns.length>0?n(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:t.handleFixedMousewheel,expression:\"handleFixedMousewheel\"}],ref:\"fixedWrapper\",staticClass:\"el-table__fixed\",style:[{width:t.layout.fixedWidth?t.layout.fixedWidth+\"px\":\"\"},t.fixedHeight]},[t.showHeader?n(\"div\",{ref:\"fixedHeaderWrapper\",staticClass:\"el-table__fixed-header-wrapper\"},[n(\"table-header\",{ref:\"fixedTableHeader\",style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{fixed:\"left\",border:t.border,store:t.store}})],1):t._e(),t._v(\" \"),n(\"div\",{ref:\"fixedBodyWrapper\",staticClass:\"el-table__fixed-body-wrapper\",style:[{top:t.layout.headerHeight+\"px\"},t.fixedBodyHeight]},[n(\"div\",[n(\"div\",{style:{height:t.topPlaceholderHeight+\"px\"}}),t._v(\" \"),n(\"render-dom\",{style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{render:t.renderTable,fixed:\"left\",store:t.store,stripe:t.stripe,highlight:t.highlightCurrentRow,\"row-class-name\":t.rowClassName,\"row-style\":t.rowStyle}}),t._v(\" \"),n(\"div\",{style:{height:t.bottomPlaceholderHeight+\"px\"}})],1),t._v(\" \"),t.$slots.append?n(\"div\",{staticClass:\"el-table__append-gutter\",style:{height:t.layout.appendHeight+\"px\"}}):t._e()]),t._v(\" \"),t.showSummary?n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.data&&t.data.length>0,expression:\"data && data.length > 0\"}],ref:\"fixedFooterWrapper\",staticClass:\"el-table__fixed-footer-wrapper\"},[n(\"table-footer\",{style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{fixed:\"left\",border:t.border,\"sum-text\":t.sumText||t.t(\"el.table.sumText\"),\"summary-method\":t.summaryMethod,store:t.store}})],1):t._e()]):t._e(),t._v(\" \"),t.rightFixedColumns.length>0?n(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:t.handleFixedMousewheel,expression:\"handleFixedMousewheel\"}],ref:\"rightFixedWrapper\",staticClass:\"el-table__fixed-right\",style:[{width:t.layout.rightFixedWidth?t.layout.rightFixedWidth+\"px\":\"\",right:t.layout.scrollY?(t.border?t.layout.gutterWidth:t.layout.gutterWidth||0)+\"px\":\"\"},t.fixedHeight]},[t.showHeader?n(\"div\",{ref:\"rightFixedHeaderWrapper\",staticClass:\"el-table__fixed-header-wrapper\"},[n(\"table-header\",{ref:\"rightFixedTableHeader\",style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{fixed:\"right\",border:t.border,store:t.store}})],1):t._e(),t._v(\" \"),n(\"div\",{ref:\"rightFixedBodyWrapper\",staticClass:\"el-table__fixed-body-wrapper\",style:[{top:t.layout.headerHeight+\"px\"},t.fixedBodyHeight]},[n(\"div\",[n(\"div\",{style:{height:t.topPlaceholderHeight+\"px\"}}),t._v(\" \"),n(\"render-dom\",{style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{render:t.renderTable,fixed:\"right\",store:t.store,stripe:t.stripe,\"row-class-name\":t.rowClassName,\"row-style\":t.rowStyle,highlight:t.highlightCurrentRow}}),t._v(\" \"),n(\"div\",{style:{height:t.bottomPlaceholderHeight+\"px\"}})],1)]),t._v(\" \"),t.showSummary?n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.data&&t.data.length>0,expression:\"data && data.length > 0\"}],ref:\"rightFixedFooterWrapper\",staticClass:\"el-table__fixed-footer-wrapper\"},[n(\"table-footer\",{style:{width:t.layout.bodyWidth?t.layout.bodyWidth+\"px\":\"\"},attrs:{fixed:\"right\",border:t.border,\"sum-text\":t.sumText||t.t(\"el.table.sumText\"),\"summary-method\":t.summaryMethod,store:t.store}})],1):t._e()]):t._e(),t._v(\" \"),t.rightFixedColumns.length>0?n(\"div\",{ref:\"rightFixedPatch\",staticClass:\"el-table__fixed-right-patch\",style:{width:t.layout.scrollY?t.layout.gutterWidth+\"px\":\"0\",height:t.layout.headerHeight+\"px\"}}):t._e(),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.resizeProxyVisible,expression:\"resizeProxyVisible\"}],ref:\"resizeProxy\",staticClass:\"el-table__column-resize-proxy\"})])},i=[],o={render:r,staticRenderFns:i};e.a=o}])});\n//# sourceMappingURL=vue-elementui-bigdata-table.js.map","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar layout = _barGrid.layout;\nvar largeLayout = _barGrid.largeLayout;\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./bar/BarSeries\");\n\nrequire(\"./bar/BarView\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In case developer forget to include grid component\necharts.registerLayout(echarts.PRIORITY.VISUAL.LAYOUT, zrUtil.curry(layout, 'bar')); // Use higher prority to avoid to be blocked by other overall layout, which do not\n// only exist in this module, but probably also exist in other modules, like `barPolar`.\n\necharts.registerLayout(echarts.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, largeLayout);\necharts.registerVisual({\n seriesType: 'bar',\n reset: function (seriesModel) {\n // Visual coding for legend\n seriesModel.getData().setVisual('legendSymbol', 'roundRect');\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar _graphHelper = require(\"./graphHelper\");\n\nvar getSymbolSize = _graphHelper.getSymbolSize;\nvar getNodeGlobalScale = _graphHelper.getNodeGlobalScale;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _multipleGraphEdgeHelper = require(\"../helper/multipleGraphEdgeHelper\");\n\nvar getCurvenessForEdge = _multipleGraphEdgeHelper.getCurvenessForEdge;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PI = Math.PI;\nvar _symbolRadiansHalf = [];\n/**\n * `basedOn` can be:\n * 'value':\n * This layout is not accurate and have same bad case. For example,\n * if the min value is very smaller than the max value, the nodes\n * with the min value probably overlap even though there is enough\n * space to layout them. So we only use this approach in the as the\n * init layout of the force layout.\n * FIXME\n * Probably we do not need this method any more but use\n * `basedOn: 'symbolSize'` in force layout if\n * delay its init operations to GraphView.\n * 'symbolSize':\n * This approach work only if all of the symbol size calculated.\n * That is, the progressive rendering is not applied to graph.\n * FIXME\n * If progressive rendering is applied to graph some day,\n * probably we have to use `basedOn: 'value'`.\n *\n * @param {module:echarts/src/model/Series} seriesModel\n * @param {string} basedOn 'value' or 'symbolSize'\n */\n\nfunction circularLayout(seriesModel, basedOn) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n var rect = coordSys.getBoundingRect();\n var nodeData = seriesModel.getData();\n var graph = nodeData.graph;\n var cx = rect.width / 2 + rect.x;\n var cy = rect.height / 2 + rect.y;\n var r = Math.min(rect.width, rect.height) / 2;\n var count = nodeData.count();\n nodeData.setLayout({\n cx: cx,\n cy: cy\n });\n\n if (!count) {\n return;\n }\n\n _layoutNodesBasedOn[basedOn](seriesModel, coordSys, graph, nodeData, r, cx, cy, count);\n\n graph.eachEdge(function (edge, index) {\n var curveness = zrUtil.retrieve3(edge.getModel().get('lineStyle.curveness'), getCurvenessForEdge(edge, seriesModel, index), 0);\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.clone(edge.node2.getLayout());\n var cp1;\n var x12 = (p1[0] + p2[0]) / 2;\n var y12 = (p1[1] + p2[1]) / 2;\n\n if (+curveness) {\n curveness *= 3;\n cp1 = [cx * curveness + x12 * (1 - curveness), cy * curveness + y12 * (1 - curveness)];\n }\n\n edge.setLayout([p1, p2, cp1]);\n });\n}\n\nvar _layoutNodesBasedOn = {\n value: function (seriesModel, coordSys, graph, nodeData, r, cx, cy, count) {\n var angle = 0;\n var sum = nodeData.getSum('value');\n var unitAngle = Math.PI * 2 / (sum || count);\n graph.eachNode(function (node) {\n var value = node.getValue('value');\n var radianHalf = unitAngle * (sum ? value : 1) / 2;\n angle += radianHalf;\n node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n angle += radianHalf;\n });\n },\n symbolSize: function (seriesModel, coordSys, graph, nodeData, r, cx, cy, count) {\n var sumRadian = 0;\n _symbolRadiansHalf.length = count;\n var nodeScale = getNodeGlobalScale(seriesModel);\n graph.eachNode(function (node) {\n var symbolSize = getSymbolSize(node); // Normally this case will not happen, but we still add\n // some the defensive code (2px is an arbitrary value).\n\n isNaN(symbolSize) && (symbolSize = 2);\n symbolSize < 0 && (symbolSize = 0);\n symbolSize *= nodeScale;\n var symbolRadianHalf = Math.asin(symbolSize / 2 / r); // when `symbolSize / 2` is bigger than `r`.\n\n isNaN(symbolRadianHalf) && (symbolRadianHalf = PI / 2);\n _symbolRadiansHalf[node.dataIndex] = symbolRadianHalf;\n sumRadian += symbolRadianHalf * 2;\n });\n var halfRemainRadian = (2 * PI - sumRadian) / count / 2;\n var angle = 0;\n graph.eachNode(function (node) {\n var radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];\n angle += radianHalf;\n node.setLayout([r * Math.cos(angle) + cx, r * Math.sin(angle) + cy]);\n angle += radianHalf;\n });\n }\n};\nexports.circularLayout = circularLayout;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkLineModel\");\n\nrequire(\"./marker/MarkLineView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(function (opt) {\n // Make sure markLine component is enabled\n opt.markLine = opt.markLine || {};\n});","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","var throttle = require('./throttle');\nvar debounce = require('./debounce');\n\nmodule.exports = {\n\tthrottle: throttle,\n\tdebounce: debounce\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"vue-cropper\",[],e):\"object\"==typeof exports?exports[\"vue-cropper\"]=e():t[\"vue-cropper\"]=e()}(window,function(){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,\"a\",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p=\"\",o(o.s=6)}([function(t,e,o){var n=o(2);\"string\"==typeof n&&(n=[[t.i,n,\"\"]]);var r={hmr:!0,transform:void 0,insertInto:void 0};o(4)(n,r);n.locals&&(t.exports=n.locals)},function(t,e,o){\"use strict\";var n=o(0);o.n(n).a},function(t,e,o){(t.exports=o(3)(!1)).push([t.i,'\\n.vue-cropper[data-v-6dae58fd] {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n user-select: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n direction: ltr;\\n touch-action: none;\\n text-align: left;\\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\");\\n}\\n.cropper-box[data-v-6dae58fd],\\n.cropper-box-canvas[data-v-6dae58fd],\\n.cropper-drag-box[data-v-6dae58fd],\\n.cropper-crop-box[data-v-6dae58fd],\\n.cropper-face[data-v-6dae58fd] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n user-select: none;\\n}\\n.cropper-box-canvas img[data-v-6dae58fd] {\\n position: relative;\\n text-align: left;\\n user-select: none;\\n transform: none;\\n max-width: none;\\n max-height: none;\\n}\\n.cropper-box[data-v-6dae58fd] {\\n overflow: hidden;\\n}\\n.cropper-move[data-v-6dae58fd] {\\n cursor: move;\\n}\\n.cropper-crop[data-v-6dae58fd] {\\n cursor: crosshair;\\n}\\n.cropper-modal[data-v-6dae58fd] {\\n background: rgba(0, 0, 0, 0.5);\\n}\\n.cropper-crop-box[data-v-6dae58fd] {\\n /*border: 2px solid #39f;*/\\n}\\n.cropper-view-box[data-v-6dae58fd] {\\n display: block;\\n overflow: hidden;\\n width: 100%;\\n height: 100%;\\n outline: 1px solid #39f;\\n outline-color: rgba(51, 153, 255, 0.75);\\n user-select: none;\\n}\\n.cropper-view-box img[data-v-6dae58fd] {\\n user-select: none;\\n text-align: left;\\n max-width: none;\\n max-height: none;\\n}\\n.cropper-face[data-v-6dae58fd] {\\n top: 0;\\n left: 0;\\n background-color: #fff;\\n opacity: 0.1;\\n}\\n.crop-info[data-v-6dae58fd] {\\n position: absolute;\\n left: 0px;\\n min-width: 65px;\\n text-align: center;\\n color: white;\\n line-height: 20px;\\n background-color: rgba(0, 0, 0, 0.8);\\n font-size: 12px;\\n}\\n.crop-line[data-v-6dae58fd] {\\n position: absolute;\\n display: block;\\n width: 100%;\\n height: 100%;\\n opacity: 0.1;\\n}\\n.line-w[data-v-6dae58fd] {\\n top: -3px;\\n left: 0;\\n height: 5px;\\n cursor: n-resize;\\n}\\n.line-a[data-v-6dae58fd] {\\n top: 0;\\n left: -3px;\\n width: 5px;\\n cursor: w-resize;\\n}\\n.line-s[data-v-6dae58fd] {\\n bottom: -3px;\\n left: 0;\\n height: 5px;\\n cursor: s-resize;\\n}\\n.line-d[data-v-6dae58fd] {\\n top: 0;\\n right: -3px;\\n width: 5px;\\n cursor: e-resize;\\n}\\n.crop-point[data-v-6dae58fd] {\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n opacity: 0.75;\\n background-color: #39f;\\n border-radius: 100%;\\n}\\n.point1[data-v-6dae58fd] {\\n top: -4px;\\n left: -4px;\\n cursor: nw-resize;\\n}\\n.point2[data-v-6dae58fd] {\\n top: -5px;\\n left: 50%;\\n margin-left: -3px;\\n cursor: n-resize;\\n}\\n.point3[data-v-6dae58fd] {\\n top: -4px;\\n right: -4px;\\n cursor: ne-resize;\\n}\\n.point4[data-v-6dae58fd] {\\n top: 50%;\\n left: -4px;\\n margin-top: -3px;\\n cursor: w-resize;\\n}\\n.point5[data-v-6dae58fd] {\\n top: 50%;\\n right: -4px;\\n margin-top: -3px;\\n cursor: e-resize;\\n}\\n.point6[data-v-6dae58fd] {\\n bottom: -5px;\\n left: -4px;\\n cursor: sw-resize;\\n}\\n.point7[data-v-6dae58fd] {\\n bottom: -5px;\\n left: 50%;\\n margin-left: -3px;\\n cursor: s-resize;\\n}\\n.point8[data-v-6dae58fd] {\\n bottom: -5px;\\n right: -4px;\\n cursor: se-resize;\\n}\\n@media screen and (max-width: 500px) {\\n.crop-point[data-v-6dae58fd] {\\n position: absolute;\\n width: 20px;\\n height: 20px;\\n opacity: 0.45;\\n background-color: #39f;\\n border-radius: 100%;\\n}\\n.point1[data-v-6dae58fd] {\\n top: -10px;\\n left: -10px;\\n}\\n.point2[data-v-6dae58fd],\\n .point4[data-v-6dae58fd],\\n .point5[data-v-6dae58fd],\\n .point7[data-v-6dae58fd] {\\n display: none;\\n}\\n.point3[data-v-6dae58fd] {\\n top: -10px;\\n right: -10px;\\n}\\n.point4[data-v-6dae58fd] {\\n top: 0;\\n left: 0;\\n}\\n.point6[data-v-6dae58fd] {\\n bottom: -10px;\\n left: -10px;\\n}\\n.point8[data-v-6dae58fd] {\\n bottom: -10px;\\n right: -10px;\\n}\\n}\\n',\"\"])},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var o=function(t,e){var o=t[1]||\"\",n=t[3];if(!n)return o;if(e&&\"function\"==typeof btoa){var r=function(t){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+\" */\"}(n),i=n.sources.map(function(t){return\"/*# sourceURL=\"+n.sourceRoot+t+\" */\"});return[o].concat(i).concat([r]).join(\"\\n\")}return[o].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+o+\"}\":o}).join(\"\")},e.i=function(t,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var n={},r=0;r=0&&c.splice(e,1)}function f(t){var e=document.createElement(\"style\");if(void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),void 0===t.attrs.nonce){var n=function(){0;return o.nc}();n&&(t.attrs.nonce=n)}return g(e,t.attrs),l(t,e),e}function g(t,e){Object.keys(e).forEach(function(o){t.setAttribute(o,e[o])})}function v(t,e){var o,n,r,i;if(e.transform&&t.css){if(!(i=\"function\"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=i}if(e.singleton){var c=a++;o=s||(s=f(e)),n=w.bind(null,o,c,!1),r=w.bind(null,o,c,!0)}else t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(o=function(t){var e=document.createElement(\"link\");return void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),t.attrs.rel=\"stylesheet\",g(e,t.attrs),l(t,e),e}(e),n=function(t,e,o){var n=o.css,r=o.sourceMap,i=void 0===e.convertToAbsoluteUrls&&r;(e.convertToAbsoluteUrls||i)&&(n=h(n));r&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+\" */\");var s=new Blob([n],{type:\"text/css\"}),a=t.href;t.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}.bind(null,o,e),r=function(){d(o),o.href&&URL.revokeObjectURL(o.href)}):(o=f(e),n=function(t,e){var o=e.css,n=e.media;n&&t.setAttribute(\"media\",n);if(t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}.bind(null,o),r=function(){d(o)});return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else r()}}t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(e=e||{}).attrs=\"object\"==typeof e.attrs?e.attrs:{},e.singleton||\"boolean\"==typeof e.singleton||(e.singleton=r()),e.insertInto||(e.insertInto=\"head\"),e.insertAt||(e.insertAt=\"bottom\");var o=u(t,e);return p(o,e),function(t){for(var r=[],i=0;i=8&&(a=o+n)));if(a)for(u=p.getUint16(a,r),h=0;h21?\"-21px\":\"0px\",t.width=this.cropW>0?this.cropW:0,t.height=this.cropH>0?this.cropH:0,this.infoTrue){var e=1;this.high&&!this.full&&(e=window.devicePixelRatio),1!==this.enlarge&!this.full&&(e=Math.abs(Number(this.enlarge))),t.width=t.width*e,t.height=t.height*e,this.full&&(t.width=t.width/this.scale,t.height=t.height/this.scale)}return t.width=t.width.toFixed(0),t.height=t.height.toFixed(0),t},isIE:function(){navigator.userAgent;var t=!!window.ActiveXObject||\"ActiveXObject\"in window;return t},passive:function(){return this.isIE?null:{passive:!1}}},watch:{img:function(){this.checkedImg()},imgs:function(t){\"\"!==t&&this.reload()},cropW:function(){this.showPreview()},cropH:function(){this.showPreview()},cropOffsertX:function(){this.showPreview()},cropOffsertY:function(){this.showPreview()},scale:function(t,e){this.showPreview()},x:function(){this.showPreview()},y:function(){this.showPreview()},autoCrop:function(t){t&&this.goAutoCrop()},autoCropWidth:function(){this.autoCrop&&this.goAutoCrop()},autoCropHeight:function(){this.autoCrop&&this.goAutoCrop()},mode:function(){this.checkedImg()},rotate:function(){this.showPreview(),this.autoCrop?this.goAutoCrop(this.cropW,this.cropH):(this.cropW>0||this.cropH>0)&&this.goAutoCrop(this.cropW,this.cropH)}},methods:{getVersion:function(t){for(var e=navigator.userAgent.split(\" \"),o=\"\",n=new RegExp(t,\"i\"),r=0;r=81)e=-1;else if(this.getVersion(\"safari\")[0]>=605){var i=this.getVersion(\"version\");i[0]>13&&i[1]>1&&(e=-1)}else{var s=navigator.userAgent.toLowerCase().match(/cpu iphone os (.*?) like mac os/);if(s){var a=s[1];((a=a.split(\"_\"))[0]>13||a[0]>=13&&a[1]>=4)&&(e=-1)}}var c=document.createElement(\"canvas\"),h=c.getContext(\"2d\");switch(h.save(),e){case 2:c.width=o,c.height=n,h.translate(o,0),h.scale(-1,1);break;case 3:c.width=o,c.height=n,h.translate(o/2,n/2),h.rotate(180*Math.PI/180),h.translate(-o/2,-n/2);break;case 4:c.width=o,c.height=n,h.translate(0,n),h.scale(1,-1);break;case 5:c.height=o,c.width=n,h.rotate(.5*Math.PI),h.scale(1,-1);break;case 6:c.width=n,c.height=o,h.translate(n/2,o/2),h.rotate(90*Math.PI/180),h.translate(-o/2,-n/2);break;case 7:c.height=o,c.width=n,h.rotate(.5*Math.PI),h.translate(o,-n),h.scale(-1,1);break;case 8:c.height=o,c.width=n,h.translate(n/2,o/2),h.rotate(-90*Math.PI/180),h.translate(-o/2,-n/2);break;default:c.width=o,c.height=n}h.drawImage(t,0,0,o,n),h.restore(),c.toBlob(function(t){var e=URL.createObjectURL(t);URL.revokeObjectURL(r.imgs),r.imgs=e},\"image/\"+this.outputType,1)},checkedImg:function(){var t=this;if(null===this.img||\"\"===this.img)return this.imgs=\"\",void this.clearCrop();this.loading=!0,this.scale=1,this.rotate=0,this.clearCrop();var e=new Image;if(e.onload=function(){if(\"\"===t.img)return t.$emit(\"imgLoad\",\"error\"),t.$emit(\"img-load\",\"error\"),!1;var o=e.width,n=e.height;i.getData(e).then(function(r){t.orientation=r.orientation||1;var i=Number(t.maxImgSize);!t.orientation&&oi&&(n=n/o*i,o=i),n>i&&(o=o/n*i,n=i),t.checkOrientationImage(e,t.orientation,o,n))})},e.onerror=function(){t.$emit(\"imgLoad\",\"error\"),t.$emit(\"img-load\",\"error\")},\"data\"!==this.img.substr(0,4)&&(e.crossOrigin=\"\"),this.isIE){var o=new XMLHttpRequest;o.onload=function(){var t=URL.createObjectURL(this.response);e.src=t},o.open(\"GET\",this.img,!0),o.responseType=\"blob\",o.send()}else e.src=this.img},startMove:function(t){if(t.preventDefault(),this.move&&!this.crop){if(!this.canMove)return!1;this.moveX=(\"clientX\"in t?t.clientX:t.touches[0].clientX)-this.x,this.moveY=(\"clientY\"in t?t.clientY:t.touches[0].clientY)-this.y,t.touches?(window.addEventListener(\"touchmove\",this.moveImg),window.addEventListener(\"touchend\",this.leaveImg),2==t.touches.length&&(this.touches=t.touches,window.addEventListener(\"touchmove\",this.touchScale),window.addEventListener(\"touchend\",this.cancelTouchScale))):(window.addEventListener(\"mousemove\",this.moveImg),window.addEventListener(\"mouseup\",this.leaveImg)),this.$emit(\"imgMoving\",{moving:!0,axis:this.getImgAxis()}),this.$emit(\"img-moving\",{moving:!0,axis:this.getImgAxis()})}else this.cropping=!0,window.addEventListener(\"mousemove\",this.createCrop),window.addEventListener(\"mouseup\",this.endCrop),window.addEventListener(\"touchmove\",this.createCrop),window.addEventListener(\"touchend\",this.endCrop),this.cropOffsertX=t.offsetX?t.offsetX:t.touches[0].pageX-this.$refs.cropper.offsetLeft,this.cropOffsertY=t.offsetY?t.offsetY:t.touches[0].pageY-this.$refs.cropper.offsetTop,this.cropX=\"clientX\"in t?t.clientX:t.touches[0].clientX,this.cropY=\"clientY\"in t?t.clientY:t.touches[0].clientY,this.cropChangeX=this.cropOffsertX,this.cropChangeY=this.cropOffsertY,this.cropW=0,this.cropH=0},touchScale:function(t){var e=this;t.preventDefault();var o=this.scale,n=this.touches[0].clientX,r=this.touches[0].clientY,i=t.touches[0].clientX,s=t.touches[0].clientY,a=this.touches[1].clientX,c=this.touches[1].clientY,h=t.touches[1].clientX,p=t.touches[1].clientY,u=Math.sqrt(Math.pow(n-a,2)+Math.pow(r-c,2)),l=Math.sqrt(Math.pow(i-h,2)+Math.pow(s-p,2))-u,d=1,f=(d=(d=d/this.trueWidth>d/this.trueHeight?d/this.trueHeight:d/this.trueWidth)>.1?.1:d)*l;if(!this.touchNow){if(this.touchNow=!0,l>0?o+=Math.abs(f):l<0&&o>Math.abs(f)&&(o-=Math.abs(f)),this.touches=t.touches,setTimeout(function(){e.touchNow=!1},8),!this.checkoutImgAxis(this.x,this.y,o))return!1;this.scale=o}},cancelTouchScale:function(t){window.removeEventListener(\"touchmove\",this.touchScale)},moveImg:function(t){var e=this;if(t.preventDefault(),t.touches&&2===t.touches.length)return this.touches=t.touches,window.addEventListener(\"touchmove\",this.touchScale),window.addEventListener(\"touchend\",this.cancelTouchScale),window.removeEventListener(\"touchmove\",this.moveImg),!1;var o,n,r=\"clientX\"in t?t.clientX:t.touches[0].clientX,i=\"clientY\"in t?t.clientY:t.touches[0].clientY;o=r-this.moveX,n=i-this.moveY,this.$nextTick(function(){if(e.centerBox){var t,r,i,s,a=e.getImgAxis(o,n,e.scale),c=e.getCropAxis(),h=e.trueHeight*e.scale,p=e.trueWidth*e.scale;switch(e.rotate){case 1:case-1:case 3:case-3:t=e.cropOffsertX-e.trueWidth*(1-e.scale)/2+(h-p)/2,r=e.cropOffsertY-e.trueHeight*(1-e.scale)/2+(p-h)/2,i=t-h+e.cropW,s=r-p+e.cropH;break;default:t=e.cropOffsertX-e.trueWidth*(1-e.scale)/2,r=e.cropOffsertY-e.trueHeight*(1-e.scale)/2,i=t-p+e.cropW,s=r-h+e.cropH}a.x1>=c.x1&&(o=t),a.y1>=c.y1&&(n=r),a.x2<=c.x2&&(o=i),a.y2<=c.y2&&(n=s)}e.x=o,e.y=n,e.$emit(\"imgMoving\",{moving:!0,axis:e.getImgAxis()}),e.$emit(\"img-moving\",{moving:!0,axis:e.getImgAxis()})})},leaveImg:function(t){window.removeEventListener(\"mousemove\",this.moveImg),window.removeEventListener(\"touchmove\",this.moveImg),window.removeEventListener(\"mouseup\",this.leaveImg),window.removeEventListener(\"touchend\",this.leaveImg),this.$emit(\"imgMoving\",{moving:!1,axis:this.getImgAxis()}),this.$emit(\"img-moving\",{moving:!1,axis:this.getImgAxis()})},scaleImg:function(){this.canScale&&window.addEventListener(this.support,this.changeSize,this.passive)},cancelScale:function(){this.canScale&&window.removeEventListener(this.support,this.changeSize)},changeSize:function(t){var e=this;t.preventDefault();var o=this.scale,n=t.deltaY||t.wheelDelta;n=navigator.userAgent.indexOf(\"Firefox\")>0?30*n:n,this.isIE&&(n=-n);var r=this.coe,i=(r=r/this.trueWidth>r/this.trueHeight?r/this.trueHeight:r/this.trueWidth)*n;i<0?o+=Math.abs(i):o>Math.abs(i)&&(o-=Math.abs(i));var s=i<0?\"add\":\"reduce\";if(s!==this.coeStatus&&(this.coeStatus=s,this.coe=.2),this.scaling||(this.scalingSet=setTimeout(function(){e.scaling=!1,e.coe=e.coe+=.01},50)),this.scaling=!0,!this.checkoutImgAxis(this.x,this.y,o))return!1;this.scale=o},changeScale:function(t){var e=this.scale;t=t||1;var o=20;if((t*=o=o/this.trueWidth>o/this.trueHeight?o/this.trueHeight:o/this.trueWidth)>0?e+=Math.abs(t):e>Math.abs(t)&&(e-=Math.abs(t)),!this.checkoutImgAxis(this.x,this.y,e))return!1;this.scale=e},createCrop:function(t){var e=this;t.preventDefault();var o=\"clientX\"in t?t.clientX:t.touches?t.touches[0].clientX:0,n=\"clientY\"in t?t.clientY:t.touches?t.touches[0].clientY:0;this.$nextTick(function(){var t=o-e.cropX,r=n-e.cropY;if(t>0?(e.cropW=t+e.cropChangeX>e.w?e.w-e.cropChangeX:t,e.cropOffsertX=e.cropChangeX):(e.cropW=e.w-e.cropChangeX+Math.abs(t)>e.w?e.cropChangeX:Math.abs(t),e.cropOffsertX=e.cropChangeX+t>0?e.cropChangeX+t:0),e.fixed){var i=e.cropW/e.fixedNumber[0]*e.fixedNumber[1];i+e.cropOffsertY>e.h?(e.cropH=e.h-e.cropOffsertY,e.cropW=e.cropH/e.fixedNumber[1]*e.fixedNumber[0],e.cropOffsertX=t>0?e.cropChangeX:e.cropChangeX-e.cropW):e.cropH=i,e.cropOffsertY=e.cropOffsertY}else r>0?(e.cropH=r+e.cropChangeY>e.h?e.h-e.cropChangeY:r,e.cropOffsertY=e.cropChangeY):(e.cropH=e.h-e.cropChangeY+Math.abs(r)>e.h?e.cropChangeY:Math.abs(r),e.cropOffsertY=e.cropChangeY+r>0?e.cropChangeY+r:0)})},changeCropSize:function(t,e,o,n,r){t.preventDefault(),window.addEventListener(\"mousemove\",this.changeCropNow),window.addEventListener(\"mouseup\",this.changeCropEnd),window.addEventListener(\"touchmove\",this.changeCropNow),window.addEventListener(\"touchend\",this.changeCropEnd),this.canChangeX=e,this.canChangeY=o,this.changeCropTypeX=n,this.changeCropTypeY=r,this.cropX=\"clientX\"in t?t.clientX:t.touches[0].clientX,this.cropY=\"clientY\"in t?t.clientY:t.touches[0].clientY,this.cropOldW=this.cropW,this.cropOldH=this.cropH,this.cropChangeX=this.cropOffsertX,this.cropChangeY=this.cropOffsertY,this.fixed&&this.canChangeX&&this.canChangeY&&(this.canChangeY=0),this.$emit(\"change-crop-size\",{width:this.cropW,height:this.cropH})},changeCropNow:function(t){var e=this;t.preventDefault();var o=\"clientX\"in t?t.clientX:t.touches?t.touches[0].clientX:0,n=\"clientY\"in t?t.clientY:t.touches?t.touches[0].clientY:0,r=this.w,i=this.h,s=0,a=0;if(this.centerBox){var c=this.getImgAxis(),h=c.x2,p=c.y2;s=c.x1>0?c.x1:0,a=c.y1>0?c.y1:0,r>h&&(r=h),i>p&&(i=p)}this.$nextTick(function(){var t=o-e.cropX,c=n-e.cropY;if(e.canChangeX&&(1===e.changeCropTypeX?e.cropOldW-t>0?(e.cropW=r-e.cropChangeX-t<=r-s?e.cropOldW-t:e.cropOldW+e.cropChangeX-s,e.cropOffsertX=r-e.cropChangeX-t<=r-s?e.cropChangeX+t:s):(e.cropW=Math.abs(t)+e.cropChangeX<=r?Math.abs(t)-e.cropOldW:r-e.cropOldW-e.cropChangeX,e.cropOffsertX=e.cropChangeX+e.cropOldW):2===e.changeCropTypeX&&(e.cropOldW+t>0?(e.cropW=e.cropOldW+t+e.cropOffsertX<=r?e.cropOldW+t:r-e.cropOffsertX,e.cropOffsertX=e.cropChangeX):(e.cropW=r-e.cropChangeX+Math.abs(t+e.cropOldW)<=r-s?Math.abs(t+e.cropOldW):e.cropChangeX-s,e.cropOffsertX=r-e.cropChangeX+Math.abs(t+e.cropOldW)<=r-s?e.cropChangeX-Math.abs(t+e.cropOldW):s))),e.canChangeY&&(1===e.changeCropTypeY?e.cropOldH-c>0?(e.cropH=i-e.cropChangeY-c<=i-a?e.cropOldH-c:e.cropOldH+e.cropChangeY-a,e.cropOffsertY=i-e.cropChangeY-c<=i-a?e.cropChangeY+c:a):(e.cropH=Math.abs(c)+e.cropChangeY<=i?Math.abs(c)-e.cropOldH:i-e.cropOldH-e.cropChangeY,e.cropOffsertY=e.cropChangeY+e.cropOldH):2===e.changeCropTypeY&&(e.cropOldH+c>0?(e.cropH=e.cropOldH+c+e.cropOffsertY<=i?e.cropOldH+c:i-e.cropOffsertY,e.cropOffsertY=e.cropChangeY):(e.cropH=i-e.cropChangeY+Math.abs(c+e.cropOldH)<=i-a?Math.abs(c+e.cropOldH):e.cropChangeY-a,e.cropOffsertY=i-e.cropChangeY+Math.abs(c+e.cropOldH)<=i-a?e.cropChangeY-Math.abs(c+e.cropOldH):a))),e.canChangeX&&e.fixed){var h=e.cropW/e.fixedNumber[0]*e.fixedNumber[1];h+e.cropOffsertY>i?(e.cropH=i-e.cropOffsertY,e.cropW=e.cropH/e.fixedNumber[1]*e.fixedNumber[0]):e.cropH=h}if(e.canChangeY&&e.fixed){var p=e.cropH/e.fixedNumber[1]*e.fixedNumber[0];p+e.cropOffsertX>r?(e.cropW=r-e.cropOffsertX,e.cropH=e.cropW/e.fixedNumber[0]*e.fixedNumber[1]):e.cropW=p}e.$emit(\"crop-sizing\",{cropW:e.cropW,cropH:e.cropH})})},checkCropLimitSize:function(){this.cropW,this.cropH;var t=this.limitMinSize,e=new Array;return e=Array.isArray[t]?t:[t,t],[parseFloat(e[0]),parseFloat(e[1])]},changeCropEnd:function(t){window.removeEventListener(\"mousemove\",this.changeCropNow),window.removeEventListener(\"mouseup\",this.changeCropEnd),window.removeEventListener(\"touchmove\",this.changeCropNow),window.removeEventListener(\"touchend\",this.changeCropEnd)},endCrop:function(){0===this.cropW&&0===this.cropH&&(this.cropping=!1),window.removeEventListener(\"mousemove\",this.createCrop),window.removeEventListener(\"mouseup\",this.endCrop),window.removeEventListener(\"touchmove\",this.createCrop),window.removeEventListener(\"touchend\",this.endCrop)},startCrop:function(){this.crop=!0},stopCrop:function(){this.crop=!1},clearCrop:function(){this.cropping=!1,this.cropW=0,this.cropH=0},cropMove:function(t){if(t.preventDefault(),!this.canMoveBox)return this.crop=!1,this.startMove(t),!1;if(t.touches&&2===t.touches.length)return this.crop=!1,this.startMove(t),this.leaveCrop(),!1;window.addEventListener(\"mousemove\",this.moveCrop),window.addEventListener(\"mouseup\",this.leaveCrop),window.addEventListener(\"touchmove\",this.moveCrop),window.addEventListener(\"touchend\",this.leaveCrop);var e,o,n=\"clientX\"in t?t.clientX:t.touches[0].clientX,r=\"clientY\"in t?t.clientY:t.touches[0].clientY;e=n-this.cropOffsertX,o=r-this.cropOffsertY,this.cropX=e,this.cropY=o,this.$emit(\"cropMoving\",{moving:!0,axis:this.getCropAxis()}),this.$emit(\"crop-moving\",{moving:!0,axis:this.getCropAxis()})},moveCrop:function(t,e){var o=this,n=0,r=0;t&&(t.preventDefault(),n=\"clientX\"in t?t.clientX:t.touches[0].clientX,r=\"clientY\"in t?t.clientY:t.touches[0].clientY),this.$nextTick(function(){var t,i,s=n-o.cropX,a=r-o.cropY;if(e&&(s=o.cropOffsertX,a=o.cropOffsertY),t=s<=0?0:s+o.cropW>o.w?o.w-o.cropW:s,i=a<=0?0:a+o.cropH>o.h?o.h-o.cropH:a,o.centerBox){var c=o.getImgAxis();t<=c.x1&&(t=c.x1),t+o.cropW>c.x2&&(t=c.x2-o.cropW),i<=c.y1&&(i=c.y1),i+o.cropH>c.y2&&(i=c.y2-o.cropH)}o.cropOffsertX=t,o.cropOffsertY=i,o.$emit(\"cropMoving\",{moving:!0,axis:o.getCropAxis()}),o.$emit(\"crop-moving\",{moving:!0,axis:o.getCropAxis()})})},getImgAxis:function(t,e,o){t=t||this.x,e=e||this.y,o=o||this.scale;var n={x1:0,x2:0,y1:0,y2:0},r=this.trueWidth*o,i=this.trueHeight*o;switch(this.rotate){case 0:n.x1=t+this.trueWidth*(1-o)/2,n.x2=n.x1+this.trueWidth*o,n.y1=e+this.trueHeight*(1-o)/2,n.y2=n.y1+this.trueHeight*o;break;case 1:case-1:case 3:case-3:n.x1=t+this.trueWidth*(1-o)/2+(r-i)/2,n.x2=n.x1+this.trueHeight*o,n.y1=e+this.trueHeight*(1-o)/2+(i-r)/2,n.y2=n.y1+this.trueWidth*o;break;default:n.x1=t+this.trueWidth*(1-o)/2,n.x2=n.x1+this.trueWidth*o,n.y1=e+this.trueHeight*(1-o)/2,n.y2=n.y1+this.trueHeight*o}return n},getCropAxis:function(){var t={x1:0,x2:0,y1:0,y2:0};return t.x1=this.cropOffsertX,t.x2=t.x1+this.cropW,t.y1=this.cropOffsertY,t.y2=t.y1+this.cropH,t},leaveCrop:function(t){window.removeEventListener(\"mousemove\",this.moveCrop),window.removeEventListener(\"mouseup\",this.leaveCrop),window.removeEventListener(\"touchmove\",this.moveCrop),window.removeEventListener(\"touchend\",this.leaveCrop),this.$emit(\"cropMoving\",{moving:!1,axis:this.getCropAxis()}),this.$emit(\"crop-moving\",{moving:!1,axis:this.getCropAxis()})},getCropChecked:function(t){var e=this,o=document.createElement(\"canvas\"),n=new Image,r=this.rotate,i=this.trueWidth,s=this.trueHeight,a=this.cropOffsertX,c=this.cropOffsertY;function h(t,e){o.width=Math.round(t),o.height=Math.round(e)}n.onload=function(){if(0!==e.cropW){var p=o.getContext(\"2d\"),u=1;e.high&!e.full&&(u=window.devicePixelRatio),1!==e.enlarge&!e.full&&(u=Math.abs(Number(e.enlarge)));var l=e.cropW*u,d=e.cropH*u,f=i*e.scale*u,g=s*e.scale*u,v=(e.x-a+e.trueWidth*(1-e.scale)/2)*u,m=(e.y-c+e.trueHeight*(1-e.scale)/2)*u;switch(h(l,d),p.save(),r){case 0:e.full?(h(l/e.scale,d/e.scale),p.drawImage(n,v/e.scale,m/e.scale,f/e.scale,g/e.scale)):p.drawImage(n,v,m,f,g);break;case 1:case-3:e.full?(h(l/e.scale,d/e.scale),v=v/e.scale+(f/e.scale-g/e.scale)/2,m=m/e.scale+(g/e.scale-f/e.scale)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,m,-v-g/e.scale,f/e.scale,g/e.scale)):(v+=(f-g)/2,m+=(g-f)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,m,-v-g,f,g));break;case 2:case-2:e.full?(h(l/e.scale,d/e.scale),p.rotate(90*r*Math.PI/180),v/=e.scale,m/=e.scale,p.drawImage(n,-v-f/e.scale,-m-g/e.scale,f/e.scale,g/e.scale)):(p.rotate(90*r*Math.PI/180),p.drawImage(n,-v-f,-m-g,f,g));break;case 3:case-1:e.full?(h(l/e.scale,d/e.scale),v=v/e.scale+(f/e.scale-g/e.scale)/2,m=m/e.scale+(g/e.scale-f/e.scale)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,-m-f/e.scale,v,f/e.scale,g/e.scale)):(v+=(f-g)/2,m+=(g-f)/2,p.rotate(90*r*Math.PI/180),p.drawImage(n,-m-f,v,f,g));break;default:e.full?(h(l/e.scale,d/e.scale),p.drawImage(n,v/e.scale,m/e.scale,f/e.scale,g/e.scale)):p.drawImage(n,v,m,f,g)}p.restore()}else{var w=i*e.scale,x=s*e.scale,C=o.getContext(\"2d\");switch(C.save(),r){case 0:h(w,x),C.drawImage(n,0,0,w,x);break;case 1:case-3:h(x,w),C.rotate(90*r*Math.PI/180),C.drawImage(n,0,-x,w,x);break;case 2:case-2:h(w,x),C.rotate(90*r*Math.PI/180),C.drawImage(n,-w,-x,w,x);break;case 3:case-1:h(x,w),C.rotate(90*r*Math.PI/180),C.drawImage(n,-w,0,w,x);break;default:h(w,x),C.drawImage(n,0,0,w,x)}C.restore()}t(o)},\"data\"!==this.img.substr(0,4)&&(n.crossOrigin=\"Anonymous\"),n.src=this.imgs},getCropData:function(t){var e=this;this.getCropChecked(function(o){t(o.toDataURL(\"image/\"+e.outputType,e.outputSize))})},getCropBlob:function(t){var e=this;this.getCropChecked(function(o){o.toBlob(function(e){return t(e)},\"image/\"+e.outputType,e.outputSize)})},showPreview:function(){var t=this;if(!this.isCanShow)return!1;this.isCanShow=!1,setTimeout(function(){t.isCanShow=!0},16);var e=this.cropW,o=this.cropH,n=this.scale,r={};r.div={width:\"\".concat(e,\"px\"),height:\"\".concat(o,\"px\")};var i=(this.x-this.cropOffsertX)/n,s=(this.y-this.cropOffsertY)/n;r.w=e,r.h=o,r.url=this.imgs,r.img={width:\"\".concat(this.trueWidth,\"px\"),height:\"\".concat(this.trueHeight,\"px\"),transform:\"scale(\".concat(n,\")translate3d(\").concat(i,\"px, \").concat(s,\"px, \").concat(0,\"px)rotateZ(\").concat(90*this.rotate,\"deg)\")},r.html='\\n
\\n
\\n \\n
\\n
'),this.$emit(\"realTime\",r),this.$emit(\"real-time\",r)},reload:function(){var t=this,e=new Image;e.onload=function(){t.w=parseFloat(window.getComputedStyle(t.$refs.cropper).width),t.h=parseFloat(window.getComputedStyle(t.$refs.cropper).height),t.trueWidth=e.width,t.trueHeight=e.height,t.original?t.scale=1:t.scale=t.checkedMode(),t.$nextTick(function(){t.x=-(t.trueWidth-t.trueWidth*t.scale)/2+(t.w-t.trueWidth*t.scale)/2,t.y=-(t.trueHeight-t.trueHeight*t.scale)/2+(t.h-t.trueHeight*t.scale)/2,t.loading=!1,t.autoCrop&&t.goAutoCrop(),t.$emit(\"img-load\",\"success\"),t.$emit(\"imgLoad\",\"success\"),setTimeout(function(){t.showPreview()},20)})},e.onerror=function(){t.$emit(\"imgLoad\",\"error\"),t.$emit(\"img-load\",\"error\")},e.src=this.imgs},checkedMode:function(){var t=1,e=(this.trueWidth,this.trueHeight),o=this.mode.split(\" \");switch(o[0]){case\"contain\":this.trueWidth>this.w&&(t=this.w/this.trueWidth),this.trueHeight*t>this.h&&(t=this.h/this.trueHeight);break;case\"cover\":(e*=t=this.w/this.trueWidth)0,i=(r?this.trueHeight:this.trueWidth)*this.scale,s=(r?this.trueWidth:this.trueHeight)*this.scale;o=io?o:a,c=c>n?n:c,this.fixed&&(c=a/this.fixedNumber[0]*this.fixedNumber[1]),c>this.h&&(a=(c=this.h)/this.fixedNumber[1]*this.fixedNumber[0]),this.changeCrop(a,c)}},changeCrop:function(t,e){var o=this;if(this.centerBox){var n=this.getImgAxis();t>n.x2-n.x1&&(e=(t=n.x2-n.x1)/this.fixedNumber[0]*this.fixedNumber[1]),e>n.y2-n.y1&&(t=(e=n.y2-n.y1)/this.fixedNumber[1]*this.fixedNumber[0])}this.cropW=t,this.cropH=e,this.checkCropLimitSize(),this.$nextTick(function(){o.cropOffsertX=(o.w-o.cropW)/2,o.cropOffsertY=(o.h-o.cropH)/2,o.centerBox&&o.moveCrop(null,!0)})},refresh:function(){var t=this;this.img;this.imgs=\"\",this.scale=1,this.crop=!1,this.rotate=0,this.w=0,this.h=0,this.trueWidth=0,this.trueHeight=0,this.clearCrop(),this.$nextTick(function(){t.checkedImg()})},rotateLeft:function(){this.rotate=this.rotate<=-3?0:this.rotate-1},rotateRight:function(){this.rotate=this.rotate>=3?0:this.rotate+1},rotateClear:function(){this.rotate=0},checkoutImgAxis:function(t,e,o){t=t||this.x,e=e||this.y,o=o||this.scale;var n=!0;if(this.centerBox){var r=this.getImgAxis(t,e,o),i=this.getCropAxis();r.x1>=i.x1&&(n=!1),r.x2<=i.x2&&(n=!1),r.y1>=i.y1&&(n=!1),r.y2<=i.y2&&(n=!1)}return n}},mounted:function(){this.support=\"onwheel\"in document.createElement(\"div\")?\"wheel\":void 0!==document.onmousewheel?\"mousewheel\":\"DOMMouseScroll\";var t=this,e=navigator.userAgent;this.isIOS=!!e.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/),HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,\"toBlob\",{value:function(e,o,n){for(var r=atob(this.toDataURL(o,n).split(\",\")[1]),i=r.length,s=new Uint8Array(i),a=0;a y0 + _l && y > y1 + _l || y < y0 - _l && y < y1 - _l || x > x0 + _l && x > x1 + _l || x < x0 - _l && x < x1 - _l) {\n return false;\n }\n\n if (x0 !== x1) {\n _a = (y0 - y1) / (x0 - x1);\n _b = (x0 * y1 - x1 * y0) / (x0 - x1);\n } else {\n return Math.abs(x - x0) <= _l / 2;\n }\n\n var tmp = _a * x - y + _b;\n\n var _s = tmp * tmp / (_a * _a + 1);\n\n return _s <= _l / 2 * _l / 2;\n}\n\nexports.containStroke = containStroke;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SymbolDraw = require(\"../helper/SymbolDraw\");\n\nvar LineDraw = require(\"../helper/LineDraw\");\n\nvar RoamController = require(\"../../component/helper/RoamController\");\n\nvar roamHelper = require(\"../../component/helper/roamHelper\");\n\nvar _cursorHelper = require(\"../../component/helper/cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar adjustEdge = require(\"./adjustEdge\");\n\nvar _graphHelper = require(\"./graphHelper\");\n\nvar getNodeGlobalScale = _graphHelper.getNodeGlobalScale;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar FOCUS_ADJACENCY = '__focusNodeAdjacency';\nvar UNFOCUS_ADJACENCY = '__unfocusNodeAdjacency';\nvar nodeOpacityPath = ['itemStyle', 'opacity'];\nvar lineOpacityPath = ['lineStyle', 'opacity'];\n\nfunction getItemOpacity(item, opacityPath) {\n var opacity = item.getVisual('opacity');\n return opacity != null ? opacity : item.getModel().get(opacityPath);\n}\n\nfunction fadeOutItem(item, opacityPath, opacityRatio) {\n var el = item.getGraphicEl();\n var opacity = getItemOpacity(item, opacityPath);\n\n if (opacityRatio != null) {\n opacity == null && (opacity = 1);\n opacity *= opacityRatio;\n }\n\n el.downplay && el.downplay();\n el.traverse(function (child) {\n if (!child.isGroup) {\n var opct = child.lineLabelOriginalOpacity;\n\n if (opct == null || opacityRatio != null) {\n opct = opacity;\n }\n\n child.setStyle('opacity', opct);\n }\n });\n}\n\nfunction fadeInItem(item, opacityPath) {\n var opacity = getItemOpacity(item, opacityPath);\n var el = item.getGraphicEl(); // Should go back to normal opacity first, consider hoverLayer,\n // where current state is copied to elMirror, and support\n // emphasis opacity here.\n\n el.traverse(function (child) {\n !child.isGroup && child.setStyle('opacity', opacity);\n });\n el.highlight && el.highlight();\n}\n\nvar _default = echarts.extendChartView({\n type: 'graph',\n init: function (ecModel, api) {\n var symbolDraw = new SymbolDraw();\n var lineDraw = new LineDraw();\n var group = this.group;\n this._controller = new RoamController(api.getZr());\n this._controllerHost = {\n target: group\n };\n group.add(symbolDraw.group);\n group.add(lineDraw.group);\n this._symbolDraw = symbolDraw;\n this._lineDraw = lineDraw;\n this._firstRender = true;\n },\n render: function (seriesModel, ecModel, api) {\n var graphView = this;\n var coordSys = seriesModel.coordinateSystem;\n this._model = seriesModel;\n var symbolDraw = this._symbolDraw;\n var lineDraw = this._lineDraw;\n var group = this.group;\n\n if (coordSys.type === 'view') {\n var groupNewProp = {\n position: coordSys.position,\n scale: coordSys.scale\n };\n\n if (this._firstRender) {\n group.attr(groupNewProp);\n } else {\n graphic.updateProps(group, groupNewProp, seriesModel);\n }\n } // Fix edge contact point with node\n\n\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\n var data = seriesModel.getData();\n symbolDraw.updateData(data);\n var edgeData = seriesModel.getEdgeData();\n lineDraw.updateData(edgeData);\n\n this._updateNodeAndLinkScale();\n\n this._updateController(seriesModel, ecModel, api);\n\n clearTimeout(this._layoutTimeout);\n var forceLayout = seriesModel.forceLayout;\n var layoutAnimation = seriesModel.get('force.layoutAnimation');\n\n if (forceLayout) {\n this._startForceLayoutIteration(forceLayout, layoutAnimation);\n }\n\n data.eachItemGraphicEl(function (el, idx) {\n var itemModel = data.getItemModel(idx); // Update draggable\n\n el.off('drag').off('dragend');\n var draggable = itemModel.get('draggable');\n\n if (draggable) {\n el.on('drag', function () {\n if (forceLayout) {\n forceLayout.warmUp();\n !this._layouting && this._startForceLayoutIteration(forceLayout, layoutAnimation);\n forceLayout.setFixed(idx); // Write position back to layout\n\n data.setItemLayout(idx, el.position);\n }\n }, this).on('dragend', function () {\n if (forceLayout) {\n forceLayout.setUnfixed(idx);\n }\n }, this);\n }\n\n el.setDraggable(draggable && forceLayout);\n el[FOCUS_ADJACENCY] && el.off('mouseover', el[FOCUS_ADJACENCY]);\n el[UNFOCUS_ADJACENCY] && el.off('mouseout', el[UNFOCUS_ADJACENCY]);\n\n if (itemModel.get('focusNodeAdjacency')) {\n el.on('mouseover', el[FOCUS_ADJACENCY] = function () {\n graphView._clearTimer();\n\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n dataIndex: el.dataIndex\n });\n });\n el.on('mouseout', el[UNFOCUS_ADJACENCY] = function () {\n graphView._dispatchUnfocus(api);\n });\n }\n }, this);\n data.graph.eachEdge(function (edge) {\n var el = edge.getGraphicEl();\n el[FOCUS_ADJACENCY] && el.off('mouseover', el[FOCUS_ADJACENCY]);\n el[UNFOCUS_ADJACENCY] && el.off('mouseout', el[UNFOCUS_ADJACENCY]);\n\n if (edge.getModel().get('focusNodeAdjacency')) {\n el.on('mouseover', el[FOCUS_ADJACENCY] = function () {\n graphView._clearTimer();\n\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n edgeDataIndex: edge.dataIndex\n });\n });\n el.on('mouseout', el[UNFOCUS_ADJACENCY] = function () {\n graphView._dispatchUnfocus(api);\n });\n }\n });\n var circularRotateLabel = seriesModel.get('layout') === 'circular' && seriesModel.get('circular.rotateLabel');\n var cx = data.getLayout('cx');\n var cy = data.getLayout('cy');\n data.eachItemGraphicEl(function (el, idx) {\n var itemModel = data.getItemModel(idx);\n var labelRotate = itemModel.get('label.rotate') || 0;\n var symbolPath = el.getSymbolPath();\n\n if (circularRotateLabel) {\n var pos = data.getItemLayout(idx);\n var rad = Math.atan2(pos[1] - cy, pos[0] - cx);\n\n if (rad < 0) {\n rad = Math.PI * 2 + rad;\n }\n\n var isLeft = pos[0] < cx;\n\n if (isLeft) {\n rad = rad - Math.PI;\n }\n\n var textPosition = isLeft ? 'left' : 'right';\n graphic.modifyLabelStyle(symbolPath, {\n textRotation: -rad,\n textPosition: textPosition,\n textOrigin: 'center'\n }, {\n textPosition: textPosition\n });\n } else {\n graphic.modifyLabelStyle(symbolPath, {\n textRotation: labelRotate *= Math.PI / 180\n });\n }\n });\n this._firstRender = false;\n },\n dispose: function () {\n this._controller && this._controller.dispose();\n this._controllerHost = {};\n\n this._clearTimer();\n },\n _dispatchUnfocus: function (api, opt) {\n var self = this;\n\n this._clearTimer();\n\n this._unfocusDelayTimer = setTimeout(function () {\n self._unfocusDelayTimer = null;\n api.dispatchAction({\n type: 'unfocusNodeAdjacency',\n seriesId: self._model.id\n });\n }, 500);\n },\n _clearTimer: function () {\n if (this._unfocusDelayTimer) {\n clearTimeout(this._unfocusDelayTimer);\n this._unfocusDelayTimer = null;\n }\n },\n focusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var graph = data.graph;\n var dataIndex = payload.dataIndex;\n var edgeDataIndex = payload.edgeDataIndex;\n var node = graph.getNodeByIndex(dataIndex);\n var edge = graph.getEdgeByIndex(edgeDataIndex);\n\n if (!node && !edge) {\n return;\n }\n\n graph.eachNode(function (node) {\n fadeOutItem(node, nodeOpacityPath, 0.1);\n });\n graph.eachEdge(function (edge) {\n fadeOutItem(edge, lineOpacityPath, 0.1);\n });\n\n if (node) {\n fadeInItem(node, nodeOpacityPath);\n zrUtil.each(node.edges, function (adjacentEdge) {\n if (adjacentEdge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(adjacentEdge, lineOpacityPath);\n fadeInItem(adjacentEdge.node1, nodeOpacityPath);\n fadeInItem(adjacentEdge.node2, nodeOpacityPath);\n });\n }\n\n if (edge) {\n fadeInItem(edge, lineOpacityPath);\n fadeInItem(edge.node1, nodeOpacityPath);\n fadeInItem(edge.node2, nodeOpacityPath);\n }\n },\n unfocusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n var graph = seriesModel.getData().graph;\n graph.eachNode(function (node) {\n fadeOutItem(node, nodeOpacityPath);\n });\n graph.eachEdge(function (edge) {\n fadeOutItem(edge, lineOpacityPath);\n });\n },\n _startForceLayoutIteration: function (forceLayout, layoutAnimation) {\n var self = this;\n\n (function step() {\n forceLayout.step(function (stopped) {\n self.updateLayout(self._model);\n (self._layouting = !stopped) && (layoutAnimation ? self._layoutTimeout = setTimeout(step, 16) : step());\n });\n })();\n },\n _updateController: function (seriesModel, ecModel, api) {\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n var group = this.group;\n controller.setPointerChecker(function (e, x, y) {\n var rect = group.getBoundingRect();\n rect.applyTransform(group.transform);\n return rect.contain(x, y) && !onIrrelevantElement(e, api, seriesModel);\n });\n\n if (seriesModel.coordinateSystem.type !== 'view') {\n controller.disable();\n return;\n }\n\n controller.enable(seriesModel.get('roam'));\n controllerHost.zoomLimit = seriesModel.get('scaleLimit');\n controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\n controller.off('pan').off('zoom').on('pan', function (e) {\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'graphRoam',\n dx: e.dx,\n dy: e.dy\n });\n }).on('zoom', function (e) {\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'graphRoam',\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n });\n\n this._updateNodeAndLinkScale();\n\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\n\n this._lineDraw.updateLayout();\n }, this);\n },\n _updateNodeAndLinkScale: function () {\n var seriesModel = this._model;\n var data = seriesModel.getData();\n var nodeScale = getNodeGlobalScale(seriesModel);\n var invScale = [nodeScale, nodeScale];\n data.eachItemGraphicEl(function (el, idx) {\n el.attr('scale', invScale);\n });\n },\n updateLayout: function (seriesModel) {\n adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));\n\n this._symbolDraw.updateLayout();\n\n this._lineDraw.updateLayout();\n },\n remove: function (ecModel, api) {\n this._symbolDraw && this._symbolDraw.remove();\n this._lineDraw && this._lineDraw.remove();\n }\n});\n\nmodule.exports = _default;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","var vec2 = require(\"./vector\");\n\nvar matrix = require(\"./matrix\");\n\n/**\n * @module echarts/core/BoundingRect\n */\nvar v2ApplyTransform = vec2.applyTransform;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\n/**\n * @alias module:echarts/core/BoundingRect\n */\n\nfunction BoundingRect(x, y, width, height) {\n if (width < 0) {\n x = x + width;\n width = -width;\n }\n\n if (height < 0) {\n y = y + height;\n height = -height;\n }\n /**\n * @type {number}\n */\n\n\n this.x = x;\n /**\n * @type {number}\n */\n\n this.y = y;\n /**\n * @type {number}\n */\n\n this.width = width;\n /**\n * @type {number}\n */\n\n this.height = height;\n}\n\nBoundingRect.prototype = {\n constructor: BoundingRect,\n\n /**\n * @param {module:echarts/core/BoundingRect} other\n */\n union: function (other) {\n var x = mathMin(other.x, this.x);\n var y = mathMin(other.y, this.y);\n this.width = mathMax(other.x + other.width, this.x + this.width) - x;\n this.height = mathMax(other.y + other.height, this.y + this.height) - y;\n this.x = x;\n this.y = y;\n },\n\n /**\n * @param {Array.} m\n * @methods\n */\n applyTransform: function () {\n var lt = [];\n var rb = [];\n var lb = [];\n var rt = [];\n return function (m) {\n // In case usage like this\n // el.getBoundingRect().applyTransform(el.transform)\n // And element has no transform\n if (!m) {\n return;\n }\n\n lt[0] = lb[0] = this.x;\n lt[1] = rt[1] = this.y;\n rb[0] = rt[0] = this.x + this.width;\n rb[1] = lb[1] = this.y + this.height;\n v2ApplyTransform(lt, lt, m);\n v2ApplyTransform(rb, rb, m);\n v2ApplyTransform(lb, lb, m);\n v2ApplyTransform(rt, rt, m);\n this.x = mathMin(lt[0], rb[0], lb[0], rt[0]);\n this.y = mathMin(lt[1], rb[1], lb[1], rt[1]);\n var maxX = mathMax(lt[0], rb[0], lb[0], rt[0]);\n var maxY = mathMax(lt[1], rb[1], lb[1], rt[1]);\n this.width = maxX - this.x;\n this.height = maxY - this.y;\n };\n }(),\n\n /**\n * Calculate matrix of transforming from self to target rect\n * @param {module:zrender/core/BoundingRect} b\n * @return {Array.}\n */\n calculateTransform: function (b) {\n var a = this;\n var sx = b.width / a.width;\n var sy = b.height / a.height;\n var m = matrix.create(); // 矩阵右乘\n\n matrix.translate(m, m, [-a.x, -a.y]);\n matrix.scale(m, m, [sx, sy]);\n matrix.translate(m, m, [b.x, b.y]);\n return m;\n },\n\n /**\n * @param {(module:echarts/core/BoundingRect|Object)} b\n * @return {boolean}\n */\n intersect: function (b) {\n if (!b) {\n return false;\n }\n\n if (!(b instanceof BoundingRect)) {\n // Normalize negative width/height.\n b = BoundingRect.create(b);\n }\n\n var a = this;\n var ax0 = a.x;\n var ax1 = a.x + a.width;\n var ay0 = a.y;\n var ay1 = a.y + a.height;\n var bx0 = b.x;\n var bx1 = b.x + b.width;\n var by0 = b.y;\n var by1 = b.y + b.height;\n return !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);\n },\n contain: function (x, y) {\n var rect = this;\n return x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height;\n },\n\n /**\n * @return {module:echarts/core/BoundingRect}\n */\n clone: function () {\n return new BoundingRect(this.x, this.y, this.width, this.height);\n },\n\n /**\n * Copy from another rect\n */\n copy: function (other) {\n this.x = other.x;\n this.y = other.y;\n this.width = other.width;\n this.height = other.height;\n },\n plain: function () {\n return {\n x: this.x,\n y: this.y,\n width: this.width,\n height: this.height\n };\n }\n};\n/**\n * @param {Object|module:zrender/core/BoundingRect} rect\n * @param {number} rect.x\n * @param {number} rect.y\n * @param {number} rect.width\n * @param {number} rect.height\n * @return {module:zrender/core/BoundingRect}\n */\n\nBoundingRect.create = function (rect) {\n return new BoundingRect(rect.x, rect.y, rect.width, rect.height);\n};\n\nvar _default = BoundingRect;\nmodule.exports = _default;","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"CRender\", {\n enumerable: true,\n get: function get() {\n return _crender[\"default\"];\n }\n});\nObject.defineProperty(exports, \"extendNewGraph\", {\n enumerable: true,\n get: function get() {\n return _graphs.extendNewGraph;\n }\n});\nexports[\"default\"] = void 0;\n\nvar _crender = _interopRequireDefault(require(\"./class/crender.class\"));\n\nvar _graphs = require(\"./config/graphs\");\n\nvar _default = _crender[\"default\"];\nexports[\"default\"] = _default;","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export');\nvar defined = require('./_defined');\nvar toLength = require('./_to-length');\nvar isRegExp = require('./_is-regexp');\nvar getFlags = require('./_flags');\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n","var _default = typeof window !== 'undefined' && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || // https://github.com/ecomfe/zrender/issues/189#issuecomment-224919809\nwindow.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function (func) {\n setTimeout(func, 16);\n};\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Pick color from palette for each data item.\n// Applicable for charts that require applying color palette\n// in data level (like pie, funnel, chord).\nfunction _default(seriesType) {\n return {\n getTargetSeries: function (ecModel) {\n // Pie and funnel may use diferrent scope\n var paletteScope = {};\n var seiresModelMap = createHashMap();\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n seriesModel.__paletteScope = paletteScope;\n seiresModelMap.set(seriesModel.uid, seriesModel);\n });\n return seiresModelMap;\n },\n reset: function (seriesModel, ecModel) {\n var dataAll = seriesModel.getRawData();\n var idxMap = {};\n var data = seriesModel.getData();\n data.each(function (idx) {\n var rawIdx = data.getRawIndex(idx);\n idxMap[rawIdx] = idx;\n });\n dataAll.each(function (rawIdx) {\n var filteredIdx = idxMap[rawIdx]; // If series.itemStyle.normal.color is a function. itemVisual may be encoded\n\n var singleDataColor = filteredIdx != null && data.getItemVisual(filteredIdx, 'color', true);\n var singleDataBorderColor = filteredIdx != null && data.getItemVisual(filteredIdx, 'borderColor', true);\n var itemModel;\n\n if (!singleDataColor || !singleDataBorderColor) {\n // FIXME Performance\n itemModel = dataAll.getItemModel(rawIdx);\n }\n\n if (!singleDataColor) {\n var color = itemModel.get('itemStyle.color') || seriesModel.getColorFromPalette(dataAll.getName(rawIdx) || rawIdx + '', seriesModel.__paletteScope, dataAll.count()); // Data is not filtered\n\n if (filteredIdx != null) {\n data.setItemVisual(filteredIdx, 'color', color);\n }\n }\n\n if (!singleDataBorderColor) {\n var borderColor = itemModel.get('itemStyle.borderColor'); // Data is not filtered\n\n if (filteredIdx != null) {\n data.setItemVisual(filteredIdx, 'borderColor', borderColor);\n }\n }\n });\n }\n };\n}\n\nmodule.exports = _default;","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../util/graphic\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PI = Math.PI;\n/**\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} [opts]\n * @param {string} [opts.text]\n * @param {string} [opts.color]\n * @param {string} [opts.textColor]\n * @return {module:zrender/Element}\n */\n\nfunction _default(api, opts) {\n opts = opts || {};\n zrUtil.defaults(opts, {\n text: 'loading',\n textColor: '#000',\n fontSize: '12px',\n maskColor: 'rgba(255, 255, 255, 0.8)',\n showSpinner: true,\n color: '#c23531',\n spinnerRadius: 10,\n lineWidth: 5,\n zlevel: 0\n });\n var group = new graphic.Group();\n var mask = new graphic.Rect({\n style: {\n fill: opts.maskColor\n },\n zlevel: opts.zlevel,\n z: 10000\n });\n group.add(mask);\n var font = opts.fontSize + ' sans-serif';\n var labelRect = new graphic.Rect({\n style: {\n fill: 'none',\n text: opts.text,\n font: font,\n textPosition: 'right',\n textDistance: 10,\n textFill: opts.textColor\n },\n zlevel: opts.zlevel,\n z: 10001\n });\n group.add(labelRect);\n\n if (opts.showSpinner) {\n var arc = new graphic.Arc({\n shape: {\n startAngle: -PI / 2,\n endAngle: -PI / 2 + 0.1,\n r: opts.spinnerRadius\n },\n style: {\n stroke: opts.color,\n lineCap: 'round',\n lineWidth: opts.lineWidth\n },\n zlevel: opts.zlevel,\n z: 10001\n });\n arc.animateShape(true).when(1000, {\n endAngle: PI * 3 / 2\n }).start('circularInOut');\n arc.animateShape(true).when(1000, {\n startAngle: PI * 3 / 2\n }).delay(300).start('circularInOut');\n group.add(arc);\n } // Inject resize\n\n\n group.resize = function () {\n var textWidth = textContain.getWidth(opts.text, font);\n var r = opts.showSpinner ? opts.spinnerRadius : 0; // cx = (containerWidth - arcDiameter - textDistance - textWidth) / 2\n // textDistance needs to be calculated when both animation and text exist\n\n var cx = (api.getWidth() - r * 2 - (opts.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 // only show the text\n - (opts.showSpinner ? 0 : textWidth / 2);\n var cy = api.getHeight() / 2;\n opts.showSpinner && arc.setShape({\n cx: cx,\n cy: cy\n });\n labelRect.setShape({\n x: cx - r,\n y: cy - r,\n width: r * 2,\n height: r * 2\n });\n mask.setShape({\n x: 0,\n y: 0,\n width: api.getWidth(),\n height: api.getHeight()\n });\n };\n\n group.resize();\n return group;\n}\n\nmodule.exports = _default;","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","function _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar makeStyleMapper = require(\"./makeStyleMapper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar getAreaStyle = makeStyleMapper([['fill', 'color'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['opacity'], ['shadowColor']]);\nvar _default = {\n getAreaStyle: function (excludes, includes) {\n return getAreaStyle(this, excludes, includes);\n }\n};\nmodule.exports = _default;","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var _vector = require(\"../../core/vector\");\n\nvar v2Min = _vector.min;\nvar v2Max = _vector.max;\nvar v2Scale = _vector.scale;\nvar v2Distance = _vector.distance;\nvar v2Add = _vector.add;\nvar v2Clone = _vector.clone;\nvar v2Sub = _vector.sub;\n\n/**\n * 贝塞尔平滑曲线\n * @module zrender/shape/util/smoothBezier\n * @author pissang (https://www.github.com/pissang)\n * Kener (@Kener-林峰, kener.linfeng@gmail.com)\n * errorrik (errorrik@gmail.com)\n */\n\n/**\n * 贝塞尔平滑曲线\n * @alias module:zrender/shape/util/smoothBezier\n * @param {Array} points 线段顶点数组\n * @param {number} smooth 平滑等级, 0-1\n * @param {boolean} isLoop\n * @param {Array} constraint 将计算出来的控制点约束在一个包围盒内\n * 比如 [[0, 0], [100, 100]], 这个包围盒会与\n * 整个折线的包围盒做一个并集用来约束控制点。\n * @param {Array} 计算出来的控制点数组\n */\nfunction _default(points, smooth, isLoop, constraint) {\n var cps = [];\n var v = [];\n var v1 = [];\n var v2 = [];\n var prevPoint;\n var nextPoint;\n var min;\n var max;\n\n if (constraint) {\n min = [Infinity, Infinity];\n max = [-Infinity, -Infinity];\n\n for (var i = 0, len = points.length; i < len; i++) {\n v2Min(min, min, points[i]);\n v2Max(max, max, points[i]);\n } // 与指定的包围盒做并集\n\n\n v2Min(min, min, constraint[0]);\n v2Max(max, max, constraint[1]);\n }\n\n for (var i = 0, len = points.length; i < len; i++) {\n var point = points[i];\n\n if (isLoop) {\n prevPoint = points[i ? i - 1 : len - 1];\n nextPoint = points[(i + 1) % len];\n } else {\n if (i === 0 || i === len - 1) {\n cps.push(v2Clone(points[i]));\n continue;\n } else {\n prevPoint = points[i - 1];\n nextPoint = points[i + 1];\n }\n }\n\n v2Sub(v, nextPoint, prevPoint); // use degree to scale the handle length\n\n v2Scale(v, v, smooth);\n var d0 = v2Distance(point, prevPoint);\n var d1 = v2Distance(point, nextPoint);\n var sum = d0 + d1;\n\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n v2Scale(v1, v, -d0);\n v2Scale(v2, v, d1);\n var cp0 = v2Add([], point, v1);\n var cp1 = v2Add([], point, v2);\n\n if (constraint) {\n v2Max(cp0, cp0, min);\n v2Min(cp0, cp0, max);\n v2Max(cp1, cp1, min);\n v2Min(cp1, cp1, max);\n }\n\n cps.push(cp0);\n cps.push(cp1);\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n\n return cps;\n}\n\nmodule.exports = _default;","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"echarts\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","let raf = null;\nfunction requestAnimationFrame (callback) {\n if (!raf) {\n raf = (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n return setTimeout(callback, 16)\n }\n ).bind(window);\n }\n return raf(callback)\n}\n\nlet caf = null;\nfunction cancelAnimationFrame (id) {\n if (!caf) {\n caf = (\n window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n function (id) {\n clearTimeout(id);\n }\n ).bind(window);\n }\n\n caf(id);\n}\n\nfunction createStyles (styleText) {\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (style.styleSheet) {\n style.styleSheet.cssText = styleText;\n } else {\n style.appendChild(document.createTextNode(styleText));\n }\n (document.querySelector('head') || document.body).appendChild(style);\n return style\n}\n\nfunction createElement (tagName, props = {}) {\n let elem = document.createElement(tagName);\n Object.keys(props).forEach(key => {\n elem[key] = props[key];\n });\n return elem\n}\n\nfunction getComputedStyle (elem, prop, pseudo) {\n // for older versions of Firefox, `getComputedStyle` required\n // the second argument and may return `null` for some elements\n // when `display: none`\n let computedStyle = window.getComputedStyle(elem, pseudo || null) || {\n display: 'none'\n };\n\n return computedStyle[prop]\n}\n\nfunction getRenderInfo (elem) {\n if (!document.documentElement.contains(elem)) {\n return {\n detached: true,\n rendered: false\n }\n }\n\n let current = elem;\n while (current !== document) {\n if (getComputedStyle(current, 'display') === 'none') {\n return {\n detached: false,\n rendered: false\n }\n }\n current = current.parentNode;\n }\n\n return {\n detached: false,\n rendered: true\n }\n}\n\nvar css = \".resize-triggers{visibility:hidden;opacity:0}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:\\\"\\\";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}\";\n\nlet total = 0;\nlet style = null;\n\nfunction addListener (elem, callback) {\n if (!elem.__resize_mutation_handler__) {\n elem.__resize_mutation_handler__ = handleMutation.bind(elem);\n }\n\n let listeners = elem.__resize_listeners__;\n\n if (!listeners) {\n elem.__resize_listeners__ = [];\n if (window.ResizeObserver) {\n let { offsetWidth, offsetHeight } = elem;\n let ro = new ResizeObserver(() => {\n if (!elem.__resize_observer_triggered__) {\n elem.__resize_observer_triggered__ = true;\n if (elem.offsetWidth === offsetWidth && elem.offsetHeight === offsetHeight) {\n return\n }\n }\n runCallbacks(elem);\n });\n\n // initially display none won't trigger ResizeObserver callback\n let { detached, rendered } = getRenderInfo(elem);\n elem.__resize_observer_triggered__ = detached === false && rendered === false;\n elem.__resize_observer__ = ro;\n ro.observe(elem);\n } else if (elem.attachEvent && elem.addEventListener) {\n // targeting IE9/10\n elem.__resize_legacy_resize_handler__ = function handleLegacyResize () {\n runCallbacks(elem);\n };\n elem.attachEvent('onresize', elem.__resize_legacy_resize_handler__);\n document.addEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n } else {\n if (!total) {\n style = createStyles(css);\n }\n initTriggers(elem);\n\n elem.__resize_rendered__ = getRenderInfo(elem).rendered;\n if (window.MutationObserver) {\n let mo = new MutationObserver(elem.__resize_mutation_handler__);\n mo.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n elem.__resize_mutation_observer__ = mo;\n }\n }\n }\n\n elem.__resize_listeners__.push(callback);\n total++;\n}\n\nfunction removeListener (elem, callback) {\n // targeting IE9/10\n if (elem.detachEvent && elem.removeEventListener) {\n elem.detachEvent('onresize', elem.__resize_legacy_resize_handler__);\n document.removeEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n return\n }\n\n let listeners = elem.__resize_listeners__;\n if (!listeners) {\n return\n }\n listeners.splice(listeners.indexOf(callback), 1);\n\n if (!listeners.length) {\n if (elem.__resize_observer__) {\n elem.__resize_observer__.unobserve(elem);\n elem.__resize_observer__.disconnect();\n elem.__resize_observer__ = null;\n } else {\n if (elem.__resize_mutation_observer__) {\n elem.__resize_mutation_observer__.disconnect();\n elem.__resize_mutation_observer__ = null;\n }\n elem.removeEventListener('scroll', handleScroll);\n elem.removeChild(elem.__resize_triggers__.triggers);\n elem.__resize_triggers__ = null;\n }\n elem.__resize_listeners__ = null;\n }\n\n if (!--total && style) {\n style.parentNode.removeChild(style);\n }\n}\n\nfunction getUpdatedSize (elem) {\n let { width, height } = elem.__resize_last__;\n let { offsetWidth, offsetHeight } = elem;\n if (offsetWidth !== width || offsetHeight !== height) {\n return {\n width: offsetWidth,\n height: offsetHeight\n }\n }\n return null\n}\n\nfunction handleMutation () {\n // `this` denotes the scrolling element\n let { rendered, detached } = getRenderInfo(this);\n if (rendered !== this.__resize_rendered__) {\n if (!detached && this.__resize_triggers__) {\n resetTriggers(this);\n this.addEventListener('scroll', handleScroll, true);\n }\n this.__resize_rendered__ = rendered;\n runCallbacks(this);\n }\n}\n\nfunction handleScroll () {\n // `this` denotes the scrolling element\n resetTriggers(this);\n if (this.__resize_raf__) {\n cancelAnimationFrame(this.__resize_raf__);\n }\n this.__resize_raf__ = requestAnimationFrame(() => {\n let updated = getUpdatedSize(this);\n if (updated) {\n this.__resize_last__ = updated;\n runCallbacks(this);\n }\n });\n}\n\nfunction runCallbacks (elem) {\n if (!elem || !elem.__resize_listeners__) {\n return\n }\n elem.__resize_listeners__.forEach(callback => {\n callback.call(elem);\n });\n}\n\nfunction initTriggers (elem) {\n let position = getComputedStyle(elem, 'position');\n if (!position || position === 'static') {\n elem.style.position = 'relative';\n }\n\n elem.__resize_old_position__ = position;\n elem.__resize_last__ = {};\n\n let triggers = createElement('div', {\n className: 'resize-triggers'\n });\n let expand = createElement('div', {\n className: 'resize-expand-trigger'\n });\n let expandChild = createElement('div');\n let contract = createElement('div', {\n className: 'resize-contract-trigger'\n });\n expand.appendChild(expandChild);\n triggers.appendChild(expand);\n triggers.appendChild(contract);\n elem.appendChild(triggers);\n\n elem.__resize_triggers__ = {\n triggers,\n expand,\n expandChild,\n contract\n };\n\n resetTriggers(elem);\n elem.addEventListener('scroll', handleScroll, true);\n\n elem.__resize_last__ = {\n width: elem.offsetWidth,\n height: elem.offsetHeight\n };\n}\n\nfunction resetTriggers (elem) {\n let { expand, expandChild, contract } = elem.__resize_triggers__;\n\n // batch read\n let { scrollWidth: csw, scrollHeight: csh } = contract;\n let { offsetWidth: eow, offsetHeight: eoh, scrollWidth: esw, scrollHeight: esh } = expand;\n\n // batch write\n contract.scrollLeft = csw;\n contract.scrollTop = csh;\n expandChild.style.width = eow + 1 + 'px';\n expandChild.style.height = eoh + 1 + 'px';\n expand.scrollLeft = esw;\n expand.scrollTop = esh;\n}\n\nexport { addListener, removeListener };\n","\n\n\n\n\n","import mod from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./ECharts.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--12-0!../../thread-loader/dist/cjs.js!../../babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--0-0!../../vue-loader/lib/index.js??vue-loader-options!./ECharts.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ECharts.vue?vue&type=template&id=36c2f65c&\"\nimport script from \"./ECharts.vue?vue&type=script&lang=js&\"\nexport * from \"./ECharts.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ECharts.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar MAX_SAFE_INTEGER = _number.MAX_SAFE_INTEGER;\n\nvar layout = require(\"../../util/layout\");\n\nvar helper = require(\"../helper/treeHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The treemap layout implementation was originally copied from\n* \"d3.js\" with some modifications made for this project.\n* (See more details in the comment of the method \"squarify\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar retrieveValue = zrUtil.retrieve;\nvar each = zrUtil.each;\nvar PATH_BORDER_WIDTH = ['itemStyle', 'borderWidth'];\nvar PATH_GAP_WIDTH = ['itemStyle', 'gapWidth'];\nvar PATH_UPPER_LABEL_SHOW = ['upperLabel', 'show'];\nvar PATH_UPPER_LABEL_HEIGHT = ['upperLabel', 'height'];\n/**\n * @public\n */\n\nvar _default = {\n seriesType: 'treemap',\n reset: function (seriesModel, ecModel, api, payload) {\n // Layout result in each node:\n // {x, y, width, height, area, borderWidth}\n var ecWidth = api.getWidth();\n var ecHeight = api.getHeight();\n var seriesOption = seriesModel.option;\n var layoutInfo = layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n var size = seriesOption.size || []; // Compatible with ec2.\n\n var containerWidth = parsePercent(retrieveValue(layoutInfo.width, size[0]), ecWidth);\n var containerHeight = parsePercent(retrieveValue(layoutInfo.height, size[1]), ecHeight); // Fetch payload info.\n\n var payloadType = payload && payload.type;\n var types = ['treemapZoomToNode', 'treemapRootToNode'];\n var targetInfo = helper.retrieveTargetInfo(payload, types, seriesModel);\n var rootRect = payloadType === 'treemapRender' || payloadType === 'treemapMove' ? payload.rootRect : null;\n var viewRoot = seriesModel.getViewRoot();\n var viewAbovePath = helper.getPathToRoot(viewRoot);\n\n if (payloadType !== 'treemapMove') {\n var rootSize = payloadType === 'treemapZoomToNode' ? estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) : rootRect ? [rootRect.width, rootRect.height] : [containerWidth, containerHeight];\n var sort = seriesOption.sort;\n\n if (sort && sort !== 'asc' && sort !== 'desc') {\n sort = 'desc';\n }\n\n var options = {\n squareRatio: seriesOption.squareRatio,\n sort: sort,\n leafDepth: seriesOption.leafDepth\n }; // layout should be cleared because using updateView but not update.\n\n viewRoot.hostTree.clearLayouts(); // TODO\n // optimize: if out of view clip, do not layout.\n // But take care that if do not render node out of view clip,\n // how to calculate start po\n\n var viewRootLayout = {\n x: 0,\n y: 0,\n width: rootSize[0],\n height: rootSize[1],\n area: rootSize[0] * rootSize[1]\n };\n viewRoot.setLayout(viewRootLayout);\n squarify(viewRoot, options, false, 0); // Supplement layout.\n\n var viewRootLayout = viewRoot.getLayout();\n each(viewAbovePath, function (node, index) {\n var childValue = (viewAbovePath[index + 1] || viewRoot).getValue();\n node.setLayout(zrUtil.extend({\n dataExtent: [childValue, childValue],\n borderWidth: 0,\n upperHeight: 0\n }, viewRootLayout));\n });\n }\n\n var treeRoot = seriesModel.getData().tree.root;\n treeRoot.setLayout(calculateRootPosition(layoutInfo, rootRect, targetInfo), true);\n seriesModel.setLayoutInfo(layoutInfo); // FIXME\n // 现在没有clip功能,暂时取ec高宽。\n\n prunning(treeRoot, // Transform to base element coordinate system.\n new BoundingRect(-layoutInfo.x, -layoutInfo.y, ecWidth, ecHeight), viewAbovePath, viewRoot, 0);\n }\n};\n/**\n * Layout treemap with squarify algorithm.\n * The original presentation of this algorithm\n * was made by Mark Bruls, Kees Huizing, and Jarke J. van Wijk\n * .\n * The implementation of this algorithm was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * @protected\n * @param {module:echarts/data/Tree~TreeNode} node\n * @param {Object} options\n * @param {string} options.sort 'asc' or 'desc'\n * @param {number} options.squareRatio\n * @param {boolean} hideChildren\n * @param {number} depth\n */\n\nfunction squarify(node, options, hideChildren, depth) {\n var width;\n var height;\n\n if (node.isRemoved()) {\n return;\n }\n\n var thisLayout = node.getLayout();\n width = thisLayout.width;\n height = thisLayout.height; // Considering border and gap\n\n var nodeModel = node.getModel();\n var borderWidth = nodeModel.get(PATH_BORDER_WIDTH);\n var halfGapWidth = nodeModel.get(PATH_GAP_WIDTH) / 2;\n var upperLabelHeight = getUpperLabelHeight(nodeModel);\n var upperHeight = Math.max(borderWidth, upperLabelHeight);\n var layoutOffset = borderWidth - halfGapWidth;\n var layoutOffsetUpper = upperHeight - halfGapWidth;\n var nodeModel = node.getModel();\n node.setLayout({\n borderWidth: borderWidth,\n upperHeight: upperHeight,\n upperLabelHeight: upperLabelHeight\n }, true);\n width = mathMax(width - 2 * layoutOffset, 0);\n height = mathMax(height - layoutOffset - layoutOffsetUpper, 0);\n var totalArea = width * height;\n var viewChildren = initChildren(node, nodeModel, totalArea, options, hideChildren, depth);\n\n if (!viewChildren.length) {\n return;\n }\n\n var rect = {\n x: layoutOffset,\n y: layoutOffsetUpper,\n width: width,\n height: height\n };\n var rowFixedLength = mathMin(width, height);\n var best = Infinity; // the best row score so far\n\n var row = [];\n row.area = 0;\n\n for (var i = 0, len = viewChildren.length; i < len;) {\n var child = viewChildren[i];\n row.push(child);\n row.area += child.getLayout().area;\n var score = worst(row, rowFixedLength, options.squareRatio); // continue with this orientation\n\n if (score <= best) {\n i++;\n best = score;\n } // abort, and try a different orientation\n else {\n row.area -= row.pop().getLayout().area;\n position(row, rowFixedLength, rect, halfGapWidth, false);\n rowFixedLength = mathMin(rect.width, rect.height);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n\n if (row.length) {\n position(row, rowFixedLength, rect, halfGapWidth, true);\n }\n\n if (!hideChildren) {\n var childrenVisibleMin = nodeModel.get('childrenVisibleMin');\n\n if (childrenVisibleMin != null && totalArea < childrenVisibleMin) {\n hideChildren = true;\n }\n }\n\n for (var i = 0, len = viewChildren.length; i < len; i++) {\n squarify(viewChildren[i], options, hideChildren, depth + 1);\n }\n}\n/**\n * Set area to each child, and calculate data extent for visual coding.\n */\n\n\nfunction initChildren(node, nodeModel, totalArea, options, hideChildren, depth) {\n var viewChildren = node.children || [];\n var orderBy = options.sort;\n orderBy !== 'asc' && orderBy !== 'desc' && (orderBy = null);\n var overLeafDepth = options.leafDepth != null && options.leafDepth <= depth; // leafDepth has higher priority.\n\n if (hideChildren && !overLeafDepth) {\n return node.viewChildren = [];\n } // Sort children, order by desc.\n\n\n viewChildren = zrUtil.filter(viewChildren, function (child) {\n return !child.isRemoved();\n });\n sort(viewChildren, orderBy);\n var info = statistic(nodeModel, viewChildren, orderBy);\n\n if (info.sum === 0) {\n return node.viewChildren = [];\n }\n\n info.sum = filterByThreshold(nodeModel, totalArea, info.sum, orderBy, viewChildren);\n\n if (info.sum === 0) {\n return node.viewChildren = [];\n } // Set area to each child.\n\n\n for (var i = 0, len = viewChildren.length; i < len; i++) {\n var area = viewChildren[i].getValue() / info.sum * totalArea; // Do not use setLayout({...}, true), because it is needed to clear last layout.\n\n viewChildren[i].setLayout({\n area: area\n });\n }\n\n if (overLeafDepth) {\n viewChildren.length && node.setLayout({\n isLeafRoot: true\n }, true);\n viewChildren.length = 0;\n }\n\n node.viewChildren = viewChildren;\n node.setLayout({\n dataExtent: info.dataExtent\n }, true);\n return viewChildren;\n}\n/**\n * Consider 'visibleMin'. Modify viewChildren and get new sum.\n */\n\n\nfunction filterByThreshold(nodeModel, totalArea, sum, orderBy, orderedChildren) {\n // visibleMin is not supported yet when no option.sort.\n if (!orderBy) {\n return sum;\n }\n\n var visibleMin = nodeModel.get('visibleMin');\n var len = orderedChildren.length;\n var deletePoint = len; // Always travel from little value to big value.\n\n for (var i = len - 1; i >= 0; i--) {\n var value = orderedChildren[orderBy === 'asc' ? len - i - 1 : i].getValue();\n\n if (value / sum * totalArea < visibleMin) {\n deletePoint = i;\n sum -= value;\n }\n }\n\n orderBy === 'asc' ? orderedChildren.splice(0, len - deletePoint) : orderedChildren.splice(deletePoint, len - deletePoint);\n return sum;\n}\n/**\n * Sort\n */\n\n\nfunction sort(viewChildren, orderBy) {\n if (orderBy) {\n viewChildren.sort(function (a, b) {\n var diff = orderBy === 'asc' ? a.getValue() - b.getValue() : b.getValue() - a.getValue();\n return diff === 0 ? orderBy === 'asc' ? a.dataIndex - b.dataIndex : b.dataIndex - a.dataIndex : diff;\n });\n }\n\n return viewChildren;\n}\n/**\n * Statistic\n */\n\n\nfunction statistic(nodeModel, children, orderBy) {\n // Calculate sum.\n var sum = 0;\n\n for (var i = 0, len = children.length; i < len; i++) {\n sum += children[i].getValue();\n } // Statistic data extent for latter visual coding.\n // Notice: data extent should be calculate based on raw children\n // but not filtered view children, otherwise visual mapping will not\n // be stable when zoom (where children is filtered by visibleMin).\n\n\n var dimension = nodeModel.get('visualDimension');\n var dataExtent; // The same as area dimension.\n\n if (!children || !children.length) {\n dataExtent = [NaN, NaN];\n } else if (dimension === 'value' && orderBy) {\n dataExtent = [children[children.length - 1].getValue(), children[0].getValue()];\n orderBy === 'asc' && dataExtent.reverse();\n } // Other dimension.\n else {\n var dataExtent = [Infinity, -Infinity];\n each(children, function (child) {\n var value = child.getValue(dimension);\n value < dataExtent[0] && (dataExtent[0] = value);\n value > dataExtent[1] && (dataExtent[1] = value);\n });\n }\n\n return {\n sum: sum,\n dataExtent: dataExtent\n };\n}\n/**\n * Computes the score for the specified row,\n * as the worst aspect ratio.\n */\n\n\nfunction worst(row, rowFixedLength, ratio) {\n var areaMax = 0;\n var areaMin = Infinity;\n\n for (var i = 0, area, len = row.length; i < len; i++) {\n area = row[i].getLayout().area;\n\n if (area) {\n area < areaMin && (areaMin = area);\n area > areaMax && (areaMax = area);\n }\n }\n\n var squareArea = row.area * row.area;\n var f = rowFixedLength * rowFixedLength * ratio;\n return squareArea ? mathMax(f * areaMax / squareArea, squareArea / (f * areaMin)) : Infinity;\n}\n/**\n * Positions the specified row of nodes. Modifies `rect`.\n */\n\n\nfunction position(row, rowFixedLength, rect, halfGapWidth, flush) {\n // When rowFixedLength === rect.width,\n // it is horizontal subdivision,\n // rowFixedLength is the width of the subdivision,\n // rowOtherLength is the height of the subdivision,\n // and nodes will be positioned from left to right.\n // wh[idx0WhenH] means: when horizontal,\n // wh[idx0WhenH] => wh[0] => 'width'.\n // xy[idx1WhenH] => xy[1] => 'y'.\n var idx0WhenH = rowFixedLength === rect.width ? 0 : 1;\n var idx1WhenH = 1 - idx0WhenH;\n var xy = ['x', 'y'];\n var wh = ['width', 'height'];\n var last = rect[xy[idx0WhenH]];\n var rowOtherLength = rowFixedLength ? row.area / rowFixedLength : 0;\n\n if (flush || rowOtherLength > rect[wh[idx1WhenH]]) {\n rowOtherLength = rect[wh[idx1WhenH]]; // over+underflow\n }\n\n for (var i = 0, rowLen = row.length; i < rowLen; i++) {\n var node = row[i];\n var nodeLayout = {};\n var step = rowOtherLength ? node.getLayout().area / rowOtherLength : 0;\n var wh1 = nodeLayout[wh[idx1WhenH]] = mathMax(rowOtherLength - 2 * halfGapWidth, 0); // We use Math.max/min to avoid negative width/height when considering gap width.\n\n var remain = rect[xy[idx0WhenH]] + rect[wh[idx0WhenH]] - last;\n var modWH = i === rowLen - 1 || remain < step ? remain : step;\n var wh0 = nodeLayout[wh[idx0WhenH]] = mathMax(modWH - 2 * halfGapWidth, 0);\n nodeLayout[xy[idx1WhenH]] = rect[xy[idx1WhenH]] + mathMin(halfGapWidth, wh1 / 2);\n nodeLayout[xy[idx0WhenH]] = last + mathMin(halfGapWidth, wh0 / 2);\n last += modWH;\n node.setLayout(nodeLayout, true);\n }\n\n rect[xy[idx1WhenH]] += rowOtherLength;\n rect[wh[idx1WhenH]] -= rowOtherLength;\n} // Return [containerWidth, containerHeight] as default.\n\n\nfunction estimateRootSize(seriesModel, targetInfo, viewRoot, containerWidth, containerHeight) {\n // If targetInfo.node exists, we zoom to the node,\n // so estimate whold width and heigth by target node.\n var currNode = (targetInfo || {}).node;\n var defaultSize = [containerWidth, containerHeight];\n\n if (!currNode || currNode === viewRoot) {\n return defaultSize;\n }\n\n var parent;\n var viewArea = containerWidth * containerHeight;\n var area = viewArea * seriesModel.option.zoomToNodeRatio;\n\n while (parent = currNode.parentNode) {\n // jshint ignore:line\n var sum = 0;\n var siblings = parent.children;\n\n for (var i = 0, len = siblings.length; i < len; i++) {\n sum += siblings[i].getValue();\n }\n\n var currNodeValue = currNode.getValue();\n\n if (currNodeValue === 0) {\n return defaultSize;\n }\n\n area *= sum / currNodeValue; // Considering border, suppose aspect ratio is 1.\n\n var parentModel = parent.getModel();\n var borderWidth = parentModel.get(PATH_BORDER_WIDTH);\n var upperHeight = Math.max(borderWidth, getUpperLabelHeight(parentModel, borderWidth));\n area += 4 * borderWidth * borderWidth + (3 * borderWidth + upperHeight) * Math.pow(area, 0.5);\n area > MAX_SAFE_INTEGER && (area = MAX_SAFE_INTEGER);\n currNode = parent;\n }\n\n area < viewArea && (area = viewArea);\n var scale = Math.pow(area / viewArea, 0.5);\n return [containerWidth * scale, containerHeight * scale];\n} // Root postion base on coord of containerGroup\n\n\nfunction calculateRootPosition(layoutInfo, rootRect, targetInfo) {\n if (rootRect) {\n return {\n x: rootRect.x,\n y: rootRect.y\n };\n }\n\n var defaultPosition = {\n x: 0,\n y: 0\n };\n\n if (!targetInfo) {\n return defaultPosition;\n } // If targetInfo is fetched by 'retrieveTargetInfo',\n // old tree and new tree are the same tree,\n // so the node still exists and we can visit it.\n\n\n var targetNode = targetInfo.node;\n var layout = targetNode.getLayout();\n\n if (!layout) {\n return defaultPosition;\n } // Transform coord from local to container.\n\n\n var targetCenter = [layout.width / 2, layout.height / 2];\n var node = targetNode;\n\n while (node) {\n var nodeLayout = node.getLayout();\n targetCenter[0] += nodeLayout.x;\n targetCenter[1] += nodeLayout.y;\n node = node.parentNode;\n }\n\n return {\n x: layoutInfo.width / 2 - targetCenter[0],\n y: layoutInfo.height / 2 - targetCenter[1]\n };\n} // Mark nodes visible for prunning when visual coding and rendering.\n// Prunning depends on layout and root position, so we have to do it after layout.\n\n\nfunction prunning(node, clipRect, viewAbovePath, viewRoot, depth) {\n var nodeLayout = node.getLayout();\n var nodeInViewAbovePath = viewAbovePath[depth];\n var isAboveViewRoot = nodeInViewAbovePath && nodeInViewAbovePath === node;\n\n if (nodeInViewAbovePath && !isAboveViewRoot || depth === viewAbovePath.length && node !== viewRoot) {\n return;\n }\n\n node.setLayout({\n // isInView means: viewRoot sub tree + viewAbovePath\n isInView: true,\n // invisible only means: outside view clip so that the node can not\n // see but still layout for animation preparation but not render.\n invisible: !isAboveViewRoot && !clipRect.intersect(nodeLayout),\n isAboveViewRoot: isAboveViewRoot\n }, true); // Transform to child coordinate.\n\n var childClipRect = new BoundingRect(clipRect.x - nodeLayout.x, clipRect.y - nodeLayout.y, clipRect.width, clipRect.height);\n each(node.viewChildren || [], function (child) {\n prunning(child, childClipRect, viewAbovePath, viewRoot, depth + 1);\n });\n}\n\nfunction getUpperLabelHeight(model) {\n return model.get(PATH_UPPER_LABEL_SHOW) ? model.get(PATH_UPPER_LABEL_HEIGHT) : 0;\n}\n\nmodule.exports = _default;","/**\n * Sub-pixel optimize for canvas rendering, prevent from blur\n * when rendering a thin vertical/horizontal line.\n */\nvar round = Math.round;\n/**\n * Sub pixel optimize line for canvas\n *\n * @param {Object} outputShape The modification will be performed on `outputShape`.\n * `outputShape` and `inputShape` can be the same object.\n * `outputShape` object can be used repeatly, because all of\n * the `x1`, `x2`, `y1`, `y2` will be assigned in this method.\n * @param {Object} [inputShape]\n * @param {number} [inputShape.x1]\n * @param {number} [inputShape.y1]\n * @param {number} [inputShape.x2]\n * @param {number} [inputShape.y2]\n * @param {Object} [style]\n * @param {number} [style.lineWidth] If `null`/`undefined`/`0`, do not optimize.\n */\n\nfunction subPixelOptimizeLine(outputShape, inputShape, style) {\n if (!inputShape) {\n return;\n }\n\n var x1 = inputShape.x1;\n var x2 = inputShape.x2;\n var y1 = inputShape.y1;\n var y2 = inputShape.y2;\n outputShape.x1 = x1;\n outputShape.x2 = x2;\n outputShape.y1 = y1;\n outputShape.y2 = y2;\n var lineWidth = style && style.lineWidth;\n\n if (!lineWidth) {\n return;\n }\n\n if (round(x1 * 2) === round(x2 * 2)) {\n outputShape.x1 = outputShape.x2 = subPixelOptimize(x1, lineWidth, true);\n }\n\n if (round(y1 * 2) === round(y2 * 2)) {\n outputShape.y1 = outputShape.y2 = subPixelOptimize(y1, lineWidth, true);\n }\n}\n/**\n * Sub pixel optimize rect for canvas\n *\n * @param {Object} outputShape The modification will be performed on `outputShape`.\n * `outputShape` and `inputShape` can be the same object.\n * `outputShape` object can be used repeatly, because all of\n * the `x`, `y`, `width`, `height` will be assigned in this method.\n * @param {Object} [inputShape]\n * @param {number} [inputShape.x]\n * @param {number} [inputShape.y]\n * @param {number} [inputShape.width]\n * @param {number} [inputShape.height]\n * @param {Object} [style]\n * @param {number} [style.lineWidth] If `null`/`undefined`/`0`, do not optimize.\n */\n\n\nfunction subPixelOptimizeRect(outputShape, inputShape, style) {\n if (!inputShape) {\n return;\n }\n\n var originX = inputShape.x;\n var originY = inputShape.y;\n var originWidth = inputShape.width;\n var originHeight = inputShape.height;\n outputShape.x = originX;\n outputShape.y = originY;\n outputShape.width = originWidth;\n outputShape.height = originHeight;\n var lineWidth = style && style.lineWidth;\n\n if (!lineWidth) {\n return;\n }\n\n outputShape.x = subPixelOptimize(originX, lineWidth, true);\n outputShape.y = subPixelOptimize(originY, lineWidth, true);\n outputShape.width = Math.max(subPixelOptimize(originX + originWidth, lineWidth, false) - outputShape.x, originWidth === 0 ? 0 : 1);\n outputShape.height = Math.max(subPixelOptimize(originY + originHeight, lineWidth, false) - outputShape.y, originHeight === 0 ? 0 : 1);\n}\n/**\n * Sub pixel optimize for canvas\n *\n * @param {number} position Coordinate, such as x, y\n * @param {number} lineWidth If `null`/`undefined`/`0`, do not optimize.\n * @param {boolean=} positiveOrNegative Default false (negative).\n * @return {number} Optimized position.\n */\n\n\nfunction subPixelOptimize(position, lineWidth, positiveOrNegative) {\n if (!lineWidth) {\n return position;\n } // Assure that (position + lineWidth / 2) is near integer edge,\n // otherwise line will be fuzzy in canvas.\n\n\n var doubledPosition = round(position * 2);\n return (doubledPosition + round(lineWidth)) % 2 === 0 ? doubledPosition / 2 : (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;\n}\n\nexports.subPixelOptimizeLine = subPixelOptimizeLine;\nexports.subPixelOptimizeRect = subPixelOptimizeRect;\nexports.subPixelOptimize = subPixelOptimize;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _dataStackHelper = require(\"../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nvar STACK_PREFIX = '__ec_stack_';\nvar LARGE_BAR_MIN_WIDTH = 0.5;\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\n\nfunction getSeriesStackId(seriesModel) {\n return seriesModel.get('stack') || STACK_PREFIX + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(axis) {\n return axis.dim + axis.index;\n}\n/**\n * @param {Object} opt\n * @param {module:echarts/coord/Axis} opt.axis Only support category axis currently.\n * @param {number} opt.count Positive interger.\n * @param {number} [opt.barWidth]\n * @param {number} [opt.barMaxWidth]\n * @param {number} [opt.barMinWidth]\n * @param {number} [opt.barGap]\n * @param {number} [opt.barCategoryGap]\n * @return {Object} {width, offset, offsetCenter} If axis.type is not 'category', return undefined.\n */\n\n\nfunction getLayoutOnAxis(opt) {\n var params = [];\n var baseAxis = opt.axis;\n var axisKey = 'axis0';\n\n if (baseAxis.type !== 'category') {\n return;\n }\n\n var bandWidth = baseAxis.getBandWidth();\n\n for (var i = 0; i < opt.count || 0; i++) {\n params.push(zrUtil.defaults({\n bandWidth: bandWidth,\n axisKey: axisKey,\n stackId: STACK_PREFIX + i\n }, opt));\n }\n\n var widthAndOffsets = doCalBarWidthAndOffset(params);\n var result = [];\n\n for (var i = 0; i < opt.count; i++) {\n var item = widthAndOffsets[axisKey][STACK_PREFIX + i];\n item.offsetCenter = item.offset + item.width / 2;\n result.push(item);\n }\n\n return result;\n}\n\nfunction prepareLayoutBarSeries(seriesType, ecModel) {\n var seriesModels = [];\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n // Check series coordinate, do layout for cartesian2d only\n if (isOnCartesian(seriesModel) && !isInLargeMode(seriesModel)) {\n seriesModels.push(seriesModel);\n }\n });\n return seriesModels;\n}\n/**\n * Map from (baseAxis.dim + '_' + baseAxis.index) to min gap of two adjacent\n * values.\n * This works for time axes, value axes, and log axes.\n * For a single time axis, return value is in the form like\n * {'x_0': [1000000]}.\n * The value of 1000000 is in milliseconds.\n */\n\n\nfunction getValueAxesMinGaps(barSeries) {\n /**\n * Map from axis.index to values.\n * For a single time axis, axisValues is in the form like\n * {'x_0': [1495555200000, 1495641600000, 1495728000000]}.\n * Items in axisValues[x], e.g. 1495555200000, are time values of all\n * series.\n */\n var axisValues = {};\n zrUtil.each(barSeries, function (seriesModel) {\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n\n if (baseAxis.type !== 'time' && baseAxis.type !== 'value') {\n return;\n }\n\n var data = seriesModel.getData();\n var key = baseAxis.dim + '_' + baseAxis.index;\n var dim = data.mapDimension(baseAxis.dim);\n\n for (var i = 0, cnt = data.count(); i < cnt; ++i) {\n var value = data.get(dim, i);\n\n if (!axisValues[key]) {\n // No previous data for the axis\n axisValues[key] = [value];\n } else {\n // No value in previous series\n axisValues[key].push(value);\n } // Ignore duplicated time values in the same axis\n\n }\n });\n var axisMinGaps = [];\n\n for (var key in axisValues) {\n if (axisValues.hasOwnProperty(key)) {\n var valuesInAxis = axisValues[key];\n\n if (valuesInAxis) {\n // Sort axis values into ascending order to calculate gaps\n valuesInAxis.sort(function (a, b) {\n return a - b;\n });\n var min = null;\n\n for (var j = 1; j < valuesInAxis.length; ++j) {\n var delta = valuesInAxis[j] - valuesInAxis[j - 1];\n\n if (delta > 0) {\n // Ignore 0 delta because they are of the same axis value\n min = min === null ? delta : Math.min(min, delta);\n }\n } // Set to null if only have one data\n\n\n axisMinGaps[key] = min;\n }\n }\n }\n\n return axisMinGaps;\n}\n\nfunction makeColumnLayout(barSeries) {\n var axisMinGaps = getValueAxesMinGaps(barSeries);\n var seriesInfoList = [];\n zrUtil.each(barSeries, function (seriesModel) {\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var axisExtent = baseAxis.getExtent();\n var bandWidth;\n\n if (baseAxis.type === 'category') {\n bandWidth = baseAxis.getBandWidth();\n } else if (baseAxis.type === 'value' || baseAxis.type === 'time') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n var minGap = axisMinGaps[key];\n var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);\n var scale = baseAxis.scale.getExtent();\n var scaleSpan = Math.abs(scale[1] - scale[0]);\n bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan; // When there is only one data value\n } else {\n var data = seriesModel.getData();\n bandWidth = Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\n }\n\n var barWidth = parsePercent(seriesModel.get('barWidth'), bandWidth);\n var barMaxWidth = parsePercent(seriesModel.get('barMaxWidth'), bandWidth);\n var barMinWidth = parsePercent( // barMinWidth by default is 1 in cartesian. Because in value axis,\n // the auto-calculated bar width might be less than 1.\n seriesModel.get('barMinWidth') || 1, bandWidth);\n var barGap = seriesModel.get('barGap');\n var barCategoryGap = seriesModel.get('barCategoryGap');\n seriesInfoList.push({\n bandWidth: bandWidth,\n barWidth: barWidth,\n barMaxWidth: barMaxWidth,\n barMinWidth: barMinWidth,\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n axisKey: getAxisKey(baseAxis),\n stackId: getSeriesStackId(seriesModel)\n });\n });\n return doCalBarWidthAndOffset(seriesInfoList);\n}\n\nfunction doCalBarWidthAndOffset(seriesInfoList) {\n // Columns info on each category axis. Key is cartesian name\n var columnsMap = {};\n zrUtil.each(seriesInfoList, function (seriesInfo, idx) {\n var axisKey = seriesInfo.axisKey;\n var bandWidth = seriesInfo.bandWidth;\n var columnsOnAxis = columnsMap[axisKey] || {\n bandWidth: bandWidth,\n remainedWidth: bandWidth,\n autoWidthCount: 0,\n categoryGap: '20%',\n gap: '30%',\n stacks: {}\n };\n var stacks = columnsOnAxis.stacks;\n columnsMap[axisKey] = columnsOnAxis;\n var stackId = seriesInfo.stackId;\n\n if (!stacks[stackId]) {\n columnsOnAxis.autoWidthCount++;\n }\n\n stacks[stackId] = stacks[stackId] || {\n width: 0,\n maxWidth: 0\n }; // Caution: In a single coordinate system, these barGrid attributes\n // will be shared by series. Consider that they have default values,\n // only the attributes set on the last series will work.\n // Do not change this fact unless there will be a break change.\n\n var barWidth = seriesInfo.barWidth;\n\n if (barWidth && !stacks[stackId].width) {\n // See #6312, do not restrict width.\n stacks[stackId].width = barWidth;\n barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n columnsOnAxis.remainedWidth -= barWidth;\n }\n\n var barMaxWidth = seriesInfo.barMaxWidth;\n barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n var barMinWidth = seriesInfo.barMinWidth;\n barMinWidth && (stacks[stackId].minWidth = barMinWidth);\n var barGap = seriesInfo.barGap;\n barGap != null && (columnsOnAxis.gap = barGap);\n var barCategoryGap = seriesInfo.barCategoryGap;\n barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n });\n var result = {};\n zrUtil.each(columnsMap, function (columnsOnAxis, coordSysName) {\n result[coordSysName] = {};\n var stacks = columnsOnAxis.stacks;\n var bandWidth = columnsOnAxis.bandWidth;\n var categoryGap = parsePercent(columnsOnAxis.categoryGap, bandWidth);\n var barGapPercent = parsePercent(columnsOnAxis.gap, 1);\n var remainedWidth = columnsOnAxis.remainedWidth;\n var autoWidthCount = columnsOnAxis.autoWidthCount;\n var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n zrUtil.each(stacks, function (column) {\n var maxWidth = column.maxWidth;\n var minWidth = column.minWidth;\n\n if (!column.width) {\n var finalWidth = autoWidth;\n\n if (maxWidth && maxWidth < finalWidth) {\n finalWidth = Math.min(maxWidth, remainedWidth);\n } // `minWidth` has higher priority. `minWidth` decide that wheter the\n // bar is able to be visible. So `minWidth` should not be restricted\n // by `maxWidth` or `remainedWidth` (which is from `bandWidth`). In\n // the extreme cases for `value` axis, bars are allowed to overlap\n // with each other if `minWidth` specified.\n\n\n if (minWidth && minWidth > finalWidth) {\n finalWidth = minWidth;\n }\n\n if (finalWidth !== autoWidth) {\n column.width = finalWidth;\n remainedWidth -= finalWidth + barGapPercent * finalWidth;\n autoWidthCount--;\n }\n } else {\n // `barMinWidth/barMaxWidth` has higher priority than `barWidth`, as\n // CSS does. Becuase barWidth can be a percent value, where\n // `barMaxWidth` can be used to restrict the final width.\n var finalWidth = column.width;\n\n if (maxWidth) {\n finalWidth = Math.min(finalWidth, maxWidth);\n } // `minWidth` has higher priority, as described above\n\n\n if (minWidth) {\n finalWidth = Math.max(finalWidth, minWidth);\n }\n\n column.width = finalWidth;\n remainedWidth -= finalWidth + barGapPercent * finalWidth;\n autoWidthCount--;\n }\n }); // Recalculate width again\n\n autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0);\n var widthSum = 0;\n var lastColumn;\n zrUtil.each(stacks, function (column, idx) {\n if (!column.width) {\n column.width = autoWidth;\n }\n\n lastColumn = column;\n widthSum += column.width * (1 + barGapPercent);\n });\n\n if (lastColumn) {\n widthSum -= lastColumn.width * barGapPercent;\n }\n\n var offset = -widthSum / 2;\n zrUtil.each(stacks, function (column, stackId) {\n result[coordSysName][stackId] = result[coordSysName][stackId] || {\n bandWidth: bandWidth,\n offset: offset,\n width: column.width\n };\n offset += column.width * (1 + barGapPercent);\n });\n });\n return result;\n}\n/**\n * @param {Object} barWidthAndOffset The result of makeColumnLayout\n * @param {module:echarts/coord/Axis} axis\n * @param {module:echarts/model/Series} [seriesModel] If not provided, return all.\n * @return {Object} {stackId: {offset, width}} or {offset, width} if seriesModel provided.\n */\n\n\nfunction retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {\n if (barWidthAndOffset && axis) {\n var result = barWidthAndOffset[getAxisKey(axis)];\n\n if (result != null && seriesModel != null) {\n result = result[getSeriesStackId(seriesModel)];\n }\n\n return result;\n }\n}\n/**\n * @param {string} seriesType\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction layout(seriesType, ecModel) {\n var seriesModels = prepareLayoutBarSeries(seriesType, ecModel);\n var barWidthAndOffset = makeColumnLayout(seriesModels);\n var lastStackCoords = {};\n var lastStackCoordsOrigin = {};\n zrUtil.each(seriesModels, function (seriesModel) {\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var stackId = getSeriesStackId(seriesModel);\n var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];\n var columnOffset = columnLayoutInfo.offset;\n var columnWidth = columnLayoutInfo.width;\n var valueAxis = cartesian.getOtherAxis(baseAxis);\n var barMinHeight = seriesModel.get('barMinHeight') || 0;\n lastStackCoords[stackId] = lastStackCoords[stackId] || [];\n lastStackCoordsOrigin[stackId] = lastStackCoordsOrigin[stackId] || []; // Fix #4243\n\n data.setLayout({\n bandWidth: columnLayoutInfo.bandWidth,\n offset: columnOffset,\n size: columnWidth\n });\n var valueDim = data.mapDimension(valueAxis.dim);\n var baseDim = data.mapDimension(baseAxis.dim);\n var stacked = isDimensionStacked(data, valueDim\n /*, baseDim*/\n );\n var isValueAxisH = valueAxis.isHorizontal();\n var valueAxisStart = getValueAxisStart(baseAxis, valueAxis, stacked);\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n var value = data.get(valueDim, idx);\n var baseValue = data.get(baseDim, idx);\n var sign = value >= 0 ? 'p' : 'n';\n var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in\n // stackResultDimension directly.\n\n if (stacked) {\n // Only ordinal axis can be stacked.\n if (!lastStackCoords[stackId][baseValue]) {\n lastStackCoords[stackId][baseValue] = {\n p: valueAxisStart,\n // Positive stack\n n: valueAxisStart // Negative stack\n\n };\n } // Should also consider #4243\n\n\n baseCoord = lastStackCoords[stackId][baseValue][sign];\n }\n\n var x;\n var y;\n var width;\n var height;\n\n if (isValueAxisH) {\n var coord = cartesian.dataToPoint([value, baseValue]);\n x = baseCoord;\n y = coord[1] + columnOffset;\n width = coord[0] - valueAxisStart;\n height = columnWidth;\n\n if (Math.abs(width) < barMinHeight) {\n width = (width < 0 ? -1 : 1) * barMinHeight;\n } // Ignore stack from NaN value\n\n\n if (!isNaN(width)) {\n stacked && (lastStackCoords[stackId][baseValue][sign] += width);\n }\n } else {\n var coord = cartesian.dataToPoint([baseValue, value]);\n x = coord[0] + columnOffset;\n y = baseCoord;\n width = columnWidth;\n height = coord[1] - valueAxisStart;\n\n if (Math.abs(height) < barMinHeight) {\n // Include zero to has a positive bar\n height = (height <= 0 ? -1 : 1) * barMinHeight;\n } // Ignore stack from NaN value\n\n\n if (!isNaN(height)) {\n stacked && (lastStackCoords[stackId][baseValue][sign] += height);\n }\n }\n\n data.setItemLayout(idx, {\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, this);\n} // TODO: Do not support stack in large mode yet.\n\n\nvar largeLayout = {\n seriesType: 'bar',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n if (!isOnCartesian(seriesModel) || !isInLargeMode(seriesModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var coordLayout = cartesian.grid.getRect();\n var baseAxis = cartesian.getBaseAxis();\n var valueAxis = cartesian.getOtherAxis(baseAxis);\n var valueDim = data.mapDimension(valueAxis.dim);\n var baseDim = data.mapDimension(baseAxis.dim);\n var valueAxisHorizontal = valueAxis.isHorizontal();\n var valueDimIdx = valueAxisHorizontal ? 0 : 1;\n var barWidth = retrieveColumnLayout(makeColumnLayout([seriesModel]), baseAxis, seriesModel).width;\n\n if (!(barWidth > LARGE_BAR_MIN_WIDTH)) {\n // jshint ignore:line\n barWidth = LARGE_BAR_MIN_WIDTH;\n }\n\n return {\n progress: progress\n };\n\n function progress(params, data) {\n var count = params.count;\n var largePoints = new LargeArr(count * 2);\n var largeBackgroundPoints = new LargeArr(count * 2);\n var largeDataIndices = new LargeArr(count);\n var dataIndex;\n var coord = [];\n var valuePair = [];\n var pointsOffset = 0;\n var idxOffset = 0;\n\n while ((dataIndex = params.next()) != null) {\n valuePair[valueDimIdx] = data.get(valueDim, dataIndex);\n valuePair[1 - valueDimIdx] = data.get(baseDim, dataIndex);\n coord = cartesian.dataToPoint(valuePair, null, coord); // Data index might not be in order, depends on `progressiveChunkMode`.\n\n largeBackgroundPoints[pointsOffset] = valueAxisHorizontal ? coordLayout.x + coordLayout.width : coord[0];\n largePoints[pointsOffset++] = coord[0];\n largeBackgroundPoints[pointsOffset] = valueAxisHorizontal ? coord[1] : coordLayout.y + coordLayout.height;\n largePoints[pointsOffset++] = coord[1];\n largeDataIndices[idxOffset++] = dataIndex;\n }\n\n data.setLayout({\n largePoints: largePoints,\n largeDataIndices: largeDataIndices,\n largeBackgroundPoints: largeBackgroundPoints,\n barWidth: barWidth,\n valueAxisStart: getValueAxisStart(baseAxis, valueAxis, false),\n backgroundStart: valueAxisHorizontal ? coordLayout.x : coordLayout.y,\n valueAxisHorizontal: valueAxisHorizontal\n });\n }\n }\n};\n\nfunction isOnCartesian(seriesModel) {\n return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'cartesian2d';\n}\n\nfunction isInLargeMode(seriesModel) {\n return seriesModel.pipelineContext && seriesModel.pipelineContext.large;\n} // See cases in `test/bar-start.html` and `#7412`, `#8747`.\n\n\nfunction getValueAxisStart(baseAxis, valueAxis, stacked) {\n return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0));\n}\n\nexports.getLayoutOnAxis = getLayoutOnAxis;\nexports.prepareLayoutBarSeries = prepareLayoutBarSeries;\nexports.makeColumnLayout = makeColumnLayout;\nexports.retrieveColumnLayout = retrieveColumnLayout;\nexports.layout = layout;\nexports.largeLayout = largeLayout;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = function (Vue) {\n\n /**\n * template\n *\n * @param {String} string\n * @param {Array} ...args\n * @return {String}\n */\n\n function template(string) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (args.length === 1 && _typeof(args[0]) === 'object') {\n args = args[0];\n }\n\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n\n return string.replace(RE_NARGS, function (match, prefix, i, index) {\n var result = void 0;\n\n if (string[index - 1] === '{' && string[index + match.length] === '}') {\n return i;\n } else {\n result = (0, _util.hasOwn)(args, i) ? args[i] : null;\n if (result === null || result === undefined) {\n return '';\n }\n\n return result;\n }\n });\n }\n\n return template;\n};\n\nvar _util = require('element-ui/lib/utils/util');\n\nvar RE_NARGS = /(%|)\\{([0-9a-zA-Z_]+)\\}/g;\n/**\n * String format template\n * - Inspired:\n * https://github.com/Matt-Esch/string-template/index.js\n */","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.changeDefaultConfig = changeDefaultConfig;\nObject.defineProperty(exports, \"colorConfig\", {\n enumerable: true,\n get: function get() {\n return _color.colorConfig;\n }\n});\nObject.defineProperty(exports, \"gridConfig\", {\n enumerable: true,\n get: function get() {\n return _grid.gridConfig;\n }\n});\nObject.defineProperty(exports, \"xAxisConfig\", {\n enumerable: true,\n get: function get() {\n return _axis.xAxisConfig;\n }\n});\nObject.defineProperty(exports, \"yAxisConfig\", {\n enumerable: true,\n get: function get() {\n return _axis.yAxisConfig;\n }\n});\nObject.defineProperty(exports, \"titleConfig\", {\n enumerable: true,\n get: function get() {\n return _title.titleConfig;\n }\n});\nObject.defineProperty(exports, \"lineConfig\", {\n enumerable: true,\n get: function get() {\n return _line.lineConfig;\n }\n});\nObject.defineProperty(exports, \"barConfig\", {\n enumerable: true,\n get: function get() {\n return _bar.barConfig;\n }\n});\nObject.defineProperty(exports, \"pieConfig\", {\n enumerable: true,\n get: function get() {\n return _pie.pieConfig;\n }\n});\nObject.defineProperty(exports, \"radarAxisConfig\", {\n enumerable: true,\n get: function get() {\n return _radarAxis.radarAxisConfig;\n }\n});\nObject.defineProperty(exports, \"radarConfig\", {\n enumerable: true,\n get: function get() {\n return _radar.radarConfig;\n }\n});\nObject.defineProperty(exports, \"gaugeConfig\", {\n enumerable: true,\n get: function get() {\n return _gauge.gaugeConfig;\n }\n});\nObject.defineProperty(exports, \"legendConfig\", {\n enumerable: true,\n get: function get() {\n return _legend.legendConfig;\n }\n});\nexports.keys = void 0;\n\nvar _color = require(\"./color\");\n\nvar _grid = require(\"./grid\");\n\nvar _axis = require(\"./axis\");\n\nvar _title = require(\"./title\");\n\nvar _line = require(\"./line\");\n\nvar _bar = require(\"./bar\");\n\nvar _pie = require(\"./pie\");\n\nvar _radarAxis = require(\"./radarAxis\");\n\nvar _radar = require(\"./radar\");\n\nvar _gauge = require(\"./gauge\");\n\nvar _legend = require(\"./legend\");\n\nvar _util = require(\"../util\");\n\nvar allConfig = {\n colorConfig: _color.colorConfig,\n gridConfig: _grid.gridConfig,\n xAxisConfig: _axis.xAxisConfig,\n yAxisConfig: _axis.yAxisConfig,\n titleConfig: _title.titleConfig,\n lineConfig: _line.lineConfig,\n barConfig: _bar.barConfig,\n pieConfig: _pie.pieConfig,\n radarAxisConfig: _radarAxis.radarAxisConfig,\n radarConfig: _radar.radarConfig,\n gaugeConfig: _gauge.gaugeConfig,\n legendConfig: _legend.legendConfig\n};\n/**\n * @description Change default configuration\n * @param {String} key Configuration key\n * @param {Object|Array} config Your config\n * @return {Undefined} No return\n */\n\nfunction changeDefaultConfig(key, config) {\n if (!allConfig[\"\".concat(key, \"Config\")]) {\n console.warn('Change default config Error - Invalid key!');\n return;\n }\n\n (0, _util.deepMerge)(allConfig[\"\".concat(key, \"Config\")], config);\n}\n\nvar keys = ['color', 'title', 'legend', 'xAxis', 'yAxis', 'grid', 'radarAxis', 'line', 'bar', 'pie', 'radar', 'gauge'];\nexports.keys = keys;","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var textHelper = require(\"../helper/text\");\n\nvar BoundingRect = require(\"../../core/BoundingRect\");\n\nvar _constant = require(\"../constant\");\n\nvar WILL_BE_RESTORED = _constant.WILL_BE_RESTORED;\n\n/**\n * Mixin for drawing text in a element bounding rect\n * @module zrender/mixin/RectText\n */\nvar tmpRect = new BoundingRect();\n\nvar RectText = function () {};\n\nRectText.prototype = {\n constructor: RectText,\n\n /**\n * Draw text in a rect with specified position.\n * @param {CanvasRenderingContext2D} ctx\n * @param {Object} rect Displayable rect\n */\n drawRectText: function (ctx, rect) {\n var style = this.style;\n rect = style.textRect || rect; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n text != null && (text += '');\n\n if (!textHelper.needDrawText(text, style)) {\n return;\n } // FIXME\n // Do not provide prevEl to `textHelper.renderText` for ctx prop cache,\n // but use `ctx.save()` and `ctx.restore()`. Because the cache for rect\n // text propably break the cache for its host elements.\n\n\n ctx.save(); // Transform rect to view space\n\n var transform = this.transform;\n\n if (!style.transformText) {\n if (transform) {\n tmpRect.copy(rect);\n tmpRect.applyTransform(transform);\n rect = tmpRect;\n }\n } else {\n this.setTransform(ctx);\n } // transformText and textRotation can not be used at the same time.\n\n\n textHelper.renderText(this, ctx, text, style, rect, WILL_BE_RESTORED);\n ctx.restore();\n }\n};\nvar _default = RectText;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar axisDefault = require(\"./axisDefault\");\n\nvar ComponentModel = require(\"../model/Component\");\n\nvar _layout = require(\"../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\nvar OrdinalMeta = require(\"../data/OrdinalMeta\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME axisType is fixed ?\nvar AXIS_TYPES = ['value', 'category', 'time', 'log'];\n/**\n * Generate sub axis model class\n * @param {string} axisName 'x' 'y' 'radius' 'angle' 'parallel'\n * @param {module:echarts/model/Component} BaseAxisModelClass\n * @param {Function} axisTypeDefaulter\n * @param {Object} [extraDefaultOption]\n */\n\nfunction _default(axisName, BaseAxisModelClass, axisTypeDefaulter, extraDefaultOption) {\n zrUtil.each(AXIS_TYPES, function (axisType) {\n BaseAxisModelClass.extend({\n /**\n * @readOnly\n */\n type: axisName + 'Axis.' + axisType,\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n zrUtil.merge(option, themeModel.get(axisType + 'Axis'));\n zrUtil.merge(option, this.getDefaultOption());\n option.type = axisTypeDefaulter(axisName, option);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n\n /**\n * @override\n */\n optionUpdated: function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);\n }\n },\n\n /**\n * Should not be called before all of 'getInitailData' finished.\n * Because categories are collected during initializing data.\n */\n getCategories: function (rawData) {\n var option = this.option; // FIXME\n // warning if called before all of 'getInitailData' finished.\n\n if (option.type === 'category') {\n if (rawData) {\n return option.data;\n }\n\n return this.__ordinalMeta.categories;\n }\n },\n getOrdinalMeta: function () {\n return this.__ordinalMeta;\n },\n defaultOption: zrUtil.mergeAll([{}, axisDefault[axisType + 'Axis'], extraDefaultOption], true)\n });\n });\n ComponentModel.registerSubTypeDefaulter(axisName + 'Axis', zrUtil.curry(axisTypeDefaulter, axisName));\n}\n\nmodule.exports = _default;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar helper = require(\"./helper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerAction('dataZoom', function (payload, ecModel) {\n var linkedNodesFinder = helper.createLinkedNodesFinder(zrUtil.bind(ecModel.eachComponent, ecModel, 'dataZoom'), helper.eachAxisDim, function (model, dimNames) {\n return model.get(dimNames.axisIndex);\n });\n var effectedModels = [];\n ecModel.eachComponent({\n mainType: 'dataZoom',\n query: payload\n }, function (model, index) {\n effectedModels.push.apply(effectedModels, linkedNodesFinder(model).nodes);\n });\n zrUtil.each(effectedModels, function (dataZoomModel, index) {\n dataZoomModel.setRawRange({\n start: payload.start,\n end: payload.end,\n startValue: payload.startValue,\n endValue: payload.endValue\n });\n });\n});","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","var _util = require(\"./util\");\n\nvar normalizeRadian = _util.normalizeRadian;\nvar PI2 = Math.PI * 2;\n/**\n * 圆弧描边包含判断\n * @param {number} cx\n * @param {number} cy\n * @param {number} r\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean} anticlockwise\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {Boolean}\n */\n\nfunction containStroke(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth;\n x -= cx;\n y -= cy;\n var d = Math.sqrt(x * x + y * y);\n\n if (d - _l > r || d + _l < r) {\n return false;\n }\n\n if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {\n // Is a circle\n return true;\n }\n\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n } else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n\n var angle = Math.atan2(y, x);\n\n if (angle < 0) {\n angle += PI2;\n }\n\n return angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle;\n}\n\nexports.containStroke = containStroke;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar map = _util.map;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} coordSys\n * @param {module:echarts/data/List} data\n * @param {string} valueOrigin lineSeries.option.areaStyle.origin\n */\nfunction prepareDataCoordInfo(coordSys, data, valueOrigin) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var valueStart = getValueStart(valueAxis, valueOrigin);\n var baseAxisDim = baseAxis.dim;\n var valueAxisDim = valueAxis.dim;\n var valueDim = data.mapDimension(valueAxisDim);\n var baseDim = data.mapDimension(baseAxisDim);\n var baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;\n var dims = map(coordSys.dimensions, function (coordDim) {\n return data.mapDimension(coordDim);\n });\n var stacked;\n var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n if (stacked |= isDimensionStacked(data, dims[0]\n /*, dims[1]*/\n )) {\n // jshint ignore:line\n dims[0] = stackResultDim;\n }\n\n if (stacked |= isDimensionStacked(data, dims[1]\n /*, dims[0]*/\n )) {\n // jshint ignore:line\n dims[1] = stackResultDim;\n }\n\n return {\n dataDimsForPoint: dims,\n valueStart: valueStart,\n valueAxisDim: valueAxisDim,\n baseAxisDim: baseAxisDim,\n stacked: !!stacked,\n valueDim: valueDim,\n baseDim: baseDim,\n baseDataOffset: baseDataOffset,\n stackedOverDimension: data.getCalculationInfo('stackedOverDimension')\n };\n}\n\nfunction getValueStart(valueAxis, valueOrigin) {\n var valueStart = 0;\n var extent = valueAxis.scale.getExtent();\n\n if (valueOrigin === 'start') {\n valueStart = extent[0];\n } else if (valueOrigin === 'end') {\n valueStart = extent[1];\n } // auto\n else {\n // Both positive\n if (extent[0] > 0) {\n valueStart = extent[0];\n } // Both negative\n else if (extent[1] < 0) {\n valueStart = extent[1];\n } // If is one positive, and one negative, onZero shall be true\n\n }\n\n return valueStart;\n}\n\nfunction getStackedOnPoint(dataCoordInfo, coordSys, data, idx) {\n var value = NaN;\n\n if (dataCoordInfo.stacked) {\n value = data.get(data.getCalculationInfo('stackedOverDimension'), idx);\n }\n\n if (isNaN(value)) {\n value = dataCoordInfo.valueStart;\n }\n\n var baseDataOffset = dataCoordInfo.baseDataOffset;\n var stackedData = [];\n stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);\n stackedData[1 - baseDataOffset] = value;\n return coordSys.dataToPoint(stackedData);\n}\n\nexports.prepareDataCoordInfo = prepareDataCoordInfo;\nexports.getStackedOnPoint = getStackedOnPoint;","var Definable = require(\"./Definable\");\n\nvar zrUtil = require(\"../../core/util\");\n\nvar matrix = require(\"../../core/matrix\");\n\n/**\n * @file Manages SVG clipPath elements.\n * @author Zhang Wenli\n */\n\n/**\n * Manages SVG clipPath elements.\n *\n * @class\n * @extends Definable\n * @param {number} zrId zrender instance id\n * @param {SVGElement} svgRoot root of SVG document\n */\nfunction ClippathManager(zrId, svgRoot) {\n Definable.call(this, zrId, svgRoot, 'clipPath', '__clippath_in_use__');\n}\n\nzrUtil.inherits(ClippathManager, Definable);\n/**\n * Update clipPath.\n *\n * @param {Displayable} displayable displayable element\n */\n\nClippathManager.prototype.update = function (displayable) {\n var svgEl = this.getSvgElement(displayable);\n\n if (svgEl) {\n this.updateDom(svgEl, displayable.__clipPaths, false);\n }\n\n var textEl = this.getTextSvgElement(displayable);\n\n if (textEl) {\n // Make another clipPath for text, since it's transform\n // matrix is not the same with svgElement\n this.updateDom(textEl, displayable.__clipPaths, true);\n }\n\n this.markUsed(displayable);\n};\n/**\n * Create an SVGElement of displayable and create a of its\n * clipPath\n *\n * @param {Displayable} parentEl parent element\n * @param {ClipPath[]} clipPaths clipPaths of parent element\n * @param {boolean} isText if parent element is Text\n */\n\n\nClippathManager.prototype.updateDom = function (parentEl, clipPaths, isText) {\n if (clipPaths && clipPaths.length > 0) {\n // Has clipPath, create with the first clipPath\n var defs = this.getDefs(true);\n var clipPath = clipPaths[0];\n var clipPathEl;\n var id;\n var dom = isText ? '_textDom' : '_dom';\n\n if (clipPath[dom]) {\n // Use a dom that is already in \n id = clipPath[dom].getAttribute('id');\n clipPathEl = clipPath[dom]; // Use a dom that is already in \n\n if (!defs.contains(clipPathEl)) {\n // This happens when set old clipPath that has\n // been previously removed\n defs.appendChild(clipPathEl);\n }\n } else {\n // New \n id = 'zr' + this._zrId + '-clip-' + this.nextId;\n ++this.nextId;\n clipPathEl = this.createElement('clipPath');\n clipPathEl.setAttribute('id', id);\n defs.appendChild(clipPathEl);\n clipPath[dom] = clipPathEl;\n } // Build path and add to \n\n\n var svgProxy = this.getSvgProxy(clipPath);\n\n if (clipPath.transform && clipPath.parent.invTransform && !isText) {\n /**\n * If a clipPath has a parent with transform, the transform\n * of parent should not be considered when setting transform\n * of clipPath. So we need to transform back from parent's\n * transform, which is done by multiplying parent's inverse\n * transform.\n */\n // Store old transform\n var transform = Array.prototype.slice.call(clipPath.transform); // Transform back from parent, and brush path\n\n matrix.mul(clipPath.transform, clipPath.parent.invTransform, clipPath.transform);\n svgProxy.brush(clipPath); // Set back transform of clipPath\n\n clipPath.transform = transform;\n } else {\n svgProxy.brush(clipPath);\n }\n\n var pathEl = this.getSvgElement(clipPath);\n clipPathEl.innerHTML = '';\n /**\n * Use `cloneNode()` here to appendChild to multiple parents,\n * which may happend when Text and other shapes are using the same\n * clipPath. Since Text will create an extra clipPath DOM due to\n * different transform rules.\n */\n\n clipPathEl.appendChild(pathEl.cloneNode());\n parentEl.setAttribute('clip-path', 'url(#' + id + ')');\n\n if (clipPaths.length > 1) {\n // Make the other clipPaths recursively\n this.updateDom(clipPathEl, clipPaths.slice(1), isText);\n }\n } else {\n // No clipPath\n if (parentEl) {\n parentEl.setAttribute('clip-path', 'none');\n }\n }\n};\n/**\n * Mark a single clipPath to be used\n *\n * @param {Displayable} displayable displayable element\n */\n\n\nClippathManager.prototype.markUsed = function (displayable) {\n var that = this; // displayable.__clipPaths can only be `null`/`undefined` or an non-empty array.\n\n if (displayable.__clipPaths) {\n zrUtil.each(displayable.__clipPaths, function (clipPath) {\n if (clipPath._dom) {\n Definable.prototype.markUsed.call(that, clipPath._dom);\n }\n\n if (clipPath._textDom) {\n Definable.prototype.markUsed.call(that, clipPath._textDom);\n }\n });\n }\n};\n\nvar _default = ClippathManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar RadarSeries = SeriesModel.extend({\n type: 'series.radar',\n dependencies: ['radar'],\n // Overwrite\n init: function (option) {\n RadarSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n generateCoord: 'indicator_',\n generateCoordCount: Infinity\n });\n },\n formatTooltip: function (dataIndex, multipleSeries, dataType, renderMode) {\n var data = this.getData();\n var coordSys = this.coordinateSystem;\n var indicatorAxes = coordSys.getIndicatorAxes();\n var name = this.getData().getName(dataIndex);\n var newLine = renderMode === 'html' ? '
' : '\\n';\n return encodeHTML(name === '' ? this.name : name) + newLine + zrUtil.map(indicatorAxes, function (axis, idx) {\n var val = data.get(data.mapDimension(axis.dim), dataIndex);\n return encodeHTML(axis.name + ' : ' + val);\n }).join(newLine);\n },\n\n /**\n * @implement\n */\n getTooltipPosition: function (dataIndex) {\n if (dataIndex != null) {\n var data = this.getData();\n var coordSys = this.coordinateSystem;\n var values = data.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }), dataIndex, true);\n\n for (var i = 0, len = values.length; i < len; i++) {\n if (!isNaN(values[i])) {\n var indicatorAxes = coordSys.getIndicatorAxes();\n return coordSys.coordToPoint(indicatorAxes[i].dataToCoord(values[i]), i);\n }\n }\n }\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'radar',\n legendHoverLink: true,\n radarIndex: 0,\n lineStyle: {\n width: 2,\n type: 'solid'\n },\n label: {\n position: 'top'\n },\n // areaStyle: {\n // },\n // itemStyle: {}\n symbol: 'emptyCircle',\n symbolSize: 4 // symbolRotate: null\n\n }\n});\nvar _default = RadarSeries;\nmodule.exports = _default;","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Component = require(\"../../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nComponent.registerSubTypeDefaulter('timeline', function () {\n // Only slider now.\n return 'slider';\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.radarAxis = radarAxis;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _updater = require(\"../class/updater.class\");\n\nvar _index = require(\"../config/index\");\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nvar _util2 = require(\"../util\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction radarAxis(chart) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var radar = option.radar;\n var radarAxis = [];\n\n if (radar) {\n radarAxis = mergeRadarAxisDefaultConfig(radar);\n radarAxis = calcRadarAxisCenter(radarAxis, chart);\n radarAxis = calcRadarAxisRingRadius(radarAxis, chart);\n radarAxis = calcRadarAxisLinePosition(radarAxis);\n radarAxis = calcRadarAxisAreaRadius(radarAxis);\n radarAxis = calcRadarAxisLabelPosition(radarAxis);\n radarAxis = [radarAxis];\n }\n\n var radarAxisForUpdate = radarAxis;\n if (radarAxis.length && !radarAxis[0].show) radarAxisForUpdate = [];\n (0, _updater.doUpdate)({\n chart: chart,\n series: radarAxisForUpdate,\n key: 'radarAxisSplitArea',\n getGraphConfig: getSplitAreaConfig,\n beforeUpdate: beforeUpdateSplitArea,\n beforeChange: beforeChangeSplitArea\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: radarAxisForUpdate,\n key: 'radarAxisSplitLine',\n getGraphConfig: getSplitLineConfig,\n beforeUpdate: beforeUpdateSplitLine,\n beforeChange: beforeChangeSplitLine\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: radarAxisForUpdate,\n key: 'radarAxisLine',\n getGraphConfig: getAxisLineConfig\n });\n (0, _updater.doUpdate)({\n chart: chart,\n series: radarAxisForUpdate,\n key: 'radarAxisLable',\n getGraphConfig: getAxisLabelConfig\n });\n chart.radarAxis = radarAxis[0];\n}\n\nfunction mergeRadarAxisDefaultConfig(radar) {\n return (0, _util2.deepMerge)((0, _util.deepClone)(_index.radarAxisConfig), radar);\n}\n\nfunction calcRadarAxisCenter(radarAxis, chart) {\n var area = chart.render.area;\n var center = radarAxis.center;\n radarAxis.centerPos = center.map(function (v, i) {\n if (typeof v === 'number') return v;\n return parseInt(v) / 100 * area[i];\n });\n return radarAxis;\n}\n\nfunction calcRadarAxisRingRadius(radarAxis, chart) {\n var area = chart.render.area;\n var splitNum = radarAxis.splitNum,\n radius = radarAxis.radius;\n var maxRadius = Math.min.apply(Math, (0, _toConsumableArray2[\"default\"])(area)) / 2;\n if (typeof radius !== 'number') radius = parseInt(radius) / 100 * maxRadius;\n var splitGap = radius / splitNum;\n radarAxis.ringRadius = new Array(splitNum).fill(0).map(function (foo, i) {\n return splitGap * (i + 1);\n });\n radarAxis.radius = radius;\n return radarAxis;\n}\n\nfunction calcRadarAxisLinePosition(radarAxis) {\n var indicator = radarAxis.indicator,\n centerPos = radarAxis.centerPos,\n radius = radarAxis.radius,\n startAngle = radarAxis.startAngle;\n var fullAngle = Math.PI * 2;\n var indicatorNum = indicator.length;\n var indicatorGap = fullAngle / indicatorNum;\n var angles = new Array(indicatorNum).fill(0).map(function (foo, i) {\n return indicatorGap * i + startAngle;\n });\n radarAxis.axisLineAngles = angles;\n radarAxis.axisLinePosition = angles.map(function (g) {\n return _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(centerPos).concat([radius, g]));\n });\n return radarAxis;\n}\n\nfunction calcRadarAxisAreaRadius(radarAxis) {\n var ringRadius = radarAxis.ringRadius;\n var subRadius = ringRadius[0] / 2;\n radarAxis.areaRadius = ringRadius.map(function (r) {\n return r - subRadius;\n });\n return radarAxis;\n}\n\nfunction calcRadarAxisLabelPosition(radarAxis) {\n var axisLineAngles = radarAxis.axisLineAngles,\n centerPos = radarAxis.centerPos,\n radius = radarAxis.radius,\n axisLabel = radarAxis.axisLabel;\n radius += axisLabel.labelGap;\n radarAxis.axisLabelPosition = axisLineAngles.map(function (angle) {\n return _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(centerPos).concat([radius, angle]));\n });\n return radarAxis;\n}\n\nfunction getSplitAreaConfig(radarAxis) {\n var areaRadius = radarAxis.areaRadius,\n polygon = radarAxis.polygon,\n animationCurve = radarAxis.animationCurve,\n animationFrame = radarAxis.animationFrame,\n rLevel = radarAxis.rLevel;\n var name = polygon ? 'regPolygon' : 'ring';\n return areaRadius.map(function (foo, i) {\n return {\n name: name,\n index: rLevel,\n visible: radarAxis.splitArea.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getSplitAreaShape(radarAxis, i),\n style: getSplitAreaStyle(radarAxis, i)\n };\n });\n}\n\nfunction getSplitAreaShape(radarAxis, i) {\n var polygon = radarAxis.polygon,\n areaRadius = radarAxis.areaRadius,\n indicator = radarAxis.indicator,\n centerPos = radarAxis.centerPos;\n var indicatorNum = indicator.length;\n var shape = {\n rx: centerPos[0],\n ry: centerPos[1],\n r: areaRadius[i]\n };\n if (polygon) shape.side = indicatorNum;\n return shape;\n}\n\nfunction getSplitAreaStyle(radarAxis, i) {\n var splitArea = radarAxis.splitArea,\n ringRadius = radarAxis.ringRadius,\n axisLineAngles = radarAxis.axisLineAngles,\n polygon = radarAxis.polygon,\n centerPos = radarAxis.centerPos;\n var color = splitArea.color,\n style = splitArea.style;\n style = _objectSpread({\n fill: 'rgba(0, 0, 0, 0)'\n }, style);\n var lineWidth = ringRadius[0] - 0;\n\n if (polygon) {\n var point1 = _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(centerPos).concat([ringRadius[0], axisLineAngles[0]]));\n\n var point2 = _util.getCircleRadianPoint.apply(void 0, (0, _toConsumableArray2[\"default\"])(centerPos).concat([ringRadius[0], axisLineAngles[1]]));\n\n lineWidth = (0, _util2.getPointToLineDistance)(centerPos, point1, point2);\n }\n\n style = (0, _util2.deepMerge)((0, _util.deepClone)(style, true), {\n lineWidth: lineWidth\n });\n if (!color.length) return style;\n var colorNum = color.length;\n return (0, _util2.deepMerge)(style, {\n stroke: color[i % colorNum]\n });\n}\n\nfunction beforeUpdateSplitArea(graphs, radarAxis, i, updater) {\n var cache = graphs[i];\n if (!cache) return;\n var render = updater.chart.render;\n var polygon = radarAxis.polygon;\n var name = cache[0].name;\n var currentName = polygon ? 'regPolygon' : 'ring';\n var delAll = currentName !== name;\n if (!delAll) return;\n cache.forEach(function (g) {\n return render.delGraph(g);\n });\n graphs[i] = null;\n}\n\nfunction beforeChangeSplitArea(graph, config) {\n var side = config.shape.side;\n if (typeof side !== 'number') return;\n graph.shape.side = side;\n}\n\nfunction getSplitLineConfig(radarAxis) {\n var ringRadius = radarAxis.ringRadius,\n polygon = radarAxis.polygon,\n animationCurve = radarAxis.animationCurve,\n animationFrame = radarAxis.animationFrame,\n rLevel = radarAxis.rLevel;\n var name = polygon ? 'regPolygon' : 'ring';\n return ringRadius.map(function (foo, i) {\n return {\n name: name,\n index: rLevel,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n visible: radarAxis.splitLine.show,\n shape: getSplitLineShape(radarAxis, i),\n style: getSplitLineStyle(radarAxis, i)\n };\n });\n}\n\nfunction getSplitLineShape(radarAxis, i) {\n var ringRadius = radarAxis.ringRadius,\n centerPos = radarAxis.centerPos,\n indicator = radarAxis.indicator,\n polygon = radarAxis.polygon;\n var shape = {\n rx: centerPos[0],\n ry: centerPos[1],\n r: ringRadius[i]\n };\n var indicatorNum = indicator.length;\n if (polygon) shape.side = indicatorNum;\n return shape;\n}\n\nfunction getSplitLineStyle(radarAxis, i) {\n var splitLine = radarAxis.splitLine;\n var color = splitLine.color,\n style = splitLine.style;\n style = _objectSpread({\n fill: 'rgba(0, 0, 0, 0)'\n }, style);\n if (!color.length) return style;\n var colorNum = color.length;\n return (0, _util2.deepMerge)(style, {\n stroke: color[i % colorNum]\n });\n}\n\nfunction beforeUpdateSplitLine(graphs, radarAxis, i, updater) {\n var cache = graphs[i];\n if (!cache) return;\n var render = updater.chart.render;\n var polygon = radarAxis.polygon;\n var name = cache[0].name;\n var currenName = polygon ? 'regPolygon' : 'ring';\n var delAll = currenName !== name;\n if (!delAll) return;\n cache.forEach(function (g) {\n return render.delGraph(g);\n });\n graphs[i] = null;\n}\n\nfunction beforeChangeSplitLine(graph, config) {\n var side = config.shape.side;\n if (typeof side !== 'number') return;\n graph.shape.side = side;\n}\n\nfunction getAxisLineConfig(radarAxis) {\n var axisLinePosition = radarAxis.axisLinePosition,\n animationCurve = radarAxis.animationCurve,\n animationFrame = radarAxis.animationFrame,\n rLevel = radarAxis.rLevel;\n return axisLinePosition.map(function (foo, i) {\n return {\n name: 'polyline',\n index: rLevel,\n visible: radarAxis.axisLine.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getAxisLineShape(radarAxis, i),\n style: getAxisLineStyle(radarAxis, i)\n };\n });\n}\n\nfunction getAxisLineShape(radarAxis, i) {\n var centerPos = radarAxis.centerPos,\n axisLinePosition = radarAxis.axisLinePosition;\n var points = [centerPos, axisLinePosition[i]];\n return {\n points: points\n };\n}\n\nfunction getAxisLineStyle(radarAxis, i) {\n var axisLine = radarAxis.axisLine;\n var color = axisLine.color,\n style = axisLine.style;\n if (!color.length) return style;\n var colorNum = color.length;\n return (0, _util2.deepMerge)(style, {\n stroke: color[i % colorNum]\n });\n}\n\nfunction getAxisLabelConfig(radarAxis) {\n var axisLabelPosition = radarAxis.axisLabelPosition,\n animationCurve = radarAxis.animationCurve,\n animationFrame = radarAxis.animationFrame,\n rLevel = radarAxis.rLevel;\n return axisLabelPosition.map(function (foo, i) {\n return {\n name: 'text',\n index: rLevel,\n visible: radarAxis.axisLabel.show,\n animationCurve: animationCurve,\n animationFrame: animationFrame,\n shape: getAxisLableShape(radarAxis, i),\n style: getAxisLableStyle(radarAxis, i)\n };\n });\n}\n\nfunction getAxisLableShape(radarAxis, i) {\n var axisLabelPosition = radarAxis.axisLabelPosition,\n indicator = radarAxis.indicator;\n return {\n content: indicator[i].name,\n position: axisLabelPosition[i]\n };\n}\n\nfunction getAxisLableStyle(radarAxis, i) {\n var axisLabel = radarAxis.axisLabel,\n _radarAxis$centerPos = (0, _slicedToArray2[\"default\"])(radarAxis.centerPos, 2),\n x = _radarAxis$centerPos[0],\n y = _radarAxis$centerPos[1],\n axisLabelPosition = radarAxis.axisLabelPosition;\n\n var color = axisLabel.color,\n style = axisLabel.style;\n\n var _axisLabelPosition$i = (0, _slicedToArray2[\"default\"])(axisLabelPosition[i], 2),\n labelXpos = _axisLabelPosition$i[0],\n labelYPos = _axisLabelPosition$i[1];\n\n var textAlign = labelXpos > x ? 'left' : 'right';\n var textBaseline = labelYPos > y ? 'top' : 'bottom';\n style = (0, _util2.deepMerge)({\n textAlign: textAlign,\n textBaseline: textBaseline\n }, style);\n if (!color.length) return style;\n var colorNum = color.length;\n return (0, _util2.deepMerge)(style, {\n fill: color[i % colorNum]\n });\n}","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"./graphic\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _text = require(\"zrender/lib/contain/text\");\n\nvar calculateTextPosition = _text.calculateTextPosition;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Symbol factory\n\n/**\n * Triangle shape\n * @inner\n */\nvar Triangle = graphic.extendShape({\n type: 'triangle',\n shape: {\n cx: 0,\n cy: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var width = shape.width / 2;\n var height = shape.height / 2;\n path.moveTo(cx, cy - height);\n path.lineTo(cx + width, cy + height);\n path.lineTo(cx - width, cy + height);\n path.closePath();\n }\n});\n/**\n * Diamond shape\n * @inner\n */\n\nvar Diamond = graphic.extendShape({\n type: 'diamond',\n shape: {\n cx: 0,\n cy: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var width = shape.width / 2;\n var height = shape.height / 2;\n path.moveTo(cx, cy - height);\n path.lineTo(cx + width, cy);\n path.lineTo(cx, cy + height);\n path.lineTo(cx - width, cy);\n path.closePath();\n }\n});\n/**\n * Pin shape\n * @inner\n */\n\nvar Pin = graphic.extendShape({\n type: 'pin',\n shape: {\n // x, y on the cusp\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var x = shape.x;\n var y = shape.y;\n var w = shape.width / 5 * 3; // Height must be larger than width\n\n var h = Math.max(w, shape.height);\n var r = w / 2; // Dist on y with tangent point and circle center\n\n var dy = r * r / (h - r);\n var cy = y - h + r + dy;\n var angle = Math.asin(dy / r); // Dist on x with tangent point and circle center\n\n var dx = Math.cos(angle) * r;\n var tanX = Math.sin(angle);\n var tanY = Math.cos(angle);\n var cpLen = r * 0.6;\n var cpLen2 = r * 0.7;\n path.moveTo(x - dx, cy + dy);\n path.arc(x, cy, r, Math.PI - angle, Math.PI * 2 + angle);\n path.bezierCurveTo(x + dx - tanX * cpLen, cy + dy + tanY * cpLen, x, y - cpLen2, x, y);\n path.bezierCurveTo(x, y - cpLen2, x - dx + tanX * cpLen, cy + dy + tanY * cpLen, x - dx, cy + dy);\n path.closePath();\n }\n});\n/**\n * Arrow shape\n * @inner\n */\n\nvar Arrow = graphic.extendShape({\n type: 'arrow',\n shape: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (ctx, shape) {\n var height = shape.height;\n var width = shape.width;\n var x = shape.x;\n var y = shape.y;\n var dx = width / 3 * 2;\n ctx.moveTo(x, y);\n ctx.lineTo(x + dx, y + height);\n ctx.lineTo(x, y + height / 4 * 3);\n ctx.lineTo(x - dx, y + height);\n ctx.lineTo(x, y);\n ctx.closePath();\n }\n});\n/**\n * Map of path contructors\n * @type {Object.}\n */\n\nvar symbolCtors = {\n line: graphic.Line,\n rect: graphic.Rect,\n roundRect: graphic.Rect,\n square: graphic.Rect,\n circle: graphic.Circle,\n diamond: Diamond,\n pin: Pin,\n arrow: Arrow,\n triangle: Triangle\n};\nvar symbolShapeMakers = {\n line: function (x, y, w, h, shape) {\n // FIXME\n shape.x1 = x;\n shape.y1 = y + h / 2;\n shape.x2 = x + w;\n shape.y2 = y + h / 2;\n },\n rect: function (x, y, w, h, shape) {\n shape.x = x;\n shape.y = y;\n shape.width = w;\n shape.height = h;\n },\n roundRect: function (x, y, w, h, shape) {\n shape.x = x;\n shape.y = y;\n shape.width = w;\n shape.height = h;\n shape.r = Math.min(w, h) / 4;\n },\n square: function (x, y, w, h, shape) {\n var size = Math.min(w, h);\n shape.x = x;\n shape.y = y;\n shape.width = size;\n shape.height = size;\n },\n circle: function (x, y, w, h, shape) {\n // Put circle in the center of square\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.r = Math.min(w, h) / 2;\n },\n diamond: function (x, y, w, h, shape) {\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n pin: function (x, y, w, h, shape) {\n shape.x = x + w / 2;\n shape.y = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n arrow: function (x, y, w, h, shape) {\n shape.x = x + w / 2;\n shape.y = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n triangle: function (x, y, w, h, shape) {\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.width = w;\n shape.height = h;\n }\n};\nvar symbolBuildProxies = {};\nzrUtil.each(symbolCtors, function (Ctor, name) {\n symbolBuildProxies[name] = new Ctor();\n});\nvar SymbolClz = graphic.extendShape({\n type: 'symbol',\n shape: {\n symbolType: '',\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n calculateTextPosition: function (out, style, rect) {\n var res = calculateTextPosition(out, style, rect);\n var shape = this.shape;\n\n if (shape && shape.symbolType === 'pin' && style.textPosition === 'inside') {\n res.y = rect.y + rect.height * 0.4;\n }\n\n return res;\n },\n buildPath: function (ctx, shape, inBundle) {\n var symbolType = shape.symbolType;\n\n if (symbolType !== 'none') {\n var proxySymbol = symbolBuildProxies[symbolType];\n\n if (!proxySymbol) {\n // Default rect\n symbolType = 'rect';\n proxySymbol = symbolBuildProxies[symbolType];\n }\n\n symbolShapeMakers[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);\n proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);\n }\n }\n}); // Provide setColor helper method to avoid determine if set the fill or stroke outside\n\nfunction symbolPathSetColor(color, innerColor) {\n if (this.type !== 'image') {\n var symbolStyle = this.style;\n var symbolShape = this.shape;\n\n if (symbolShape && symbolShape.symbolType === 'line') {\n symbolStyle.stroke = color;\n } else if (this.__isEmptyBrush) {\n symbolStyle.stroke = color;\n symbolStyle.fill = innerColor || '#fff';\n } else {\n // FIXME 判断图形默认是填充还是描边,使用 onlyStroke ?\n symbolStyle.fill && (symbolStyle.fill = color);\n symbolStyle.stroke && (symbolStyle.stroke = color);\n }\n\n this.dirty(false);\n }\n}\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n * @param {string} symbolType\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {string} color\n * @param {boolean} [keepAspect=false] whether to keep the ratio of w/h,\n * for path and image only.\n */\n\n\nfunction createSymbol(symbolType, x, y, w, h, color, keepAspect) {\n // TODO Support image object, DynamicImage.\n var isEmpty = symbolType.indexOf('empty') === 0;\n\n if (isEmpty) {\n symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);\n }\n\n var symbolPath;\n\n if (symbolType.indexOf('image://') === 0) {\n symbolPath = graphic.makeImage(symbolType.slice(8), new BoundingRect(x, y, w, h), keepAspect ? 'center' : 'cover');\n } else if (symbolType.indexOf('path://') === 0) {\n symbolPath = graphic.makePath(symbolType.slice(7), {}, new BoundingRect(x, y, w, h), keepAspect ? 'center' : 'cover');\n } else {\n symbolPath = new SymbolClz({\n shape: {\n symbolType: symbolType,\n x: x,\n y: y,\n width: w,\n height: h\n }\n });\n }\n\n symbolPath.__isEmptyBrush = isEmpty;\n symbolPath.setColor = symbolPathSetColor;\n symbolPath.setColor(color);\n return symbolPath;\n}\n\nexports.createSymbol = createSymbol;","import _extends from 'babel-runtime/helpers/extends';\nimport _typeof from 'babel-runtime/helpers/typeof';\nvar formatRegExp = /%[sdj%]/g;\n\nexport var warning = function warning() {};\n\n// don't print warning message when in production env or node runtime\nif (process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function format() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n for (var arg = args[i]; i < len; arg = args[++i]) {\n str += ' ' + arg;\n }\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'pattern';\n}\n\nexport function isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n var original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nexport function asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var flattenArr = flattenObjArr(objArr);\n return asyncSerialArray(flattenArr, func, callback);\n }\n var firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n }\n };\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n}\n\nexport function complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: oe,\n field: oe.field || rule.fullField\n };\n };\n}\n\nexport function deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && _typeof(target[s]) === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}","import * as util from '../util';\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || util.isEmptyValue(value, type || rule.type))) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexport default required;","import * as util from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexport default whitespace;","import _typeof from 'babel-runtime/helpers/typeof';\nimport * as util from '../util';\nimport required from './required';\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-?)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$', 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\n\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float: function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function';\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object: function object(value) {\n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n // straight typeof check\n } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== rule.type) {\n errors.push(util.format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\nexport default type;","import * as util from '../util';\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(util.format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(util.format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(util.format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(util.format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nexport default range;","import * as util from '../util';\nvar ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(util.format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\nexport default enumerable;","import * as util from '../util';\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(util.format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nexport default pattern;","import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n 'enum': enumRule,\n pattern: pattern\n};","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default string;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default method;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default number;","import { isEmptyValue } from '../util';\nimport rules from '../rule/';\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default boolean;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default regexp;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default integer;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default floatFn;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default array;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default object;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\nvar ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default enumerable;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default pattern;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n var dateObject = void 0;\n\n if (typeof value === 'number') {\n dateObject = new Date(value);\n } else {\n dateObject = value;\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default date;","import _typeof from 'babel-runtime/helpers/typeof';\nimport rules from '../rule/';\n\nfunction required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : _typeof(value);\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexport default required;","import rules from '../rule/';\nimport { isEmptyValue } from '../util';\n\nfunction type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default type;","import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\n\nexport default {\n string: string,\n method: method,\n number: number,\n boolean: boolean,\n regexp: regexp,\n integer: integer,\n float: float,\n array: array,\n object: object,\n 'enum': enumValidator,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required\n};","export function newMessages() {\n return {\n 'default': 'Validation error on field %s',\n required: '%s is required',\n 'enum': '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\n\nexport var messages = newMessages();","import _extends from 'babel-runtime/helpers/extends';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport { format, complementError, asyncMap, warning, deepMerge } from './util';\nimport validators from './validator/';\nimport { messages as defaultMessages, newMessages } from './messages';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = defaultMessages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if ((typeof rules === 'undefined' ? 'undefined' : _typeof(rules)) !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n var z = void 0;\n var item = void 0;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_) {\n var _this = this;\n\n var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var oc = arguments[2];\n\n var source = source_;\n var options = o;\n var callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n function complete(results) {\n var i = void 0;\n var field = void 0;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n errors = errors.concat.apply(errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n for (i = 0; i < errors.length; i++) {\n field = errors[i].field;\n fields[field] = fields[field] || [];\n fields[field].push(errors[i]);\n }\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n var arr = void 0;\n var value = void 0;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (_typeof(rule.fields) === 'object' || _typeof(rule.defaultField) === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n function addFullfield(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + '.' + key\n });\n }\n\n function cb() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (errors.length) {\n warning('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n } else {\n errors = [];\n }\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, function (errs) {\n doIt(errs && errs.length ? errors.concat(errs) : errs);\n });\n }\n }\n\n var res = rule.validator(rule, data.value, cb, data.source, options);\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n validators[type] = validator;\n};\n\nSchema.messages = defaultMessages;\n\nexport default Schema;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DataZoomModel = require(\"./DataZoomModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = DataZoomModel.extend({\n type: 'dataZoom.inside',\n\n /**\n * @protected\n */\n defaultOption: {\n disabled: false,\n // Whether disable this inside zoom.\n zoomLock: false,\n // Whether disable zoom but only pan.\n zoomOnMouseWheel: true,\n // Can be: true / false / 'shift' / 'ctrl' / 'alt'.\n moveOnMouseMove: true,\n // Can be: true / false / 'shift' / 'ctrl' / 'alt'.\n moveOnMouseWheel: false,\n // Can be: true / false / 'shift' / 'ctrl' / 'alt'.\n preventDefaultMouseMove: true\n }\n});\n\nmodule.exports = _default;","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', { global: require('./_global') });\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = require(\"regenerator-runtime\");\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar IncrementalDisplayable = require(\"zrender/lib/graphic/IncrementalDisplayable\");\n\nvar lineContain = require(\"zrender/lib/contain/line\");\n\nvar quadraticContain = require(\"zrender/lib/contain/quadratic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Batch by color\nvar LargeLineShape = graphic.extendShape({\n shape: {\n polyline: false,\n curveness: 0,\n segs: []\n },\n buildPath: function (path, shape) {\n var segs = shape.segs;\n var curveness = shape.curveness;\n\n if (shape.polyline) {\n for (var i = 0; i < segs.length;) {\n var count = segs[i++];\n\n if (count > 0) {\n path.moveTo(segs[i++], segs[i++]);\n\n for (var k = 1; k < count; k++) {\n path.lineTo(segs[i++], segs[i++]);\n }\n }\n }\n } else {\n for (var i = 0; i < segs.length;) {\n var x0 = segs[i++];\n var y0 = segs[i++];\n var x1 = segs[i++];\n var y1 = segs[i++];\n path.moveTo(x0, y0);\n\n if (curveness > 0) {\n var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;\n var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;\n path.quadraticCurveTo(x2, y2, x1, y1);\n } else {\n path.lineTo(x1, y1);\n }\n }\n }\n },\n findDataIndex: function (x, y) {\n var shape = this.shape;\n var segs = shape.segs;\n var curveness = shape.curveness;\n\n if (shape.polyline) {\n var dataIndex = 0;\n\n for (var i = 0; i < segs.length;) {\n var count = segs[i++];\n\n if (count > 0) {\n var x0 = segs[i++];\n var y0 = segs[i++];\n\n for (var k = 1; k < count; k++) {\n var x1 = segs[i++];\n var y1 = segs[i++];\n\n if (lineContain.containStroke(x0, y0, x1, y1)) {\n return dataIndex;\n }\n }\n }\n\n dataIndex++;\n }\n } else {\n var dataIndex = 0;\n\n for (var i = 0; i < segs.length;) {\n var x0 = segs[i++];\n var y0 = segs[i++];\n var x1 = segs[i++];\n var y1 = segs[i++];\n\n if (curveness > 0) {\n var x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;\n var y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;\n\n if (quadraticContain.containStroke(x0, y0, x2, y2, x1, y1)) {\n return dataIndex;\n }\n } else {\n if (lineContain.containStroke(x0, y0, x1, y1)) {\n return dataIndex;\n }\n }\n\n dataIndex++;\n }\n }\n\n return -1;\n }\n});\n\nfunction LargeLineDraw() {\n this.group = new graphic.Group();\n}\n\nvar largeLineProto = LargeLineDraw.prototype;\n\nlargeLineProto.isPersistent = function () {\n return !this._incremental;\n};\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n */\n\n\nlargeLineProto.updateData = function (data) {\n this.group.removeAll();\n var lineEl = new LargeLineShape({\n rectHover: true,\n cursor: 'default'\n });\n lineEl.setShape({\n segs: data.getLayout('linesPoints')\n });\n\n this._setCommon(lineEl, data); // Add back\n\n\n this.group.add(lineEl);\n this._incremental = null;\n};\n/**\n * @override\n */\n\n\nlargeLineProto.incrementalPrepareUpdate = function (data) {\n this.group.removeAll();\n\n this._clearIncremental();\n\n if (data.count() > 5e5) {\n if (!this._incremental) {\n this._incremental = new IncrementalDisplayable({\n silent: true\n });\n }\n\n this.group.add(this._incremental);\n } else {\n this._incremental = null;\n }\n};\n/**\n * @override\n */\n\n\nlargeLineProto.incrementalUpdate = function (taskParams, data) {\n var lineEl = new LargeLineShape();\n lineEl.setShape({\n segs: data.getLayout('linesPoints')\n });\n\n this._setCommon(lineEl, data, !!this._incremental);\n\n if (!this._incremental) {\n lineEl.rectHover = true;\n lineEl.cursor = 'default';\n lineEl.__startIndex = taskParams.start;\n this.group.add(lineEl);\n } else {\n this._incremental.addDisplayable(lineEl, true);\n }\n};\n/**\n * @override\n */\n\n\nlargeLineProto.remove = function () {\n this._clearIncremental();\n\n this._incremental = null;\n this.group.removeAll();\n};\n\nlargeLineProto._setCommon = function (lineEl, data, isIncremental) {\n var hostModel = data.hostModel;\n lineEl.setShape({\n polyline: hostModel.get('polyline'),\n curveness: hostModel.get('lineStyle.curveness')\n });\n lineEl.useStyle(hostModel.getModel('lineStyle').getLineStyle());\n lineEl.style.strokeNoScale = true;\n var visualColor = data.getVisual('color');\n\n if (visualColor) {\n lineEl.setStyle('stroke', visualColor);\n }\n\n lineEl.setStyle('fill');\n\n if (!isIncremental) {\n // Enable tooltip\n // PENDING May have performance issue when path is extremely large\n lineEl.seriesIndex = hostModel.seriesIndex;\n lineEl.on('mousemove', function (e) {\n lineEl.dataIndex = null;\n var dataIndex = lineEl.findDataIndex(e.offsetX, e.offsetY);\n\n if (dataIndex > 0) {\n // Provide dataIndex for tooltip\n lineEl.dataIndex = dataIndex + lineEl.__startIndex;\n }\n });\n }\n};\n\nlargeLineProto._clearIncremental = function () {\n var incremental = this._incremental;\n\n if (incremental) {\n incremental.clearDisplaybles();\n }\n};\n\nvar _default = LargeLineDraw;\nmodule.exports = _default;","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ExecutionEnvironment\n */\n\n/*jslint evil: true */\n\n'use strict';\n\nvar canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners:\n canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./funnel/FunnelSeries\");\n\nrequire(\"./funnel/FunnelView\");\n\nvar dataColor = require(\"../visual/dataColor\");\n\nvar funnelLayout = require(\"./funnel/funnelLayout\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(dataColor('funnel'));\necharts.registerLayout(funnelLayout);\necharts.registerProcessor(dataFilter('funnel'));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ATTR = '\\0_ec_interaction_mutex';\n\nfunction take(zr, resourceKey, userKey) {\n var store = getStore(zr);\n store[resourceKey] = userKey;\n}\n\nfunction release(zr, resourceKey, userKey) {\n var store = getStore(zr);\n var uKey = store[resourceKey];\n\n if (uKey === userKey) {\n store[resourceKey] = null;\n }\n}\n\nfunction isTaken(zr, resourceKey) {\n return !!getStore(zr)[resourceKey];\n}\n\nfunction getStore(zr) {\n return zr[ATTR] || (zr[ATTR] = {});\n}\n/**\n * payload: {\n * type: 'takeGlobalCursor',\n * key: 'dataZoomSelect', or 'brush', or ...,\n * If no userKey, release global cursor.\n * }\n */\n\n\necharts.registerAction({\n type: 'takeGlobalCursor',\n event: 'globalCursorTaken',\n update: 'update'\n}, function () {});\nexports.take = take;\nexports.release = release;\nexports.isTaken = isTaken;","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar MapDraw = require(\"../../component/helper/MapDraw\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar HIGH_DOWN_PROP = '__seriesMapHighDown';\nvar RECORD_VERSION_PROP = '__seriesMapCallKey';\n\nvar _default = echarts.extendChartView({\n type: 'map',\n render: function (mapModel, ecModel, api, payload) {\n // Not render if it is an toggleSelect action from self\n if (payload && payload.type === 'mapToggleSelect' && payload.from === this.uid) {\n return;\n }\n\n var group = this.group;\n group.removeAll();\n\n if (mapModel.getHostGeoModel()) {\n return;\n } // Not update map if it is an roam action from self\n\n\n if (!(payload && payload.type === 'geoRoam' && payload.componentType === 'series' && payload.seriesId === mapModel.id)) {\n if (mapModel.needsDrawMap) {\n var mapDraw = this._mapDraw || new MapDraw(api, true);\n group.add(mapDraw.group);\n mapDraw.draw(mapModel, ecModel, api, this, payload);\n this._mapDraw = mapDraw;\n } else {\n // Remove drawed map\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n }\n } else {\n var mapDraw = this._mapDraw;\n mapDraw && group.add(mapDraw.group);\n }\n\n mapModel.get('showLegendSymbol') && ecModel.getComponent('legend') && this._renderSymbols(mapModel, ecModel, api);\n },\n remove: function () {\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n this.group.removeAll();\n },\n dispose: function () {\n this._mapDraw && this._mapDraw.remove();\n this._mapDraw = null;\n },\n _renderSymbols: function (mapModel, ecModel, api) {\n var originalData = mapModel.originalData;\n var group = this.group;\n originalData.each(originalData.mapDimension('value'), function (value, originalDataIndex) {\n if (isNaN(value)) {\n return;\n }\n\n var layout = originalData.getItemLayout(originalDataIndex);\n\n if (!layout || !layout.point) {\n // Not exists in map\n return;\n }\n\n var point = layout.point;\n var offset = layout.offset;\n var circle = new graphic.Circle({\n style: {\n // Because the special of map draw.\n // Which needs statistic of multiple series and draw on one map.\n // And each series also need a symbol with legend color\n //\n // Layout and visual are put one the different data\n fill: mapModel.getData().getVisual('color')\n },\n shape: {\n cx: point[0] + offset * 9,\n cy: point[1],\n r: 3\n },\n silent: true,\n // Do not overlap the first series, on which labels are displayed.\n z2: 8 + (!offset ? graphic.Z2_EMPHASIS_LIFT + 1 : 0)\n }); // Only the series that has the first value on the same region is in charge of rendering the label.\n // But consider the case:\n // series: [\n // {id: 'X', type: 'map', map: 'm', {data: [{name: 'A', value: 11}, {name: 'B', {value: 22}]},\n // {id: 'Y', type: 'map', map: 'm', {data: [{name: 'A', value: 21}, {name: 'C', {value: 33}]}\n // ]\n // The offset `0` of item `A` is at series `X`, but of item `C` is at series `Y`.\n // For backward compatibility, we follow the rule that render label `A` by the\n // settings on series `X` but render label `C` by the settings on series `Y`.\n\n if (!offset) {\n var fullData = mapModel.mainSeries.getData();\n var name = originalData.getName(originalDataIndex);\n var fullIndex = fullData.indexOfName(name);\n var itemModel = originalData.getItemModel(originalDataIndex);\n var labelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n var regionGroup = fullData.getItemGraphicEl(fullIndex); // `getFormattedLabel` needs to use `getData` inside. Here\n // `mapModel.getData()` is shallow cloned from `mainSeries.getData()`.\n // FIXME\n // If this is not the `mainSeries`, the item model (like label formatter)\n // set on original data item will never get. But it has been working\n // like that from the begining, and this scenario is rarely encountered.\n // So it won't be fixed until have to.\n\n var normalText = zrUtil.retrieve2(mapModel.getFormattedLabel(fullIndex, 'normal'), name);\n var emphasisText = zrUtil.retrieve2(mapModel.getFormattedLabel(fullIndex, 'emphasis'), normalText);\n var highDownRecord = regionGroup[HIGH_DOWN_PROP];\n var recordVersion = Math.random(); // Prevent from register listeners duplicatedly when roaming.\n\n if (!highDownRecord) {\n highDownRecord = regionGroup[HIGH_DOWN_PROP] = {};\n var onEmphasis = zrUtil.curry(onRegionHighDown, true);\n var onNormal = zrUtil.curry(onRegionHighDown, false);\n regionGroup.on('mouseover', onEmphasis).on('mouseout', onNormal).on('emphasis', onEmphasis).on('normal', onNormal);\n } // Prevent removed regions effect current grapics.\n\n\n regionGroup[RECORD_VERSION_PROP] = recordVersion;\n zrUtil.extend(highDownRecord, {\n recordVersion: recordVersion,\n circle: circle,\n labelModel: labelModel,\n hoverLabelModel: hoverLabelModel,\n emphasisText: emphasisText,\n normalText: normalText\n }); // FIXME\n // Consider set option when emphasis.\n\n enterRegionHighDown(highDownRecord, false);\n }\n\n group.add(circle);\n });\n }\n});\n\nfunction onRegionHighDown(toHighOrDown) {\n var highDownRecord = this[HIGH_DOWN_PROP];\n\n if (highDownRecord && highDownRecord.recordVersion === this[RECORD_VERSION_PROP]) {\n enterRegionHighDown(highDownRecord, toHighOrDown);\n }\n}\n\nfunction enterRegionHighDown(highDownRecord, toHighOrDown) {\n var circle = highDownRecord.circle;\n var labelModel = highDownRecord.labelModel;\n var hoverLabelModel = highDownRecord.hoverLabelModel;\n var emphasisText = highDownRecord.emphasisText;\n var normalText = highDownRecord.normalText;\n\n if (toHighOrDown) {\n circle.style.extendFrom(graphic.setTextStyle({}, hoverLabelModel, {\n text: hoverLabelModel.get('show') ? emphasisText : null\n }, {\n isRectText: true,\n useInsideStyle: false\n }, true)); // Make label upper than others if overlaps.\n\n circle.__mapOriginalZ2 = circle.z2;\n circle.z2 += graphic.Z2_EMPHASIS_LIFT;\n } else {\n graphic.setTextStyle(circle.style, labelModel, {\n text: labelModel.get('show') ? normalText : null,\n textPosition: labelModel.getShallow('position') || 'bottom'\n }, {\n isRectText: true,\n useInsideStyle: false\n }); // Trigger normalize style like padding.\n\n circle.dirty(false);\n\n if (circle.__mapOriginalZ2 != null) {\n circle.z2 = circle.__mapOriginalZ2;\n circle.__mapOriginalZ2 = null;\n }\n }\n}\n\nmodule.exports = _default;","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"mergeColor\", {\n enumerable: true,\n get: function get() {\n return _mergeColor.mergeColor;\n }\n});\nObject.defineProperty(exports, \"title\", {\n enumerable: true,\n get: function get() {\n return _title.title;\n }\n});\nObject.defineProperty(exports, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid.grid;\n }\n});\nObject.defineProperty(exports, \"axis\", {\n enumerable: true,\n get: function get() {\n return _axis.axis;\n }\n});\nObject.defineProperty(exports, \"line\", {\n enumerable: true,\n get: function get() {\n return _line.line;\n }\n});\nObject.defineProperty(exports, \"bar\", {\n enumerable: true,\n get: function get() {\n return _bar.bar;\n }\n});\nObject.defineProperty(exports, \"pie\", {\n enumerable: true,\n get: function get() {\n return _pie.pie;\n }\n});\nObject.defineProperty(exports, \"radarAxis\", {\n enumerable: true,\n get: function get() {\n return _radarAxis.radarAxis;\n }\n});\nObject.defineProperty(exports, \"radar\", {\n enumerable: true,\n get: function get() {\n return _radar.radar;\n }\n});\nObject.defineProperty(exports, \"gauge\", {\n enumerable: true,\n get: function get() {\n return _gauge.gauge;\n }\n});\nObject.defineProperty(exports, \"legend\", {\n enumerable: true,\n get: function get() {\n return _legend.legend;\n }\n});\n\nvar _mergeColor = require(\"./mergeColor\");\n\nvar _title = require(\"./title\");\n\nvar _grid = require(\"./grid\");\n\nvar _axis = require(\"./axis\");\n\nvar _line = require(\"./line\");\n\nvar _bar = require(\"./bar\");\n\nvar _pie = require(\"./pie\");\n\nvar _radarAxis = require(\"./radarAxis\");\n\nvar _radar = require(\"./radar\");\n\nvar _gauge = require(\"./gauge\");\n\nvar _legend = require(\"./legend\");","var _util = require(\"../../core/util\");\n\nvar retrieve2 = _util.retrieve2;\nvar retrieve3 = _util.retrieve3;\nvar each = _util.each;\nvar normalizeCssArray = _util.normalizeCssArray;\nvar isString = _util.isString;\nvar isObject = _util.isObject;\n\nvar textContain = require(\"../../contain/text\");\n\nvar roundRectHelper = require(\"./roundRect\");\n\nvar imageHelper = require(\"./image\");\n\nvar fixShadow = require(\"./fixShadow\");\n\nvar _constant = require(\"../constant\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\nvar WILL_BE_RESTORED = _constant.WILL_BE_RESTORED;\nvar DEFAULT_FONT = textContain.DEFAULT_FONT; // TODO: Have not support 'start', 'end' yet.\n\nvar VALID_TEXT_ALIGN = {\n left: 1,\n right: 1,\n center: 1\n};\nvar VALID_TEXT_VERTICAL_ALIGN = {\n top: 1,\n bottom: 1,\n middle: 1\n}; // Different from `STYLE_COMMON_PROPS` of `graphic/Style`,\n// the default value of shadowColor is `'transparent'`.\n\nvar SHADOW_STYLE_COMMON_PROPS = [['textShadowBlur', 'shadowBlur', 0], ['textShadowOffsetX', 'shadowOffsetX', 0], ['textShadowOffsetY', 'shadowOffsetY', 0], ['textShadowColor', 'shadowColor', 'transparent']];\nvar _tmpTextPositionResult = {};\nvar _tmpBoxPositionResult = {};\n/**\n * @param {module:zrender/graphic/Style} style\n * @return {module:zrender/graphic/Style} The input style.\n */\n\nfunction normalizeTextStyle(style) {\n normalizeStyle(style);\n each(style.rich, normalizeStyle);\n return style;\n}\n\nfunction normalizeStyle(style) {\n if (style) {\n style.font = textContain.makeFont(style);\n var textAlign = style.textAlign;\n textAlign === 'middle' && (textAlign = 'center');\n style.textAlign = textAlign == null || VALID_TEXT_ALIGN[textAlign] ? textAlign : 'left'; // Compatible with textBaseline.\n\n var textVerticalAlign = style.textVerticalAlign || style.textBaseline;\n textVerticalAlign === 'center' && (textVerticalAlign = 'middle');\n style.textVerticalAlign = textVerticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[textVerticalAlign] ? textVerticalAlign : 'top';\n var textPadding = style.textPadding;\n\n if (textPadding) {\n style.textPadding = normalizeCssArray(style.textPadding);\n }\n }\n}\n/**\n * @param {CanvasRenderingContext2D} ctx\n * @param {string} text\n * @param {module:zrender/graphic/Style} style\n * @param {Object|boolean} [rect] {x, y, width, height}\n * If set false, rect text is not used.\n * @param {Element|module:zrender/graphic/helper/constant.WILL_BE_RESTORED} [prevEl] For ctx prop cache.\n */\n\n\nfunction renderText(hostEl, ctx, text, style, rect, prevEl) {\n style.rich ? renderRichText(hostEl, ctx, text, style, rect, prevEl) : renderPlainText(hostEl, ctx, text, style, rect, prevEl);\n} // Avoid setting to ctx according to prevEl if possible for\n// performance in scenarios of large amount text.\n\n\nfunction renderPlainText(hostEl, ctx, text, style, rect, prevEl) {\n 'use strict';\n\n var needDrawBg = needDrawBackground(style);\n var prevStyle;\n var checkCache = false;\n var cachedByMe = ctx.__attrCachedBy === ContextCachedBy.PLAIN_TEXT; // Only take and check cache for `Text` el, but not RectText.\n\n if (prevEl !== WILL_BE_RESTORED) {\n if (prevEl) {\n prevStyle = prevEl.style;\n checkCache = !needDrawBg && cachedByMe && prevStyle;\n } // Prevent from using cache in `Style::bind`, because of the case:\n // ctx property is modified by other properties than `Style::bind`\n // used, and Style::bind is called next.\n\n\n ctx.__attrCachedBy = needDrawBg ? ContextCachedBy.NONE : ContextCachedBy.PLAIN_TEXT;\n } // Since this will be restored, prevent from using these props to check cache in the next\n // entering of this method. But do not need to clear other cache like `Style::bind`.\n else if (cachedByMe) {\n ctx.__attrCachedBy = ContextCachedBy.NONE;\n }\n\n var styleFont = style.font || DEFAULT_FONT; // PENDING\n // Only `Text` el set `font` and keep it (`RectText` will restore). So theoretically\n // we can make font cache on ctx, which can cache for text el that are discontinuous.\n // But layer save/restore needed to be considered.\n // if (styleFont !== ctx.__fontCache) {\n // ctx.font = styleFont;\n // if (prevEl !== WILL_BE_RESTORED) {\n // ctx.__fontCache = styleFont;\n // }\n // }\n\n if (!checkCache || styleFont !== (prevStyle.font || DEFAULT_FONT)) {\n ctx.font = styleFont;\n } // Use the final font from context-2d, because the final\n // font might not be the style.font when it is illegal.\n // But get `ctx.font` might be time consuming.\n\n\n var computedFont = hostEl.__computedFont;\n\n if (hostEl.__styleFont !== styleFont) {\n hostEl.__styleFont = styleFont;\n computedFont = hostEl.__computedFont = ctx.font;\n }\n\n var textPadding = style.textPadding;\n var textLineHeight = style.textLineHeight;\n var contentBlock = hostEl.__textCotentBlock;\n\n if (!contentBlock || hostEl.__dirtyText) {\n contentBlock = hostEl.__textCotentBlock = textContain.parsePlainText(text, computedFont, textPadding, textLineHeight, style.truncate);\n }\n\n var outerHeight = contentBlock.outerHeight;\n var textLines = contentBlock.lines;\n var lineHeight = contentBlock.lineHeight;\n var boxPos = getBoxPosition(_tmpBoxPositionResult, hostEl, style, rect);\n var baseX = boxPos.baseX;\n var baseY = boxPos.baseY;\n var textAlign = boxPos.textAlign || 'left';\n var textVerticalAlign = boxPos.textVerticalAlign; // Origin of textRotation should be the base point of text drawing.\n\n applyTextRotation(ctx, style, rect, baseX, baseY);\n var boxY = textContain.adjustTextY(baseY, outerHeight, textVerticalAlign);\n var textX = baseX;\n var textY = boxY;\n\n if (needDrawBg || textPadding) {\n // Consider performance, do not call getTextWidth util necessary.\n var textWidth = textContain.getWidth(text, computedFont);\n var outerWidth = textWidth;\n textPadding && (outerWidth += textPadding[1] + textPadding[3]);\n var boxX = textContain.adjustTextX(baseX, outerWidth, textAlign);\n needDrawBg && drawBackground(hostEl, ctx, style, boxX, boxY, outerWidth, outerHeight);\n\n if (textPadding) {\n textX = getTextXForPadding(baseX, textAlign, textPadding);\n textY += textPadding[0];\n }\n } // Always set textAlign and textBase line, because it is difficute to calculate\n // textAlign from prevEl, and we dont sure whether textAlign will be reset if\n // font set happened.\n\n\n ctx.textAlign = textAlign; // Force baseline to be \"middle\". Otherwise, if using \"top\", the\n // text will offset downward a little bit in font \"Microsoft YaHei\".\n\n ctx.textBaseline = 'middle'; // Set text opacity\n\n ctx.globalAlpha = style.opacity || 1; // Always set shadowBlur and shadowOffset to avoid leak from displayable.\n\n for (var i = 0; i < SHADOW_STYLE_COMMON_PROPS.length; i++) {\n var propItem = SHADOW_STYLE_COMMON_PROPS[i];\n var styleProp = propItem[0];\n var ctxProp = propItem[1];\n var val = style[styleProp];\n\n if (!checkCache || val !== prevStyle[styleProp]) {\n ctx[ctxProp] = fixShadow(ctx, ctxProp, val || propItem[2]);\n }\n } // `textBaseline` is set as 'middle'.\n\n\n textY += lineHeight / 2;\n var textStrokeWidth = style.textStrokeWidth;\n var textStrokeWidthPrev = checkCache ? prevStyle.textStrokeWidth : null;\n var strokeWidthChanged = !checkCache || textStrokeWidth !== textStrokeWidthPrev;\n var strokeChanged = !checkCache || strokeWidthChanged || style.textStroke !== prevStyle.textStroke;\n var textStroke = getStroke(style.textStroke, textStrokeWidth);\n var textFill = getFill(style.textFill);\n\n if (textStroke) {\n if (strokeWidthChanged) {\n ctx.lineWidth = textStrokeWidth;\n }\n\n if (strokeChanged) {\n ctx.strokeStyle = textStroke;\n }\n }\n\n if (textFill) {\n if (!checkCache || style.textFill !== prevStyle.textFill) {\n ctx.fillStyle = textFill;\n }\n } // Optimize simply, in most cases only one line exists.\n\n\n if (textLines.length === 1) {\n // Fill after stroke so the outline will not cover the main part.\n textStroke && ctx.strokeText(textLines[0], textX, textY);\n textFill && ctx.fillText(textLines[0], textX, textY);\n } else {\n for (var i = 0; i < textLines.length; i++) {\n // Fill after stroke so the outline will not cover the main part.\n textStroke && ctx.strokeText(textLines[i], textX, textY);\n textFill && ctx.fillText(textLines[i], textX, textY);\n textY += lineHeight;\n }\n }\n}\n\nfunction renderRichText(hostEl, ctx, text, style, rect, prevEl) {\n // Do not do cache for rich text because of the complexity.\n // But `RectText` this will be restored, do not need to clear other cache like `Style::bind`.\n if (prevEl !== WILL_BE_RESTORED) {\n ctx.__attrCachedBy = ContextCachedBy.NONE;\n }\n\n var contentBlock = hostEl.__textCotentBlock;\n\n if (!contentBlock || hostEl.__dirtyText) {\n contentBlock = hostEl.__textCotentBlock = textContain.parseRichText(text, style);\n }\n\n drawRichText(hostEl, ctx, contentBlock, style, rect);\n}\n\nfunction drawRichText(hostEl, ctx, contentBlock, style, rect) {\n var contentWidth = contentBlock.width;\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var textPadding = style.textPadding;\n var boxPos = getBoxPosition(_tmpBoxPositionResult, hostEl, style, rect);\n var baseX = boxPos.baseX;\n var baseY = boxPos.baseY;\n var textAlign = boxPos.textAlign;\n var textVerticalAlign = boxPos.textVerticalAlign; // Origin of textRotation should be the base point of text drawing.\n\n applyTextRotation(ctx, style, rect, baseX, baseY);\n var boxX = textContain.adjustTextX(baseX, outerWidth, textAlign);\n var boxY = textContain.adjustTextY(baseY, outerHeight, textVerticalAlign);\n var xLeft = boxX;\n var lineTop = boxY;\n\n if (textPadding) {\n xLeft += textPadding[3];\n lineTop += textPadding[0];\n }\n\n var xRight = xLeft + contentWidth;\n needDrawBackground(style) && drawBackground(hostEl, ctx, style, boxX, boxY, outerWidth, outerHeight);\n\n for (var i = 0; i < contentBlock.lines.length; i++) {\n var line = contentBlock.lines[i];\n var tokens = line.tokens;\n var tokenCount = tokens.length;\n var lineHeight = line.lineHeight;\n var usedWidth = line.width;\n var leftIndex = 0;\n var lineXLeft = xLeft;\n var lineXRight = xRight;\n var rightIndex = tokenCount - 1;\n var token;\n\n while (leftIndex < tokenCount && (token = tokens[leftIndex], !token.textAlign || token.textAlign === 'left')) {\n placeToken(hostEl, ctx, token, style, lineHeight, lineTop, lineXLeft, 'left');\n usedWidth -= token.width;\n lineXLeft += token.width;\n leftIndex++;\n }\n\n while (rightIndex >= 0 && (token = tokens[rightIndex], token.textAlign === 'right')) {\n placeToken(hostEl, ctx, token, style, lineHeight, lineTop, lineXRight, 'right');\n usedWidth -= token.width;\n lineXRight -= token.width;\n rightIndex--;\n } // The other tokens are placed as textAlign 'center' if there is enough space.\n\n\n lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - usedWidth) / 2;\n\n while (leftIndex <= rightIndex) {\n token = tokens[leftIndex]; // Consider width specified by user, use 'center' rather than 'left'.\n\n placeToken(hostEl, ctx, token, style, lineHeight, lineTop, lineXLeft + token.width / 2, 'center');\n lineXLeft += token.width;\n leftIndex++;\n }\n\n lineTop += lineHeight;\n }\n}\n\nfunction applyTextRotation(ctx, style, rect, x, y) {\n // textRotation only apply in RectText.\n if (rect && style.textRotation) {\n var origin = style.textOrigin;\n\n if (origin === 'center') {\n x = rect.width / 2 + rect.x;\n y = rect.height / 2 + rect.y;\n } else if (origin) {\n x = origin[0] + rect.x;\n y = origin[1] + rect.y;\n }\n\n ctx.translate(x, y); // Positive: anticlockwise\n\n ctx.rotate(-style.textRotation);\n ctx.translate(-x, -y);\n }\n}\n\nfunction placeToken(hostEl, ctx, token, style, lineHeight, lineTop, x, textAlign) {\n var tokenStyle = style.rich[token.styleName] || {};\n tokenStyle.text = token.text; // 'ctx.textBaseline' is always set as 'middle', for sake of\n // the bias of \"Microsoft YaHei\".\n\n var textVerticalAlign = token.textVerticalAlign;\n var y = lineTop + lineHeight / 2;\n\n if (textVerticalAlign === 'top') {\n y = lineTop + token.height / 2;\n } else if (textVerticalAlign === 'bottom') {\n y = lineTop + lineHeight - token.height / 2;\n }\n\n !token.isLineHolder && needDrawBackground(tokenStyle) && drawBackground(hostEl, ctx, tokenStyle, textAlign === 'right' ? x - token.width : textAlign === 'center' ? x - token.width / 2 : x, y - token.height / 2, token.width, token.height);\n var textPadding = token.textPadding;\n\n if (textPadding) {\n x = getTextXForPadding(x, textAlign, textPadding);\n y -= token.height / 2 - textPadding[2] - token.textHeight / 2;\n }\n\n setCtx(ctx, 'shadowBlur', retrieve3(tokenStyle.textShadowBlur, style.textShadowBlur, 0));\n setCtx(ctx, 'shadowColor', tokenStyle.textShadowColor || style.textShadowColor || 'transparent');\n setCtx(ctx, 'shadowOffsetX', retrieve3(tokenStyle.textShadowOffsetX, style.textShadowOffsetX, 0));\n setCtx(ctx, 'shadowOffsetY', retrieve3(tokenStyle.textShadowOffsetY, style.textShadowOffsetY, 0));\n setCtx(ctx, 'textAlign', textAlign); // Force baseline to be \"middle\". Otherwise, if using \"top\", the\n // text will offset downward a little bit in font \"Microsoft YaHei\".\n\n setCtx(ctx, 'textBaseline', 'middle');\n setCtx(ctx, 'font', token.font || DEFAULT_FONT);\n var textStroke = getStroke(tokenStyle.textStroke || style.textStroke, textStrokeWidth);\n var textFill = getFill(tokenStyle.textFill || style.textFill);\n var textStrokeWidth = retrieve2(tokenStyle.textStrokeWidth, style.textStrokeWidth); // Fill after stroke so the outline will not cover the main part.\n\n if (textStroke) {\n setCtx(ctx, 'lineWidth', textStrokeWidth);\n setCtx(ctx, 'strokeStyle', textStroke);\n ctx.strokeText(token.text, x, y);\n }\n\n if (textFill) {\n setCtx(ctx, 'fillStyle', textFill);\n ctx.fillText(token.text, x, y);\n }\n}\n\nfunction needDrawBackground(style) {\n return !!(style.textBackgroundColor || style.textBorderWidth && style.textBorderColor);\n} // style: {textBackgroundColor, textBorderWidth, textBorderColor, textBorderRadius, text}\n// shape: {x, y, width, height}\n\n\nfunction drawBackground(hostEl, ctx, style, x, y, width, height) {\n var textBackgroundColor = style.textBackgroundColor;\n var textBorderWidth = style.textBorderWidth;\n var textBorderColor = style.textBorderColor;\n var isPlainBg = isString(textBackgroundColor);\n setCtx(ctx, 'shadowBlur', style.textBoxShadowBlur || 0);\n setCtx(ctx, 'shadowColor', style.textBoxShadowColor || 'transparent');\n setCtx(ctx, 'shadowOffsetX', style.textBoxShadowOffsetX || 0);\n setCtx(ctx, 'shadowOffsetY', style.textBoxShadowOffsetY || 0);\n\n if (isPlainBg || textBorderWidth && textBorderColor) {\n ctx.beginPath();\n var textBorderRadius = style.textBorderRadius;\n\n if (!textBorderRadius) {\n ctx.rect(x, y, width, height);\n } else {\n roundRectHelper.buildPath(ctx, {\n x: x,\n y: y,\n width: width,\n height: height,\n r: textBorderRadius\n });\n }\n\n ctx.closePath();\n }\n\n if (isPlainBg) {\n setCtx(ctx, 'fillStyle', textBackgroundColor);\n\n if (style.fillOpacity != null) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.fillOpacity * style.opacity;\n ctx.fill();\n ctx.globalAlpha = originalGlobalAlpha;\n } else {\n ctx.fill();\n }\n } else if (isObject(textBackgroundColor)) {\n var image = textBackgroundColor.image;\n image = imageHelper.createOrUpdateImage(image, null, hostEl, onBgImageLoaded, textBackgroundColor);\n\n if (image && imageHelper.isImageReady(image)) {\n ctx.drawImage(image, x, y, width, height);\n }\n }\n\n if (textBorderWidth && textBorderColor) {\n setCtx(ctx, 'lineWidth', textBorderWidth);\n setCtx(ctx, 'strokeStyle', textBorderColor);\n\n if (style.strokeOpacity != null) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.strokeOpacity * style.opacity;\n ctx.stroke();\n ctx.globalAlpha = originalGlobalAlpha;\n } else {\n ctx.stroke();\n }\n }\n}\n\nfunction onBgImageLoaded(image, textBackgroundColor) {\n // Replace image, so that `contain/text.js#parseRichText`\n // will get correct result in next tick.\n textBackgroundColor.image = image;\n}\n\nfunction getBoxPosition(out, hostEl, style, rect) {\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var textAlign = style.textAlign;\n var textVerticalAlign = style.textVerticalAlign; // Text position represented by coord\n\n if (rect) {\n var textPosition = style.textPosition;\n\n if (textPosition instanceof Array) {\n // Percent\n baseX = rect.x + parsePercent(textPosition[0], rect.width);\n baseY = rect.y + parsePercent(textPosition[1], rect.height);\n } else {\n var res = hostEl && hostEl.calculateTextPosition ? hostEl.calculateTextPosition(_tmpTextPositionResult, style, rect) : textContain.calculateTextPosition(_tmpTextPositionResult, style, rect);\n baseX = res.x;\n baseY = res.y; // Default align and baseline when has textPosition\n\n textAlign = textAlign || res.textAlign;\n textVerticalAlign = textVerticalAlign || res.textVerticalAlign;\n } // textOffset is only support in RectText, otherwise\n // we have to adjust boundingRect for textOffset.\n\n\n var textOffset = style.textOffset;\n\n if (textOffset) {\n baseX += textOffset[0];\n baseY += textOffset[1];\n }\n }\n\n out = out || {};\n out.baseX = baseX;\n out.baseY = baseY;\n out.textAlign = textAlign;\n out.textVerticalAlign = textVerticalAlign;\n return out;\n}\n\nfunction setCtx(ctx, prop, value) {\n ctx[prop] = fixShadow(ctx, prop, value);\n return ctx[prop];\n}\n/**\n * @param {string} [stroke] If specified, do not check style.textStroke.\n * @param {string} [lineWidth] If specified, do not check style.textStroke.\n * @param {number} style\n */\n\n\nfunction getStroke(stroke, lineWidth) {\n return stroke == null || lineWidth <= 0 || stroke === 'transparent' || stroke === 'none' ? null // TODO pattern and gradient?\n : stroke.image || stroke.colorStops ? '#000' : stroke;\n}\n\nfunction getFill(fill) {\n return fill == null || fill === 'none' ? null // TODO pattern and gradient?\n : fill.image || fill.colorStops ? '#000' : fill;\n}\n\nfunction parsePercent(value, maxValue) {\n if (typeof value === 'string') {\n if (value.lastIndexOf('%') >= 0) {\n return parseFloat(value) / 100 * maxValue;\n }\n\n return parseFloat(value);\n }\n\n return value;\n}\n\nfunction getTextXForPadding(x, textAlign, textPadding) {\n return textAlign === 'right' ? x - textPadding[1] : textAlign === 'center' ? x + textPadding[3] / 2 - textPadding[1] / 2 : x + textPadding[3];\n}\n/**\n * @param {string} text\n * @param {module:zrender/Style} style\n * @return {boolean}\n */\n\n\nfunction needDrawText(text, style) {\n return text != null && (text || style.textBackgroundColor || style.textBorderWidth && style.textBorderColor || style.textPadding);\n}\n\nexports.normalizeTextStyle = normalizeTextStyle;\nexports.renderText = renderText;\nexports.getBoxPosition = getBoxPosition;\nexports.getStroke = getStroke;\nexports.getFill = getFill;\nexports.parsePercent = parsePercent;\nexports.needDrawText = needDrawText;","'use strict';\n\nexports.__esModule = true;\nexports.isDefined = exports.isUndefined = exports.isFunction = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isHtmlElement = isHtmlElement;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isString(obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n}\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nfunction isHtmlElement(node) {\n return node && node.nodeType === Node.ELEMENT_NODE;\n}\n\n/**\n * - Inspired:\n * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js\n */\nvar isFunction = function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n};\n\nif (typeof /./ !== 'function' && (typeof Int8Array === 'undefined' ? 'undefined' : _typeof(Int8Array)) !== 'object' && (_vue2.default.prototype.$isServer || typeof document.childNodes !== 'function')) {\n exports.isFunction = isFunction = function isFunction(obj) {\n return typeof obj === 'function' || false;\n };\n}\n\nexports.isFunction = isFunction;\nvar isUndefined = exports.isUndefined = function isUndefined(val) {\n return val === void 0;\n};\n\nvar isDefined = exports.isDefined = function isDefined(val) {\n return val !== undefined && val !== null;\n};","module.exports = require(\"core-js/library/fn/array/is-array\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar PointerPath = require(\"./PointerPath\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar round = _number.round;\nvar linearMap = _number.linearMap;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction parsePosition(seriesModel, api) {\n var center = seriesModel.get('center');\n var width = api.getWidth();\n var height = api.getHeight();\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], api.getWidth());\n var cy = parsePercent(center[1], api.getHeight());\n var r = parsePercent(seriesModel.get('radius'), size / 2);\n return {\n cx: cx,\n cy: cy,\n r: r\n };\n}\n\nfunction formatLabel(label, labelFormatter) {\n if (labelFormatter) {\n if (typeof labelFormatter === 'string') {\n label = labelFormatter.replace('{value}', label != null ? label : '');\n } else if (typeof labelFormatter === 'function') {\n label = labelFormatter(label);\n }\n }\n\n return label;\n}\n\nvar PI2 = Math.PI * 2;\nvar GaugeView = ChartView.extend({\n type: 'gauge',\n render: function (seriesModel, ecModel, api) {\n this.group.removeAll();\n var colorList = seriesModel.get('axisLine.lineStyle.color');\n var posInfo = parsePosition(seriesModel, api);\n\n this._renderMain(seriesModel, ecModel, api, colorList, posInfo);\n },\n dispose: function () {},\n _renderMain: function (seriesModel, ecModel, api, colorList, posInfo) {\n var group = this.group;\n var axisLineModel = seriesModel.getModel('axisLine');\n var lineStyleModel = axisLineModel.getModel('lineStyle');\n var clockwise = seriesModel.get('clockwise');\n var startAngle = -seriesModel.get('startAngle') / 180 * Math.PI;\n var endAngle = -seriesModel.get('endAngle') / 180 * Math.PI;\n var angleRangeSpan = (endAngle - startAngle) % PI2;\n var prevEndAngle = startAngle;\n var axisLineWidth = lineStyleModel.get('width');\n var showAxis = axisLineModel.get('show');\n\n for (var i = 0; showAxis && i < colorList.length; i++) {\n // Clamp\n var percent = Math.min(Math.max(colorList[i][0], 0), 1);\n var endAngle = startAngle + angleRangeSpan * percent;\n var sector = new graphic.Sector({\n shape: {\n startAngle: prevEndAngle,\n endAngle: endAngle,\n cx: posInfo.cx,\n cy: posInfo.cy,\n clockwise: clockwise,\n r0: posInfo.r - axisLineWidth,\n r: posInfo.r\n },\n silent: true\n });\n sector.setStyle({\n fill: colorList[i][1]\n });\n sector.setStyle(lineStyleModel.getLineStyle( // Because we use sector to simulate arc\n // so the properties for stroking are useless\n ['color', 'borderWidth', 'borderColor']));\n group.add(sector);\n prevEndAngle = endAngle;\n }\n\n var getColor = function (percent) {\n // Less than 0\n if (percent <= 0) {\n return colorList[0][1];\n }\n\n for (var i = 0; i < colorList.length; i++) {\n if (colorList[i][0] >= percent && (i === 0 ? 0 : colorList[i - 1][0]) < percent) {\n return colorList[i][1];\n }\n } // More than 1\n\n\n return colorList[i - 1][1];\n };\n\n if (!clockwise) {\n var tmp = startAngle;\n startAngle = endAngle;\n endAngle = tmp;\n }\n\n this._renderTicks(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise);\n\n this._renderPointer(seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise);\n\n this._renderTitle(seriesModel, ecModel, api, getColor, posInfo);\n\n this._renderDetail(seriesModel, ecModel, api, getColor, posInfo);\n },\n _renderTicks: function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise) {\n var group = this.group;\n var cx = posInfo.cx;\n var cy = posInfo.cy;\n var r = posInfo.r;\n var minVal = +seriesModel.get('min');\n var maxVal = +seriesModel.get('max');\n var splitLineModel = seriesModel.getModel('splitLine');\n var tickModel = seriesModel.getModel('axisTick');\n var labelModel = seriesModel.getModel('axisLabel');\n var splitNumber = seriesModel.get('splitNumber');\n var subSplitNumber = tickModel.get('splitNumber');\n var splitLineLen = parsePercent(splitLineModel.get('length'), r);\n var tickLen = parsePercent(tickModel.get('length'), r);\n var angle = startAngle;\n var step = (endAngle - startAngle) / splitNumber;\n var subStep = step / subSplitNumber;\n var splitLineStyle = splitLineModel.getModel('lineStyle').getLineStyle();\n var tickLineStyle = tickModel.getModel('lineStyle').getLineStyle();\n\n for (var i = 0; i <= splitNumber; i++) {\n var unitX = Math.cos(angle);\n var unitY = Math.sin(angle); // Split line\n\n if (splitLineModel.get('show')) {\n var splitLine = new graphic.Line({\n shape: {\n x1: unitX * r + cx,\n y1: unitY * r + cy,\n x2: unitX * (r - splitLineLen) + cx,\n y2: unitY * (r - splitLineLen) + cy\n },\n style: splitLineStyle,\n silent: true\n });\n\n if (splitLineStyle.stroke === 'auto') {\n splitLine.setStyle({\n stroke: getColor(i / splitNumber)\n });\n }\n\n group.add(splitLine);\n } // Label\n\n\n if (labelModel.get('show')) {\n var label = formatLabel(round(i / splitNumber * (maxVal - minVal) + minVal), labelModel.get('formatter'));\n var distance = labelModel.get('distance');\n var autoColor = getColor(i / splitNumber);\n group.add(new graphic.Text({\n style: graphic.setTextStyle({}, labelModel, {\n text: label,\n x: unitX * (r - splitLineLen - distance) + cx,\n y: unitY * (r - splitLineLen - distance) + cy,\n textVerticalAlign: unitY < -0.4 ? 'top' : unitY > 0.4 ? 'bottom' : 'middle',\n textAlign: unitX < -0.4 ? 'left' : unitX > 0.4 ? 'right' : 'center'\n }, {\n autoColor: autoColor\n }),\n silent: true\n }));\n } // Axis tick\n\n\n if (tickModel.get('show') && i !== splitNumber) {\n for (var j = 0; j <= subSplitNumber; j++) {\n var unitX = Math.cos(angle);\n var unitY = Math.sin(angle);\n var tickLine = new graphic.Line({\n shape: {\n x1: unitX * r + cx,\n y1: unitY * r + cy,\n x2: unitX * (r - tickLen) + cx,\n y2: unitY * (r - tickLen) + cy\n },\n silent: true,\n style: tickLineStyle\n });\n\n if (tickLineStyle.stroke === 'auto') {\n tickLine.setStyle({\n stroke: getColor((i + j / subSplitNumber) / splitNumber)\n });\n }\n\n group.add(tickLine);\n angle += subStep;\n }\n\n angle -= subStep;\n } else {\n angle += step;\n }\n }\n },\n _renderPointer: function (seriesModel, ecModel, api, getColor, posInfo, startAngle, endAngle, clockwise) {\n var group = this.group;\n var oldData = this._data;\n\n if (!seriesModel.get('pointer.show')) {\n // Remove old element\n oldData && oldData.eachItemGraphicEl(function (el) {\n group.remove(el);\n });\n return;\n }\n\n var valueExtent = [+seriesModel.get('min'), +seriesModel.get('max')];\n var angleExtent = [startAngle, endAngle];\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n data.diff(oldData).add(function (idx) {\n var pointer = new PointerPath({\n shape: {\n angle: startAngle\n }\n });\n graphic.initProps(pointer, {\n shape: {\n angle: linearMap(data.get(valueDim, idx), valueExtent, angleExtent, true)\n }\n }, seriesModel);\n group.add(pointer);\n data.setItemGraphicEl(idx, pointer);\n }).update(function (newIdx, oldIdx) {\n var pointer = oldData.getItemGraphicEl(oldIdx);\n graphic.updateProps(pointer, {\n shape: {\n angle: linearMap(data.get(valueDim, newIdx), valueExtent, angleExtent, true)\n }\n }, seriesModel);\n group.add(pointer);\n data.setItemGraphicEl(newIdx, pointer);\n }).remove(function (idx) {\n var pointer = oldData.getItemGraphicEl(idx);\n group.remove(pointer);\n }).execute();\n data.eachItemGraphicEl(function (pointer, idx) {\n var itemModel = data.getItemModel(idx);\n var pointerModel = itemModel.getModel('pointer');\n pointer.setShape({\n x: posInfo.cx,\n y: posInfo.cy,\n width: parsePercent(pointerModel.get('width'), posInfo.r),\n r: parsePercent(pointerModel.get('length'), posInfo.r)\n });\n pointer.useStyle(itemModel.getModel('itemStyle').getItemStyle());\n\n if (pointer.style.fill === 'auto') {\n pointer.setStyle('fill', getColor(linearMap(data.get(valueDim, idx), valueExtent, [0, 1], true)));\n }\n\n graphic.setHoverStyle(pointer, itemModel.getModel('emphasis.itemStyle').getItemStyle());\n });\n this._data = data;\n },\n _renderTitle: function (seriesModel, ecModel, api, getColor, posInfo) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var titleModel = seriesModel.getModel('title');\n\n if (titleModel.get('show')) {\n var offsetCenter = titleModel.get('offsetCenter');\n var x = posInfo.cx + parsePercent(offsetCenter[0], posInfo.r);\n var y = posInfo.cy + parsePercent(offsetCenter[1], posInfo.r);\n var minVal = +seriesModel.get('min');\n var maxVal = +seriesModel.get('max');\n var value = seriesModel.getData().get(valueDim, 0);\n var autoColor = getColor(linearMap(value, [minVal, maxVal], [0, 1], true));\n this.group.add(new graphic.Text({\n silent: true,\n style: graphic.setTextStyle({}, titleModel, {\n x: x,\n y: y,\n // FIXME First data name ?\n text: data.getName(0),\n textAlign: 'center',\n textVerticalAlign: 'middle'\n }, {\n autoColor: autoColor,\n forceRich: true\n })\n }));\n }\n },\n _renderDetail: function (seriesModel, ecModel, api, getColor, posInfo) {\n var detailModel = seriesModel.getModel('detail');\n var minVal = +seriesModel.get('min');\n var maxVal = +seriesModel.get('max');\n\n if (detailModel.get('show')) {\n var offsetCenter = detailModel.get('offsetCenter');\n var x = posInfo.cx + parsePercent(offsetCenter[0], posInfo.r);\n var y = posInfo.cy + parsePercent(offsetCenter[1], posInfo.r);\n var width = parsePercent(detailModel.get('width'), posInfo.r);\n var height = parsePercent(detailModel.get('height'), posInfo.r);\n var data = seriesModel.getData();\n var value = data.get(data.mapDimension('value'), 0);\n var autoColor = getColor(linearMap(value, [minVal, maxVal], [0, 1], true));\n this.group.add(new graphic.Text({\n silent: true,\n style: graphic.setTextStyle({}, detailModel, {\n x: x,\n y: y,\n text: formatLabel( // FIXME First data name ?\n value, detailModel.get('formatter')),\n textWidth: isNaN(width) ? null : width,\n textHeight: isNaN(height) ? null : height,\n textAlign: 'center',\n textVerticalAlign: 'middle'\n }, {\n autoColor: autoColor,\n forceRich: true\n })\n }));\n }\n }\n});\nvar _default = GaugeView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./lines/LinesSeries\");\n\nrequire(\"./lines/LinesView\");\n\nvar linesLayout = require(\"./lines/linesLayout\");\n\nvar linesVisual = require(\"./lines/linesVisual\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerLayout(linesLayout);\necharts.registerVisual(linesVisual);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Fix for 钓鱼岛\n// var Region = require('../Region');\n// var zrUtil = require('zrender/src/core/util');\n// var geoCoord = [126, 25];\nvar points = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]];\n\nfunction _default(mapType, region) {\n if (mapType === 'china' && region.name === '台湾') {\n region.geometries.push({\n type: 'polygon',\n exterior: points[0]\n });\n }\n}\n\nmodule.exports = _default;","var env = require(\"../core/env\");\n\nvar _vector = require(\"../core/vector\");\n\nvar applyTransform = _vector.applyTransform;\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar colorTool = require(\"../tool/color\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"../graphic/helper/text\");\n\nvar RectText = require(\"../graphic/mixin/RectText\");\n\nvar Displayable = require(\"../graphic/Displayable\");\n\nvar ZImage = require(\"../graphic/Image\");\n\nvar Text = require(\"../graphic/Text\");\n\nvar Path = require(\"../graphic/Path\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar Gradient = require(\"../graphic/Gradient\");\n\nvar vmlCore = require(\"./core\");\n\n// http://www.w3.org/TR/NOTE-VML\n// TODO Use proxy like svg instead of overwrite brush methods\nvar CMD = PathProxy.CMD;\nvar round = Math.round;\nvar sqrt = Math.sqrt;\nvar abs = Math.abs;\nvar cos = Math.cos;\nvar sin = Math.sin;\nvar mathMax = Math.max;\n\nif (!env.canvasSupported) {\n var comma = ',';\n var imageTransformPrefix = 'progid:DXImageTransform.Microsoft';\n var Z = 21600;\n var Z2 = Z / 2;\n var ZLEVEL_BASE = 100000;\n var Z_BASE = 1000;\n\n var initRootElStyle = function (el) {\n el.style.cssText = 'position:absolute;left:0;top:0;width:1px;height:1px;';\n el.coordsize = Z + ',' + Z;\n el.coordorigin = '0,0';\n };\n\n var encodeHtmlAttribute = function (s) {\n return String(s).replace(/&/g, '&').replace(/\"/g, '"');\n };\n\n var rgb2Str = function (r, g, b) {\n return 'rgb(' + [r, g, b].join(',') + ')';\n };\n\n var append = function (parent, child) {\n if (child && parent && child.parentNode !== parent) {\n parent.appendChild(child);\n }\n };\n\n var remove = function (parent, child) {\n if (child && parent && child.parentNode === parent) {\n parent.removeChild(child);\n }\n };\n\n var getZIndex = function (zlevel, z, z2) {\n // z 的取值范围为 [0, 1000]\n return (parseFloat(zlevel) || 0) * ZLEVEL_BASE + (parseFloat(z) || 0) * Z_BASE + z2;\n };\n\n var parsePercent = textHelper.parsePercent;\n /***************************************************\n * PATH\n **************************************************/\n\n var setColorAndOpacity = function (el, color, opacity) {\n var colorArr = colorTool.parse(color);\n opacity = +opacity;\n\n if (isNaN(opacity)) {\n opacity = 1;\n }\n\n if (colorArr) {\n el.color = rgb2Str(colorArr[0], colorArr[1], colorArr[2]);\n el.opacity = opacity * colorArr[3];\n }\n };\n\n var getColorAndAlpha = function (color) {\n var colorArr = colorTool.parse(color);\n return [rgb2Str(colorArr[0], colorArr[1], colorArr[2]), colorArr[3]];\n };\n\n var updateFillNode = function (el, style, zrEl) {\n // TODO pattern\n var fill = style.fill;\n\n if (fill != null) {\n // Modified from excanvas\n if (fill instanceof Gradient) {\n var gradientType;\n var angle = 0;\n var focus = [0, 0]; // additional offset\n\n var shift = 0; // scale factor for offset\n\n var expansion = 1;\n var rect = zrEl.getBoundingRect();\n var rectWidth = rect.width;\n var rectHeight = rect.height;\n\n if (fill.type === 'linear') {\n gradientType = 'gradient';\n var transform = zrEl.transform;\n var p0 = [fill.x * rectWidth, fill.y * rectHeight];\n var p1 = [fill.x2 * rectWidth, fill.y2 * rectHeight];\n\n if (transform) {\n applyTransform(p0, p0, transform);\n applyTransform(p1, p1, transform);\n }\n\n var dx = p1[0] - p0[0];\n var dy = p1[1] - p0[1];\n angle = Math.atan2(dx, dy) * 180 / Math.PI; // The angle should be a non-negative number.\n\n if (angle < 0) {\n angle += 360;\n } // Very small angles produce an unexpected result because they are\n // converted to a scientific notation string.\n\n\n if (angle < 1e-6) {\n angle = 0;\n }\n } else {\n gradientType = 'gradientradial';\n var p0 = [fill.x * rectWidth, fill.y * rectHeight];\n var transform = zrEl.transform;\n var scale = zrEl.scale;\n var width = rectWidth;\n var height = rectHeight;\n focus = [// Percent in bounding rect\n (p0[0] - rect.x) / width, (p0[1] - rect.y) / height];\n\n if (transform) {\n applyTransform(p0, p0, transform);\n }\n\n width /= scale[0] * Z;\n height /= scale[1] * Z;\n var dimension = mathMax(width, height);\n shift = 2 * 0 / dimension;\n expansion = 2 * fill.r / dimension - shift;\n } // We need to sort the color stops in ascending order by offset,\n // otherwise IE won't interpret it correctly.\n\n\n var stops = fill.colorStops.slice();\n stops.sort(function (cs1, cs2) {\n return cs1.offset - cs2.offset;\n });\n var length = stops.length; // Color and alpha list of first and last stop\n\n var colorAndAlphaList = [];\n var colors = [];\n\n for (var i = 0; i < length; i++) {\n var stop = stops[i];\n var colorAndAlpha = getColorAndAlpha(stop.color);\n colors.push(stop.offset * expansion + shift + ' ' + colorAndAlpha[0]);\n\n if (i === 0 || i === length - 1) {\n colorAndAlphaList.push(colorAndAlpha);\n }\n }\n\n if (length >= 2) {\n var color1 = colorAndAlphaList[0][0];\n var color2 = colorAndAlphaList[1][0];\n var opacity1 = colorAndAlphaList[0][1] * style.opacity;\n var opacity2 = colorAndAlphaList[1][1] * style.opacity;\n el.type = gradientType;\n el.method = 'none';\n el.focus = '100%';\n el.angle = angle;\n el.color = color1;\n el.color2 = color2;\n el.colors = colors.join(','); // When colors attribute is used, the meanings of opacity and o:opacity2\n // are reversed.\n\n el.opacity = opacity2; // FIXME g_o_:opacity ?\n\n el.opacity2 = opacity1;\n }\n\n if (gradientType === 'radial') {\n el.focusposition = focus.join(',');\n }\n } else {\n // FIXME Change from Gradient fill to color fill\n setColorAndOpacity(el, fill, style.opacity);\n }\n }\n };\n\n var updateStrokeNode = function (el, style) {\n // if (style.lineJoin != null) {\n // el.joinstyle = style.lineJoin;\n // }\n // if (style.miterLimit != null) {\n // el.miterlimit = style.miterLimit * Z;\n // }\n // if (style.lineCap != null) {\n // el.endcap = style.lineCap;\n // }\n if (style.lineDash) {\n el.dashstyle = style.lineDash.join(' ');\n }\n\n if (style.stroke != null && !(style.stroke instanceof Gradient)) {\n setColorAndOpacity(el, style.stroke, style.opacity);\n }\n };\n\n var updateFillAndStroke = function (vmlEl, type, style, zrEl) {\n var isFill = type === 'fill';\n var el = vmlEl.getElementsByTagName(type)[0]; // Stroke must have lineWidth\n\n if (style[type] != null && style[type] !== 'none' && (isFill || !isFill && style.lineWidth)) {\n vmlEl[isFill ? 'filled' : 'stroked'] = 'true'; // FIXME Remove before updating, or set `colors` will throw error\n\n if (style[type] instanceof Gradient) {\n remove(vmlEl, el);\n }\n\n if (!el) {\n el = vmlCore.createNode(type);\n }\n\n isFill ? updateFillNode(el, style, zrEl) : updateStrokeNode(el, style);\n append(vmlEl, el);\n } else {\n vmlEl[isFill ? 'filled' : 'stroked'] = 'false';\n remove(vmlEl, el);\n }\n };\n\n var points = [[], [], []];\n\n var pathDataToString = function (path, m) {\n var M = CMD.M;\n var C = CMD.C;\n var L = CMD.L;\n var A = CMD.A;\n var Q = CMD.Q;\n var str = [];\n var nPoint;\n var cmdStr;\n var cmd;\n var i;\n var xi;\n var yi;\n var data = path.data;\n var dataLength = path.len();\n\n for (i = 0; i < dataLength;) {\n cmd = data[i++];\n cmdStr = '';\n nPoint = 0;\n\n switch (cmd) {\n case M:\n cmdStr = ' m ';\n nPoint = 1;\n xi = data[i++];\n yi = data[i++];\n points[0][0] = xi;\n points[0][1] = yi;\n break;\n\n case L:\n cmdStr = ' l ';\n nPoint = 1;\n xi = data[i++];\n yi = data[i++];\n points[0][0] = xi;\n points[0][1] = yi;\n break;\n\n case Q:\n case C:\n cmdStr = ' c ';\n nPoint = 3;\n var x1 = data[i++];\n var y1 = data[i++];\n var x2 = data[i++];\n var y2 = data[i++];\n var x3;\n var y3;\n\n if (cmd === Q) {\n // Convert quadratic to cubic using degree elevation\n x3 = x2;\n y3 = y2;\n x2 = (x2 + 2 * x1) / 3;\n y2 = (y2 + 2 * y1) / 3;\n x1 = (xi + 2 * x1) / 3;\n y1 = (yi + 2 * y1) / 3;\n } else {\n x3 = data[i++];\n y3 = data[i++];\n }\n\n points[0][0] = x1;\n points[0][1] = y1;\n points[1][0] = x2;\n points[1][1] = y2;\n points[2][0] = x3;\n points[2][1] = y3;\n xi = x3;\n yi = y3;\n break;\n\n case A:\n var x = 0;\n var y = 0;\n var sx = 1;\n var sy = 1;\n var angle = 0;\n\n if (m) {\n // Extract SRT from matrix\n x = m[4];\n y = m[5];\n sx = sqrt(m[0] * m[0] + m[1] * m[1]);\n sy = sqrt(m[2] * m[2] + m[3] * m[3]);\n angle = Math.atan2(-m[1] / sy, m[0] / sx);\n }\n\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++] + angle;\n var endAngle = data[i++] + startAngle + angle; // FIXME\n // var psi = data[i++];\n\n i++;\n var clockwise = data[i++];\n var x0 = cx + cos(startAngle) * rx;\n var y0 = cy + sin(startAngle) * ry;\n var x1 = cx + cos(endAngle) * rx;\n var y1 = cy + sin(endAngle) * ry;\n var type = clockwise ? ' wa ' : ' at ';\n\n if (Math.abs(x0 - x1) < 1e-4) {\n // IE won't render arches drawn counter clockwise if x0 == x1.\n if (Math.abs(endAngle - startAngle) > 1e-2) {\n // Offset x0 by 1/80 of a pixel. Use something\n // that can be represented in binary\n if (clockwise) {\n x0 += 270 / Z;\n }\n } else {\n // Avoid case draw full circle\n if (Math.abs(y0 - cy) < 1e-4) {\n if (clockwise && x0 < cx || !clockwise && x0 > cx) {\n y1 -= 270 / Z;\n } else {\n y1 += 270 / Z;\n }\n } else if (clockwise && y0 < cy || !clockwise && y0 > cy) {\n x1 += 270 / Z;\n } else {\n x1 -= 270 / Z;\n }\n }\n }\n\n str.push(type, round(((cx - rx) * sx + x) * Z - Z2), comma, round(((cy - ry) * sy + y) * Z - Z2), comma, round(((cx + rx) * sx + x) * Z - Z2), comma, round(((cy + ry) * sy + y) * Z - Z2), comma, round((x0 * sx + x) * Z - Z2), comma, round((y0 * sy + y) * Z - Z2), comma, round((x1 * sx + x) * Z - Z2), comma, round((y1 * sy + y) * Z - Z2));\n xi = x1;\n yi = y1;\n break;\n\n case CMD.R:\n var p0 = points[0];\n var p1 = points[1]; // x0, y0\n\n p0[0] = data[i++];\n p0[1] = data[i++]; // x1, y1\n\n p1[0] = p0[0] + data[i++];\n p1[1] = p0[1] + data[i++];\n\n if (m) {\n applyTransform(p0, p0, m);\n applyTransform(p1, p1, m);\n }\n\n p0[0] = round(p0[0] * Z - Z2);\n p1[0] = round(p1[0] * Z - Z2);\n p0[1] = round(p0[1] * Z - Z2);\n p1[1] = round(p1[1] * Z - Z2);\n str.push( // x0, y0\n ' m ', p0[0], comma, p0[1], // x1, y0\n ' l ', p1[0], comma, p0[1], // x1, y1\n ' l ', p1[0], comma, p1[1], // x0, y1\n ' l ', p0[0], comma, p1[1]);\n break;\n\n case CMD.Z:\n // FIXME Update xi, yi\n str.push(' x ');\n }\n\n if (nPoint > 0) {\n str.push(cmdStr);\n\n for (var k = 0; k < nPoint; k++) {\n var p = points[k];\n m && applyTransform(p, p, m); // 不 round 会非常慢\n\n str.push(round(p[0] * Z - Z2), comma, round(p[1] * Z - Z2), k < nPoint - 1 ? comma : '');\n }\n }\n }\n\n return str.join('');\n }; // Rewrite the original path method\n\n\n Path.prototype.brushVML = function (vmlRoot) {\n var style = this.style;\n var vmlEl = this._vmlEl;\n\n if (!vmlEl) {\n vmlEl = vmlCore.createNode('shape');\n initRootElStyle(vmlEl);\n this._vmlEl = vmlEl;\n }\n\n updateFillAndStroke(vmlEl, 'fill', style, this);\n updateFillAndStroke(vmlEl, 'stroke', style, this);\n var m = this.transform;\n var needTransform = m != null;\n var strokeEl = vmlEl.getElementsByTagName('stroke')[0];\n\n if (strokeEl) {\n var lineWidth = style.lineWidth; // Get the line scale.\n // Determinant of this.m_ means how much the area is enlarged by the\n // transformation. So its square root can be used as a scale factor\n // for width.\n\n if (needTransform && !style.strokeNoScale) {\n var det = m[0] * m[3] - m[1] * m[2];\n lineWidth *= sqrt(abs(det));\n }\n\n strokeEl.weight = lineWidth + 'px';\n }\n\n var path = this.path || (this.path = new PathProxy());\n\n if (this.__dirtyPath) {\n path.beginPath();\n path.subPixelOptimize = false;\n this.buildPath(path, this.shape);\n path.toStatic();\n this.__dirtyPath = false;\n }\n\n vmlEl.path = pathDataToString(path, this.transform);\n vmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2); // Append to root\n\n append(vmlRoot, vmlEl); // Text\n\n if (style.text != null) {\n this.drawRectText(vmlRoot, this.getBoundingRect());\n } else {\n this.removeRectText(vmlRoot);\n }\n };\n\n Path.prototype.onRemove = function (vmlRoot) {\n remove(vmlRoot, this._vmlEl);\n this.removeRectText(vmlRoot);\n };\n\n Path.prototype.onAdd = function (vmlRoot) {\n append(vmlRoot, this._vmlEl);\n this.appendRectText(vmlRoot);\n };\n /***************************************************\n * IMAGE\n **************************************************/\n\n\n var isImage = function (img) {\n // FIXME img instanceof Image 如果 img 是一个字符串的时候,IE8 下会报错\n return typeof img === 'object' && img.tagName && img.tagName.toUpperCase() === 'IMG'; // return img instanceof Image;\n }; // Rewrite the original path method\n\n\n ZImage.prototype.brushVML = function (vmlRoot) {\n var style = this.style;\n var image = style.image; // Image original width, height\n\n var ow;\n var oh;\n\n if (isImage(image)) {\n var src = image.src;\n\n if (src === this._imageSrc) {\n ow = this._imageWidth;\n oh = this._imageHeight;\n } else {\n var imageRuntimeStyle = image.runtimeStyle;\n var oldRuntimeWidth = imageRuntimeStyle.width;\n var oldRuntimeHeight = imageRuntimeStyle.height;\n imageRuntimeStyle.width = 'auto';\n imageRuntimeStyle.height = 'auto'; // get the original size\n\n ow = image.width;\n oh = image.height; // and remove overides\n\n imageRuntimeStyle.width = oldRuntimeWidth;\n imageRuntimeStyle.height = oldRuntimeHeight; // Caching image original width, height and src\n\n this._imageSrc = src;\n this._imageWidth = ow;\n this._imageHeight = oh;\n }\n\n image = src;\n } else {\n if (image === this._imageSrc) {\n ow = this._imageWidth;\n oh = this._imageHeight;\n }\n }\n\n if (!image) {\n return;\n }\n\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var sw = style.sWidth;\n var sh = style.sHeight;\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n var hasCrop = sw && sh;\n var vmlEl = this._vmlEl;\n\n if (!vmlEl) {\n // FIXME 使用 group 在 left, top 都不是 0 的时候就无法显示了。\n // vmlEl = vmlCore.createNode('group');\n vmlEl = vmlCore.doc.createElement('div');\n initRootElStyle(vmlEl);\n this._vmlEl = vmlEl;\n }\n\n var vmlElStyle = vmlEl.style;\n var hasRotation = false;\n var m;\n var scaleX = 1;\n var scaleY = 1;\n\n if (this.transform) {\n m = this.transform;\n scaleX = sqrt(m[0] * m[0] + m[1] * m[1]);\n scaleY = sqrt(m[2] * m[2] + m[3] * m[3]);\n hasRotation = m[1] || m[2];\n }\n\n if (hasRotation) {\n // If filters are necessary (rotation exists), create them\n // filters are bog-slow, so only create them if abbsolutely necessary\n // The following check doesn't account for skews (which don't exist\n // in the canvas spec (yet) anyway.\n // From excanvas\n var p0 = [x, y];\n var p1 = [x + dw, y];\n var p2 = [x, y + dh];\n var p3 = [x + dw, y + dh];\n applyTransform(p0, p0, m);\n applyTransform(p1, p1, m);\n applyTransform(p2, p2, m);\n applyTransform(p3, p3, m);\n var maxX = mathMax(p0[0], p1[0], p2[0], p3[0]);\n var maxY = mathMax(p0[1], p1[1], p2[1], p3[1]);\n var transformFilter = [];\n transformFilter.push('M11=', m[0] / scaleX, comma, 'M12=', m[2] / scaleY, comma, 'M21=', m[1] / scaleX, comma, 'M22=', m[3] / scaleY, comma, 'Dx=', round(x * scaleX + m[4]), comma, 'Dy=', round(y * scaleY + m[5]));\n vmlElStyle.padding = '0 ' + round(maxX) + 'px ' + round(maxY) + 'px 0'; // FIXME DXImageTransform 在 IE11 的兼容模式下不起作用\n\n vmlElStyle.filter = imageTransformPrefix + '.Matrix(' + transformFilter.join('') + ', SizingMethod=clip)';\n } else {\n if (m) {\n x = x * scaleX + m[4];\n y = y * scaleY + m[5];\n }\n\n vmlElStyle.filter = '';\n vmlElStyle.left = round(x) + 'px';\n vmlElStyle.top = round(y) + 'px';\n }\n\n var imageEl = this._imageEl;\n var cropEl = this._cropEl;\n\n if (!imageEl) {\n imageEl = vmlCore.doc.createElement('div');\n this._imageEl = imageEl;\n }\n\n var imageELStyle = imageEl.style;\n\n if (hasCrop) {\n // Needs know image original width and height\n if (!(ow && oh)) {\n var tmpImage = new Image();\n var self = this;\n\n tmpImage.onload = function () {\n tmpImage.onload = null;\n ow = tmpImage.width;\n oh = tmpImage.height; // Adjust image width and height to fit the ratio destinationSize / sourceSize\n\n imageELStyle.width = round(scaleX * ow * dw / sw) + 'px';\n imageELStyle.height = round(scaleY * oh * dh / sh) + 'px'; // Caching image original width, height and src\n\n self._imageWidth = ow;\n self._imageHeight = oh;\n self._imageSrc = image;\n };\n\n tmpImage.src = image;\n } else {\n imageELStyle.width = round(scaleX * ow * dw / sw) + 'px';\n imageELStyle.height = round(scaleY * oh * dh / sh) + 'px';\n }\n\n if (!cropEl) {\n cropEl = vmlCore.doc.createElement('div');\n cropEl.style.overflow = 'hidden';\n this._cropEl = cropEl;\n }\n\n var cropElStyle = cropEl.style;\n cropElStyle.width = round((dw + sx * dw / sw) * scaleX);\n cropElStyle.height = round((dh + sy * dh / sh) * scaleY);\n cropElStyle.filter = imageTransformPrefix + '.Matrix(Dx=' + -sx * dw / sw * scaleX + ',Dy=' + -sy * dh / sh * scaleY + ')';\n\n if (!cropEl.parentNode) {\n vmlEl.appendChild(cropEl);\n }\n\n if (imageEl.parentNode !== cropEl) {\n cropEl.appendChild(imageEl);\n }\n } else {\n imageELStyle.width = round(scaleX * dw) + 'px';\n imageELStyle.height = round(scaleY * dh) + 'px';\n vmlEl.appendChild(imageEl);\n\n if (cropEl && cropEl.parentNode) {\n vmlEl.removeChild(cropEl);\n this._cropEl = null;\n }\n }\n\n var filterStr = '';\n var alpha = style.opacity;\n\n if (alpha < 1) {\n filterStr += '.Alpha(opacity=' + round(alpha * 100) + ') ';\n }\n\n filterStr += imageTransformPrefix + '.AlphaImageLoader(src=' + image + ', SizingMethod=scale)';\n imageELStyle.filter = filterStr;\n vmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2); // Append to root\n\n append(vmlRoot, vmlEl); // Text\n\n if (style.text != null) {\n this.drawRectText(vmlRoot, this.getBoundingRect());\n }\n };\n\n ZImage.prototype.onRemove = function (vmlRoot) {\n remove(vmlRoot, this._vmlEl);\n this._vmlEl = null;\n this._cropEl = null;\n this._imageEl = null;\n this.removeRectText(vmlRoot);\n };\n\n ZImage.prototype.onAdd = function (vmlRoot) {\n append(vmlRoot, this._vmlEl);\n this.appendRectText(vmlRoot);\n };\n /***************************************************\n * TEXT\n **************************************************/\n\n\n var DEFAULT_STYLE_NORMAL = 'normal';\n var fontStyleCache = {};\n var fontStyleCacheCount = 0;\n var MAX_FONT_CACHE_SIZE = 100;\n var fontEl = document.createElement('div');\n\n var getFontStyle = function (fontString) {\n var fontStyle = fontStyleCache[fontString];\n\n if (!fontStyle) {\n // Clear cache\n if (fontStyleCacheCount > MAX_FONT_CACHE_SIZE) {\n fontStyleCacheCount = 0;\n fontStyleCache = {};\n }\n\n var style = fontEl.style;\n var fontFamily;\n\n try {\n style.font = fontString;\n fontFamily = style.fontFamily.split(',')[0];\n } catch (e) {}\n\n fontStyle = {\n style: style.fontStyle || DEFAULT_STYLE_NORMAL,\n variant: style.fontVariant || DEFAULT_STYLE_NORMAL,\n weight: style.fontWeight || DEFAULT_STYLE_NORMAL,\n size: parseFloat(style.fontSize || 12) | 0,\n family: fontFamily || 'Microsoft YaHei'\n };\n fontStyleCache[fontString] = fontStyle;\n fontStyleCacheCount++;\n }\n\n return fontStyle;\n };\n\n var textMeasureEl; // Overwrite measure text method\n\n textContain.$override('measureText', function (text, textFont) {\n var doc = vmlCore.doc;\n\n if (!textMeasureEl) {\n textMeasureEl = doc.createElement('div');\n textMeasureEl.style.cssText = 'position:absolute;top:-20000px;left:0;' + 'padding:0;margin:0;border:none;white-space:pre;';\n vmlCore.doc.body.appendChild(textMeasureEl);\n }\n\n try {\n textMeasureEl.style.font = textFont;\n } catch (ex) {// Ignore failures to set to invalid font.\n }\n\n textMeasureEl.innerHTML = ''; // Don't use innerHTML or innerText because they allow markup/whitespace.\n\n textMeasureEl.appendChild(doc.createTextNode(text));\n return {\n width: textMeasureEl.offsetWidth\n };\n });\n var tmpRect = new BoundingRect();\n\n var drawRectText = function (vmlRoot, rect, textRect, fromTextEl) {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n text != null && (text += '');\n\n if (!text) {\n return;\n } // Convert rich text to plain text. Rich text is not supported in\n // IE8-, but tags in rich text template will be removed.\n\n\n if (style.rich) {\n var contentBlock = textContain.parseRichText(text, style);\n text = [];\n\n for (var i = 0; i < contentBlock.lines.length; i++) {\n var tokens = contentBlock.lines[i].tokens;\n var textLine = [];\n\n for (var j = 0; j < tokens.length; j++) {\n textLine.push(tokens[j].text);\n }\n\n text.push(textLine.join(''));\n }\n\n text = text.join('\\n');\n }\n\n var x;\n var y;\n var align = style.textAlign;\n var verticalAlign = style.textVerticalAlign;\n var fontStyle = getFontStyle(style.font); // FIXME encodeHtmlAttribute ?\n\n var font = fontStyle.style + ' ' + fontStyle.variant + ' ' + fontStyle.weight + ' ' + fontStyle.size + 'px \"' + fontStyle.family + '\"';\n textRect = textRect || textContain.getBoundingRect(text, font, align, verticalAlign, style.textPadding, style.textLineHeight); // Transform rect to view space\n\n var m = this.transform; // Ignore transform for text in other element\n\n if (m && !fromTextEl) {\n tmpRect.copy(rect);\n tmpRect.applyTransform(m);\n rect = tmpRect;\n }\n\n if (!fromTextEl) {\n var textPosition = style.textPosition; // Text position represented by coord\n\n if (textPosition instanceof Array) {\n x = rect.x + parsePercent(textPosition[0], rect.width);\n y = rect.y + parsePercent(textPosition[1], rect.height);\n align = align || 'left';\n } else {\n var res = this.calculateTextPosition ? this.calculateTextPosition({}, style, rect) : textContain.calculateTextPosition({}, style, rect);\n x = res.x;\n y = res.y; // Default align and baseline when has textPosition\n\n align = align || res.textAlign;\n verticalAlign = verticalAlign || res.textVerticalAlign;\n }\n } else {\n x = rect.x;\n y = rect.y;\n }\n\n x = textContain.adjustTextX(x, textRect.width, align);\n y = textContain.adjustTextY(y, textRect.height, verticalAlign); // Force baseline 'middle'\n\n y += textRect.height / 2; // var fontSize = fontStyle.size;\n // 1.75 is an arbitrary number, as there is no info about the text baseline\n // switch (baseline) {\n // case 'hanging':\n // case 'top':\n // y += fontSize / 1.75;\n // break;\n // case 'middle':\n // break;\n // default:\n // // case null:\n // // case 'alphabetic':\n // // case 'ideographic':\n // // case 'bottom':\n // y -= fontSize / 2.25;\n // break;\n // }\n // switch (align) {\n // case 'left':\n // break;\n // case 'center':\n // x -= textRect.width / 2;\n // break;\n // case 'right':\n // x -= textRect.width;\n // break;\n // case 'end':\n // align = elementStyle.direction == 'ltr' ? 'right' : 'left';\n // break;\n // case 'start':\n // align = elementStyle.direction == 'rtl' ? 'right' : 'left';\n // break;\n // default:\n // align = 'left';\n // }\n\n var createNode = vmlCore.createNode;\n var textVmlEl = this._textVmlEl;\n var pathEl;\n var textPathEl;\n var skewEl;\n\n if (!textVmlEl) {\n textVmlEl = createNode('line');\n pathEl = createNode('path');\n textPathEl = createNode('textpath');\n skewEl = createNode('skew'); // FIXME Why here is not cammel case\n // Align 'center' seems wrong\n\n textPathEl.style['v-text-align'] = 'left';\n initRootElStyle(textVmlEl);\n pathEl.textpathok = true;\n textPathEl.on = true;\n textVmlEl.from = '0 0';\n textVmlEl.to = '1000 0.05';\n append(textVmlEl, skewEl);\n append(textVmlEl, pathEl);\n append(textVmlEl, textPathEl);\n this._textVmlEl = textVmlEl;\n } else {\n // 这里是在前面 appendChild 保证顺序的前提下\n skewEl = textVmlEl.firstChild;\n pathEl = skewEl.nextSibling;\n textPathEl = pathEl.nextSibling;\n }\n\n var coords = [x, y];\n var textVmlElStyle = textVmlEl.style; // Ignore transform for text in other element\n\n if (m && fromTextEl) {\n applyTransform(coords, coords, m);\n skewEl.on = true;\n skewEl.matrix = m[0].toFixed(3) + comma + m[2].toFixed(3) + comma + m[1].toFixed(3) + comma + m[3].toFixed(3) + ',0,0'; // Text position\n\n skewEl.offset = (round(coords[0]) || 0) + ',' + (round(coords[1]) || 0); // Left top point as origin\n\n skewEl.origin = '0 0';\n textVmlElStyle.left = '0px';\n textVmlElStyle.top = '0px';\n } else {\n skewEl.on = false;\n textVmlElStyle.left = round(x) + 'px';\n textVmlElStyle.top = round(y) + 'px';\n }\n\n textPathEl.string = encodeHtmlAttribute(text); // TODO\n\n try {\n textPathEl.style.font = font;\n } // Error font format\n catch (e) {}\n\n updateFillAndStroke(textVmlEl, 'fill', {\n fill: style.textFill,\n opacity: style.opacity\n }, this);\n updateFillAndStroke(textVmlEl, 'stroke', {\n stroke: style.textStroke,\n opacity: style.opacity,\n lineDash: style.lineDash || null // style.lineDash can be `false`.\n\n }, this);\n textVmlEl.style.zIndex = getZIndex(this.zlevel, this.z, this.z2); // Attached to root\n\n append(vmlRoot, textVmlEl);\n };\n\n var removeRectText = function (vmlRoot) {\n remove(vmlRoot, this._textVmlEl);\n this._textVmlEl = null;\n };\n\n var appendRectText = function (vmlRoot) {\n append(vmlRoot, this._textVmlEl);\n };\n\n var list = [RectText, Displayable, ZImage, Path, Text]; // In case Displayable has been mixed in RectText\n\n for (var i = 0; i < list.length; i++) {\n var proto = list[i].prototype;\n proto.drawRectText = drawRectText;\n proto.removeRectText = removeRectText;\n proto.appendRectText = appendRectText;\n }\n\n Text.prototype.brushVML = function (vmlRoot) {\n var style = this.style;\n\n if (style.text != null) {\n this.drawRectText(vmlRoot, {\n x: style.x || 0,\n y: style.y || 0,\n width: 0,\n height: 0\n }, this.getBoundingRect(), true);\n } else {\n this.removeRectText(vmlRoot);\n }\n };\n\n Text.prototype.onRemove = function (vmlRoot) {\n this.removeRectText(vmlRoot);\n };\n\n Text.prototype.onAdd = function (vmlRoot) {\n this.appendRectText(vmlRoot);\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar polygonContain = require(\"zrender/lib/contain/polygon\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _graphic = require(\"../../util/graphic\");\n\nvar linePolygonIntersect = _graphic.linePolygonIntersect;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Key of the first level is brushType: `line`, `rect`, `polygon`.\n// Key of the second level is chart element type: `point`, `rect`.\n// See moudule:echarts/component/helper/BrushController\n// function param:\n// {Object} itemLayout fetch from data.getItemLayout(dataIndex)\n// {Object} selectors {point: selector, rect: selector, ...}\n// {Object} area {range: [[], [], ..], boudingRect}\n// function return:\n// {boolean} Whether in the given brush.\nvar selector = {\n lineX: getLineSelectors(0),\n lineY: getLineSelectors(1),\n rect: {\n point: function (itemLayout, selectors, area) {\n return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]);\n },\n rect: function (itemLayout, selectors, area) {\n return itemLayout && area.boundingRect.intersect(itemLayout);\n }\n },\n polygon: {\n point: function (itemLayout, selectors, area) {\n return itemLayout && area.boundingRect.contain(itemLayout[0], itemLayout[1]) && polygonContain.contain(area.range, itemLayout[0], itemLayout[1]);\n },\n rect: function (itemLayout, selectors, area) {\n var points = area.range;\n\n if (!itemLayout || points.length <= 1) {\n return false;\n }\n\n var x = itemLayout.x;\n var y = itemLayout.y;\n var width = itemLayout.width;\n var height = itemLayout.height;\n var p = points[0];\n\n if (polygonContain.contain(points, x, y) || polygonContain.contain(points, x + width, y) || polygonContain.contain(points, x, y + height) || polygonContain.contain(points, x + width, y + height) || BoundingRect.create(itemLayout).contain(p[0], p[1]) || linePolygonIntersect(x, y, x + width, y, points) || linePolygonIntersect(x, y, x, y + height, points) || linePolygonIntersect(x + width, y, x + width, y + height, points) || linePolygonIntersect(x, y + height, x + width, y + height, points)) {\n return true;\n }\n }\n }\n};\n\nfunction getLineSelectors(xyIndex) {\n var xy = ['x', 'y'];\n var wh = ['width', 'height'];\n return {\n point: function (itemLayout, selectors, area) {\n if (itemLayout) {\n var range = area.range;\n var p = itemLayout[xyIndex];\n return inLineRange(p, range);\n }\n },\n rect: function (itemLayout, selectors, area) {\n if (itemLayout) {\n var range = area.range;\n var layoutRange = [itemLayout[xy[xyIndex]], itemLayout[xy[xyIndex]] + itemLayout[wh[xyIndex]]];\n layoutRange[1] < layoutRange[0] && layoutRange.reverse();\n return inLineRange(layoutRange[0], range) || inLineRange(layoutRange[1], range) || inLineRange(range[0], layoutRange) || inLineRange(range[1], layoutRange);\n }\n }\n };\n}\n\nfunction inLineRange(p, range) {\n return range[0] <= p && p <= range[1];\n}\n\nvar _default = selector;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar MarkerModel = require(\"./MarkerModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = MarkerModel.extend({\n type: 'markPoint',\n defaultOption: {\n zlevel: 0,\n z: 5,\n symbol: 'pin',\n symbolSize: 50,\n //symbolRotate: 0,\n //symbolOffset: [0, 0]\n tooltip: {\n trigger: 'item'\n },\n label: {\n show: true,\n position: 'inside'\n },\n itemStyle: {\n borderWidth: 2\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentModel({\n type: 'tooltip',\n dependencies: ['axisPointer'],\n defaultOption: {\n zlevel: 0,\n z: 60,\n show: true,\n // tooltip主体内容\n showContent: true,\n // 'trigger' only works on coordinate system.\n // 'item' | 'axis' | 'none'\n trigger: 'item',\n // 'click' | 'mousemove' | 'none'\n triggerOn: 'mousemove|click',\n alwaysShowContent: false,\n displayMode: 'single',\n // 'single' | 'multipleByCoordSys'\n renderMode: 'auto',\n // 'auto' | 'html' | 'richText'\n // 'auto': use html by default, and use non-html if `document` is not defined\n // 'html': use html for tooltip\n // 'richText': use canvas, svg, and etc. for tooltip\n // 位置 {Array} | {Function}\n // position: null\n // Consider triggered from axisPointer handle, verticalAlign should be 'middle'\n // align: null,\n // verticalAlign: null,\n // 是否约束 content 在 viewRect 中。默认 false 是为了兼容以前版本。\n confine: false,\n // 内容格式器:{string}(Template) ¦ {Function}\n // formatter: null\n showDelay: 0,\n // 隐藏延迟,单位ms\n hideDelay: 100,\n // 动画变换时间,单位s\n transitionDuration: 0.4,\n enterable: false,\n // 提示背景颜色,默认为透明度为0.7的黑色\n backgroundColor: 'rgba(50,50,50,0.7)',\n // 提示边框颜色\n borderColor: '#333',\n // 提示边框圆角,单位px,默认为4\n borderRadius: 4,\n // 提示边框线宽,单位px,默认为0(无边框)\n borderWidth: 0,\n // 提示内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n padding: 5,\n // Extra css text\n extraCssText: '',\n // 坐标轴指示器,坐标轴触发有效\n axisPointer: {\n // 默认为直线\n // 可选为:'line' | 'shadow' | 'cross'\n type: 'line',\n // type 为 line 的时候有效,指定 tooltip line 所在的轴,可选\n // 可选 'x' | 'y' | 'angle' | 'radius' | 'auto'\n // 默认 'auto',会选择类型为 category 的轴,对于双数值轴,笛卡尔坐标系会默认选择 x 轴\n // 极坐标系会默认选择 angle 轴\n axis: 'auto',\n animation: 'auto',\n animationDurationUpdate: 200,\n animationEasingUpdate: 'exponentialOut',\n crossStyle: {\n color: '#999',\n width: 1,\n type: 'dashed',\n // TODO formatter\n textStyle: {} // lineStyle and shadowStyle should not be specified here,\n // otherwise it will always override those styles on option.axisPointer.\n\n }\n },\n textStyle: {\n color: '#fff',\n fontSize: 14\n }\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar Axis = require(\"../Axis\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n\nfunction AngleAxis(scale, angleExtent) {\n angleExtent = angleExtent || [0, 360];\n Axis.call(this, 'angle', scale, angleExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'category';\n}\n\nAngleAxis.prototype = {\n constructor: AngleAxis,\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.polar.pointToData(point, clamp)[this.dim === 'radius' ? 0 : 1];\n },\n dataToAngle: Axis.prototype.dataToCoord,\n angleToData: Axis.prototype.coordToData,\n\n /**\n * Only be called in category axis.\n * Angle axis uses text height to decide interval\n *\n * @override\n * @return {number} Auto interval for cateogry axis tick and label\n */\n calculateCategoryInterval: function () {\n var axis = this;\n var labelModel = axis.getLabelModel();\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitH = Math.abs(unitSpan); // Not precise, just use height as text width\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(tickValue, labelModel.getFont(), 'center', 'top');\n var maxH = Math.max(rect.height, 7);\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(dh));\n var cache = inner(axis.model);\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n }\n\n return interval;\n }\n};\nzrUtil.inherits(AngleAxis, Axis);\nvar _default = AngleAxis;\nmodule.exports = _default;","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar Tree = require(\"../../data/Tree\");\n\nvar Model = require(\"../../model/Model\");\n\nvar _treeHelper = require(\"../helper/treeHelper\");\n\nvar wrapTreePathInfo = _treeHelper.wrapTreePathInfo;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.sunburst',\n\n /**\n * @type {module:echarts/data/Tree~Node}\n */\n _viewRoot: null,\n getInitialData: function (option, ecModel) {\n // Create a virtual root.\n var root = {\n name: option.name,\n children: option.data\n };\n completeTreeValue(root);\n var levelModels = zrUtil.map(option.levels || [], function (levelDefine) {\n return new Model(levelDefine, this, ecModel);\n }, this); // Make sure always a new tree is created when setOption,\n // in TreemapView, we check whether oldTree === newTree\n // to choose mappings approach among old shapes and new shapes.\n\n var tree = Tree.createTree(root, this, beforeLink);\n\n function beforeLink(nodeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n var node = tree.getNodeByDataIndex(idx);\n var levelModel = levelModels[node.depth];\n levelModel && (model.parentModel = levelModel);\n return model;\n });\n }\n\n return tree.data;\n },\n optionUpdated: function () {\n this.resetViewRoot();\n },\n\n /*\n * @override\n */\n getDataParams: function (dataIndex) {\n var params = SeriesModel.prototype.getDataParams.apply(this, arguments);\n var node = this.getData().tree.getNodeByDataIndex(dataIndex);\n params.treePathInfo = wrapTreePathInfo(node, this);\n return params;\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n // 默认全局居中\n center: ['50%', '50%'],\n radius: [0, '75%'],\n // 默认顺时针\n clockwise: true,\n startAngle: 90,\n // 最小角度改为0\n minAngle: 0,\n percentPrecision: 2,\n // If still show when all data zero.\n stillShowZeroSum: true,\n // Policy of highlighting pieces when hover on one\n // Valid values: 'none' (for not downplay others), 'descendant',\n // 'ancestor', 'self'\n highlightPolicy: 'descendant',\n // 'rootToNode', 'link', or false\n nodeClick: 'rootToNode',\n renderLabelForZeroData: false,\n label: {\n // could be: 'radial', 'tangential', or 'none'\n rotate: 'radial',\n show: true,\n opacity: 1,\n // 'left' is for inner side of inside, and 'right' is for outter\n // side for inside\n align: 'center',\n position: 'inside',\n distance: 5,\n silent: true\n },\n itemStyle: {\n borderWidth: 1,\n borderColor: 'white',\n borderType: 'solid',\n shadowBlur: 0,\n shadowColor: 'rgba(0, 0, 0, 0.2)',\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n },\n highlight: {\n itemStyle: {\n opacity: 1\n }\n },\n downplay: {\n itemStyle: {\n opacity: 0.5\n },\n label: {\n opacity: 0.6\n }\n },\n // Animation type canbe expansion, scale\n animationType: 'expansion',\n animationDuration: 1000,\n animationDurationUpdate: 500,\n animationEasing: 'cubicOut',\n data: [],\n levels: [],\n\n /**\n * Sort order.\n *\n * Valid values: 'desc', 'asc', null, or callback function.\n * 'desc' and 'asc' for descend and ascendant order;\n * null for not sorting;\n * example of callback function:\n * function(nodeA, nodeB) {\n * return nodeA.getValue() - nodeB.getValue();\n * }\n */\n sort: 'desc'\n },\n getViewRoot: function () {\n return this._viewRoot;\n },\n\n /**\n * @param {module:echarts/data/Tree~Node} [viewRoot]\n */\n resetViewRoot: function (viewRoot) {\n viewRoot ? this._viewRoot = viewRoot : viewRoot = this._viewRoot;\n var root = this.getRawData().tree.root;\n\n if (!viewRoot || viewRoot !== root && !root.contains(viewRoot)) {\n this._viewRoot = root;\n }\n }\n});\n/**\n * @param {Object} dataNode\n */\n\n\nfunction completeTreeValue(dataNode) {\n // Postorder travel tree.\n // If value of none-leaf node is not set,\n // calculate it by suming up the value of all children.\n var sum = 0;\n zrUtil.each(dataNode.children, function (child) {\n completeTreeValue(child);\n var childValue = child.value;\n zrUtil.isArray(childValue) && (childValue = childValue[0]);\n sum += childValue;\n });\n var thisValue = dataNode.value;\n\n if (zrUtil.isArray(thisValue)) {\n thisValue = thisValue[0];\n }\n\n if (thisValue == null || isNaN(thisValue)) {\n thisValue = sum;\n } // Value should not less than 0.\n\n\n if (thisValue < 0) {\n thisValue = 0;\n }\n\n zrUtil.isArray(dataNode.value) ? dataNode.value[0] = thisValue : dataNode.value = thisValue;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n dataItem = dataItem || [0, 0];\n return zrUtil.map(['x', 'y'], function (dim, dimIdx) {\n var axis = this.getAxis(dim);\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.grid.getRect();\n return {\n coordSys: {\n // The name exposed to user is always 'cartesian2d' but not 'grid'.\n type: 'cartesian2d',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" param\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./bar/PictorialBarSeries\");\n\nrequire(\"./bar/PictorialBarView\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar layout = _barGrid.layout;\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In case developer forget to include grid component\necharts.registerLayout(zrUtil.curry(layout, 'pictorialBar'));\necharts.registerVisual(visualSymbol('pictorialBar', 'roundRect'));","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar VISUAL_PRIORITY = echarts.PRIORITY.VISUAL.COMPONENT;\necharts.registerVisual(VISUAL_PRIORITY, {\n createOnAllSeries: true,\n reset: function (seriesModel, ecModel) {\n var resetDefines = [];\n ecModel.eachComponent('visualMap', function (visualMapModel) {\n var pipelineContext = seriesModel.pipelineContext;\n\n if (!visualMapModel.isTargetSeries(seriesModel) || pipelineContext && pipelineContext.large) {\n return;\n }\n\n resetDefines.push(visualSolution.incrementalApplyVisual(visualMapModel.stateList, visualMapModel.targetVisuals, zrUtil.bind(visualMapModel.getValueState, visualMapModel), visualMapModel.getDataDimension(seriesModel.getData())));\n });\n return resetDefines;\n }\n}); // Only support color.\n\necharts.registerVisual(VISUAL_PRIORITY, {\n createOnAllSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var visualMetaList = [];\n ecModel.eachComponent('visualMap', function (visualMapModel) {\n if (visualMapModel.isTargetSeries(seriesModel)) {\n var visualMeta = visualMapModel.getVisualMeta(zrUtil.bind(getColorVisual, null, seriesModel, visualMapModel)) || {\n stops: [],\n outerColors: []\n };\n var concreteDim = visualMapModel.getDataDimension(data);\n var dimInfo = data.getDimensionInfo(concreteDim);\n\n if (dimInfo != null) {\n // visualMeta.dimension should be dimension index, but not concrete dimension.\n visualMeta.dimension = dimInfo.index;\n visualMetaList.push(visualMeta);\n }\n }\n }); // console.log(JSON.stringify(visualMetaList.map(a => a.stops)));\n\n seriesModel.getData().setVisual('visualMeta', visualMetaList);\n }\n}); // FIXME\n// performance and export for heatmap?\n// value can be Infinity or -Infinity\n\nfunction getColorVisual(seriesModel, visualMapModel, value, valueState) {\n var mappings = visualMapModel.targetVisuals[valueState];\n var visualTypes = VisualMapping.prepareVisualTypes(mappings);\n var resultVisual = {\n color: seriesModel.getData().getVisual('color') // default color.\n\n };\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n var mapping = mappings[type === 'opacity' ? '__alphaForOpacity' : type];\n mapping && mapping.applyVisual(value, getVisual, setVisual);\n }\n\n return resultVisual.color;\n\n function getVisual(key) {\n return resultVisual[key];\n }\n\n function setVisual(key, value) {\n resultVisual[key] = value;\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar opacityAccessPath = ['lineStyle', 'normal', 'opacity'];\nvar _default = {\n seriesType: 'parallel',\n reset: function (seriesModel, ecModel, api) {\n var itemStyleModel = seriesModel.getModel('itemStyle');\n var lineStyleModel = seriesModel.getModel('lineStyle');\n var globalColors = ecModel.get('color');\n var color = lineStyleModel.get('color') || itemStyleModel.get('color') || globalColors[seriesModel.seriesIndex % globalColors.length];\n var inactiveOpacity = seriesModel.get('inactiveOpacity');\n var activeOpacity = seriesModel.get('activeOpacity');\n var lineStyle = seriesModel.getModel('lineStyle').getLineStyle();\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var opacityMap = {\n normal: lineStyle.opacity,\n active: activeOpacity,\n inactive: inactiveOpacity\n };\n data.setVisual('color', color);\n\n function progress(params, data) {\n coordSys.eachActiveState(data, function (activeState, dataIndex) {\n var opacity = opacityMap[activeState];\n\n if (activeState === 'normal' && data.hasItemOption) {\n var itemOpacity = data.getItemModel(dataIndex).get(opacityAccessPath, true);\n itemOpacity != null && (opacity = itemOpacity);\n }\n\n data.setItemVisual(dataIndex, 'opacity', opacity);\n }, params.start, params.end);\n }\n\n return {\n progress: progress\n };\n }\n};\nmodule.exports = _default;","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","module.exports = function (regExp, replace) {\n var replacer = replace === Object(replace) ? function (part) {\n return replace[part];\n } : replace;\n return function (it) {\n return String(it).replace(regExp, replacer);\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar SymbolDraw = require(\"../helper/SymbolDraw\");\n\nvar LargeSymbolDraw = require(\"../helper/LargeSymbolDraw\");\n\nvar pointsLayout = require(\"../../layout/points\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.extendChartView({\n type: 'scatter',\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n\n var symbolDraw = this._updateSymbolDraw(data, seriesModel);\n\n symbolDraw.updateData(data, {\n // TODO\n // If this parameter should be a shape or a bounding volume\n // shape will be more general.\n // But bounding volume like bounding rect will be much faster in the contain calculation\n clipShape: this._getClipShape(seriesModel)\n });\n this._finished = true;\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n\n var symbolDraw = this._updateSymbolDraw(data, seriesModel);\n\n symbolDraw.incrementalPrepareUpdate(data);\n this._finished = false;\n },\n incrementalRender: function (taskParams, seriesModel, ecModel) {\n this._symbolDraw.incrementalUpdate(taskParams, seriesModel.getData(), {\n clipShape: this._getClipShape(seriesModel)\n });\n\n this._finished = taskParams.end === seriesModel.getData().count();\n },\n updateTransform: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData(); // Must mark group dirty and make sure the incremental layer will be cleared\n // PENDING\n\n this.group.dirty();\n\n if (!this._finished || data.count() > 1e4 || !this._symbolDraw.isPersistent()) {\n return {\n update: true\n };\n } else {\n var res = pointsLayout().reset(seriesModel);\n\n if (res.progress) {\n res.progress({\n start: 0,\n end: data.count()\n }, data);\n }\n\n this._symbolDraw.updateLayout(data);\n }\n },\n _getClipShape: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var clipArea = coordSys && coordSys.getArea && coordSys.getArea();\n return seriesModel.get('clip', true) ? clipArea : null;\n },\n _updateSymbolDraw: function (data, seriesModel) {\n var symbolDraw = this._symbolDraw;\n var pipelineContext = seriesModel.pipelineContext;\n var isLargeDraw = pipelineContext.large;\n\n if (!symbolDraw || isLargeDraw !== this._isLargeDraw) {\n symbolDraw && symbolDraw.remove();\n symbolDraw = this._symbolDraw = isLargeDraw ? new LargeSymbolDraw() : new SymbolDraw();\n this._isLargeDraw = isLargeDraw;\n this.group.removeAll();\n }\n\n this.group.add(symbolDraw.group);\n return symbolDraw;\n },\n remove: function (ecModel, api) {\n this._symbolDraw && this._symbolDraw.remove(true);\n this._symbolDraw = null;\n },\n dispose: function () {}\n});","var Path = require(\"../Path\");\n\nvar vec2 = require(\"../../core/vector\");\n\nvar _curve = require(\"../../core/curve\");\n\nvar quadraticSubdivide = _curve.quadraticSubdivide;\nvar cubicSubdivide = _curve.cubicSubdivide;\nvar quadraticAt = _curve.quadraticAt;\nvar cubicAt = _curve.cubicAt;\nvar quadraticDerivativeAt = _curve.quadraticDerivativeAt;\nvar cubicDerivativeAt = _curve.cubicDerivativeAt;\n\n/**\n * 贝塞尔曲线\n * @module zrender/shape/BezierCurve\n */\nvar out = [];\n\nfunction someVectorAt(shape, t, isTangent) {\n var cpx2 = shape.cpx2;\n var cpy2 = shape.cpy2;\n\n if (cpx2 === null || cpy2 === null) {\n return [(isTangent ? cubicDerivativeAt : cubicAt)(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t), (isTangent ? cubicDerivativeAt : cubicAt)(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t)];\n } else {\n return [(isTangent ? quadraticDerivativeAt : quadraticAt)(shape.x1, shape.cpx1, shape.x2, t), (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.y1, shape.cpy1, shape.y2, t)];\n }\n}\n\nvar _default = Path.extend({\n type: 'bezier-curve',\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n cpx1: 0,\n cpy1: 0,\n // cpx2: 0,\n // cpy2: 0\n // Curve show percent, for animating\n percent: 1\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n var x1 = shape.x1;\n var y1 = shape.y1;\n var x2 = shape.x2;\n var y2 = shape.y2;\n var cpx1 = shape.cpx1;\n var cpy1 = shape.cpy1;\n var cpx2 = shape.cpx2;\n var cpy2 = shape.cpy2;\n var percent = shape.percent;\n\n if (percent === 0) {\n return;\n }\n\n ctx.moveTo(x1, y1);\n\n if (cpx2 == null || cpy2 == null) {\n if (percent < 1) {\n quadraticSubdivide(x1, cpx1, x2, percent, out);\n cpx1 = out[1];\n x2 = out[2];\n quadraticSubdivide(y1, cpy1, y2, percent, out);\n cpy1 = out[1];\n y2 = out[2];\n }\n\n ctx.quadraticCurveTo(cpx1, cpy1, x2, y2);\n } else {\n if (percent < 1) {\n cubicSubdivide(x1, cpx1, cpx2, x2, percent, out);\n cpx1 = out[1];\n cpx2 = out[2];\n x2 = out[3];\n cubicSubdivide(y1, cpy1, cpy2, y2, percent, out);\n cpy1 = out[1];\n cpy2 = out[2];\n y2 = out[3];\n }\n\n ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2);\n }\n },\n\n /**\n * Get point at percent\n * @param {number} t\n * @return {Array.}\n */\n pointAt: function (t) {\n return someVectorAt(this.shape, t, false);\n },\n\n /**\n * Get tangent at percent\n * @param {number} t\n * @return {Array.}\n */\n tangentAt: function (t) {\n var p = someVectorAt(this.shape, t, true);\n return vec2.normalize(p, p);\n }\n});\n\nmodule.exports = _default;","require('./_wks-define')('asyncIterator');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _circularLayoutHelper = require(\"./circularLayoutHelper\");\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n if (seriesModel.get('layout') === 'circular') {\n circularLayout(seriesModel, 'symbolSize');\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar List = require(\"../../data/List\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar groupData = _model.groupData;\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar DATA_NAME_INDEX = 2;\nvar ThemeRiverSeries = SeriesModel.extend({\n type: 'series.themeRiver',\n dependencies: ['singleAxis'],\n\n /**\n * @readOnly\n * @type {module:zrender/core/util#HashMap}\n */\n nameMap: null,\n\n /**\n * @override\n */\n init: function (option) {\n // eslint-disable-next-line\n ThemeRiverSeries.superApply(this, 'init', arguments); // Put this function here is for the sake of consistency of code style.\n // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n },\n\n /**\n * If there is no value of a certain point in the time for some event,set it value to 0.\n *\n * @param {Array} data initial data in the option\n * @return {Array}\n */\n fixData: function (data) {\n var rawDataLength = data.length;\n /**\n * Make sure every layer data get the same keys.\n * The value index tells which layer has visited.\n * {\n * 2014/01/01: -1\n * }\n */\n\n var timeValueKeys = {}; // grouped data by name\n\n var groupResult = groupData(data, function (item) {\n if (!timeValueKeys.hasOwnProperty(item[0])) {\n timeValueKeys[item[0]] = -1;\n }\n\n return item[2];\n });\n var layData = [];\n groupResult.buckets.each(function (items, key) {\n layData.push({\n name: key,\n dataList: items\n });\n });\n var layerNum = layData.length;\n\n for (var k = 0; k < layerNum; ++k) {\n var name = layData[k].name;\n\n for (var j = 0; j < layData[k].dataList.length; ++j) {\n var timeValue = layData[k].dataList[j][0];\n timeValueKeys[timeValue] = k;\n }\n\n for (var timeValue in timeValueKeys) {\n if (timeValueKeys.hasOwnProperty(timeValue) && timeValueKeys[timeValue] !== k) {\n timeValueKeys[timeValue] = k;\n data[rawDataLength] = [];\n data[rawDataLength][0] = timeValue;\n data[rawDataLength][1] = 0;\n data[rawDataLength][2] = name;\n rawDataLength++;\n }\n }\n }\n\n return data;\n },\n\n /**\n * @override\n * @param {Object} option the initial option that user gived\n * @param {module:echarts/model/Model} ecModel the model object for themeRiver option\n * @return {module:echarts/data/List}\n */\n getInitialData: function (option, ecModel) {\n var singleAxisModel = ecModel.queryComponents({\n mainType: 'singleAxis',\n index: this.get('singleAxisIndex'),\n id: this.get('singleAxisId')\n })[0];\n var axisType = singleAxisModel.get('type'); // filter the data item with the value of label is undefined\n\n var filterData = zrUtil.filter(option.data, function (dataItem) {\n return dataItem[2] !== undefined;\n }); // ??? TODO design a stage to transfer data for themeRiver and lines?\n\n var data = this.fixData(filterData || []);\n var nameList = [];\n var nameMap = this.nameMap = zrUtil.createHashMap();\n var count = 0;\n\n for (var i = 0; i < data.length; ++i) {\n nameList.push(data[i][DATA_NAME_INDEX]);\n\n if (!nameMap.get(data[i][DATA_NAME_INDEX])) {\n nameMap.set(data[i][DATA_NAME_INDEX], count);\n count++;\n }\n }\n\n var dimensionsInfo = createDimensions(data, {\n coordDimensions: ['single'],\n dimensionsDefine: [{\n name: 'time',\n type: getDimensionTypeByAxis(axisType)\n }, {\n name: 'value',\n type: 'float'\n }, {\n name: 'name',\n type: 'ordinal'\n }],\n encodeDefine: {\n single: 0,\n value: 1,\n itemName: 2\n }\n });\n var list = new List(dimensionsInfo, this);\n list.initData(data);\n return list;\n },\n\n /**\n * The raw data is divided into multiple layers and each layer\n * has same name.\n *\n * @return {Array.>}\n */\n getLayerSeries: function () {\n var data = this.getData();\n var lenCount = data.count();\n var indexArr = [];\n\n for (var i = 0; i < lenCount; ++i) {\n indexArr[i] = i;\n }\n\n var timeDim = data.mapDimension('single'); // data group by name\n\n var groupResult = groupData(indexArr, function (index) {\n return data.get('name', index);\n });\n var layerSeries = [];\n groupResult.buckets.each(function (items, key) {\n items.sort(function (index1, index2) {\n return data.get(timeDim, index1) - data.get(timeDim, index2);\n });\n layerSeries.push({\n name: key,\n indices: items\n });\n });\n return layerSeries;\n },\n\n /**\n * Get data indices for show tooltip content\n * @param {Array.|string} dim single coordinate dimension\n * @param {number} value axis value\n * @param {module:echarts/coord/single/SingleAxis} baseAxis single Axis used\n * the themeRiver.\n * @return {Object} {dataIndices, nestestValue}\n */\n getAxisTooltipData: function (dim, value, baseAxis) {\n if (!zrUtil.isArray(dim)) {\n dim = dim ? [dim] : [];\n }\n\n var data = this.getData();\n var layerSeries = this.getLayerSeries();\n var indices = [];\n var layerNum = layerSeries.length;\n var nestestValue;\n\n for (var i = 0; i < layerNum; ++i) {\n var minDist = Number.MAX_VALUE;\n var nearestIdx = -1;\n var pointNum = layerSeries[i].indices.length;\n\n for (var j = 0; j < pointNum; ++j) {\n var theValue = data.get(dim[0], layerSeries[i].indices[j]);\n var dist = Math.abs(theValue - value);\n\n if (dist <= minDist) {\n nestestValue = theValue;\n minDist = dist;\n nearestIdx = layerSeries[i].indices[j];\n }\n }\n\n indices.push(nearestIdx);\n }\n\n return {\n dataIndices: indices,\n nestestValue: nestestValue\n };\n },\n\n /**\n * @override\n * @param {number} dataIndex index of data\n */\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var htmlName = data.getName(dataIndex);\n var htmlValue = data.get(data.mapDimension('value'), dataIndex);\n\n if (isNaN(htmlValue) || htmlValue == null) {\n htmlValue = '-';\n }\n\n return encodeHTML(htmlName + ' : ' + htmlValue);\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'singleAxis',\n // gap in axis's orthogonal orientation\n boundaryGap: ['10%', '10%'],\n // legendHoverLink: true,\n singleAxisIndex: 0,\n animationEasing: 'linear',\n label: {\n margin: 4,\n show: true,\n position: 'left',\n color: '#000',\n fontSize: 11\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = ThemeRiverSeries;\nmodule.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\n/**\r\n * @description Abstract the polyline formed by N points into a set of bezier curve\r\n * @param {Array} polyline A set of points that make up a polyline\r\n * @param {Boolean} close Closed curve\r\n * @param {Number} offsetA Smoothness\r\n * @param {Number} offsetB Smoothness\r\n * @return {Array|Boolean} A set of bezier curve (Invalid input will return false)\r\n */\nfunction polylineToBezierCurve(polyline) {\n var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var offsetA = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.25;\n var offsetB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.25;\n\n if (!(polyline instanceof Array)) {\n console.error('polylineToBezierCurve: Parameter polyline must be an array!');\n return false;\n }\n\n if (polyline.length <= 2) {\n console.error('polylineToBezierCurve: Converting to a curve requires at least 3 points!');\n return false;\n }\n\n var startPoint = polyline[0];\n var bezierCurveLineNum = polyline.length - 1;\n var bezierCurvePoints = new Array(bezierCurveLineNum).fill(0).map(function (foo, i) {\n return [].concat((0, _toConsumableArray2[\"default\"])(getBezierCurveLineControlPoints(polyline, i, close, offsetA, offsetB)), [polyline[i + 1]]);\n });\n if (close) closeBezierCurve(bezierCurvePoints, startPoint);\n bezierCurvePoints.unshift(polyline[0]);\n return bezierCurvePoints;\n}\n/**\r\n * @description Get the control points of the Bezier curve\r\n * @param {Array} polyline A set of points that make up a polyline\r\n * @param {Number} index The index of which get controls points's point in polyline\r\n * @param {Boolean} close Closed curve\r\n * @param {Number} offsetA Smoothness\r\n * @param {Number} offsetB Smoothness\r\n * @return {Array} Control points\r\n */\n\n\nfunction getBezierCurveLineControlPoints(polyline, index) {\n var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var offsetA = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.25;\n var offsetB = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0.25;\n var pointNum = polyline.length;\n if (pointNum < 3 || index >= pointNum) return;\n var beforePointIndex = index - 1;\n if (beforePointIndex < 0) beforePointIndex = close ? pointNum + beforePointIndex : 0;\n var afterPointIndex = index + 1;\n if (afterPointIndex >= pointNum) afterPointIndex = close ? afterPointIndex - pointNum : pointNum - 1;\n var afterNextPointIndex = index + 2;\n if (afterNextPointIndex >= pointNum) afterNextPointIndex = close ? afterNextPointIndex - pointNum : pointNum - 1;\n var pointBefore = polyline[beforePointIndex];\n var pointMiddle = polyline[index];\n var pointAfter = polyline[afterPointIndex];\n var pointAfterNext = polyline[afterNextPointIndex];\n return [[pointMiddle[0] + offsetA * (pointAfter[0] - pointBefore[0]), pointMiddle[1] + offsetA * (pointAfter[1] - pointBefore[1])], [pointAfter[0] - offsetB * (pointAfterNext[0] - pointMiddle[0]), pointAfter[1] - offsetB * (pointAfterNext[1] - pointMiddle[1])]];\n}\n/**\r\n * @description Get the last curve of the closure\r\n * @param {Array} bezierCurve A set of sub-curve\r\n * @param {Array} startPoint Start point\r\n * @return {Array} The last curve for closure\r\n */\n\n\nfunction closeBezierCurve(bezierCurve, startPoint) {\n var firstSubCurve = bezierCurve[0];\n var lastSubCurve = bezierCurve.slice(-1)[0];\n bezierCurve.push([getSymmetryPoint(lastSubCurve[1], lastSubCurve[2]), getSymmetryPoint(firstSubCurve[0], startPoint), startPoint]);\n return bezierCurve;\n}\n/**\r\n * @description Get the symmetry point\r\n * @param {Array} point Symmetric point\r\n * @param {Array} centerPoint Symmetric center\r\n * @return {Array} Symmetric point\r\n */\n\n\nfunction getSymmetryPoint(point, centerPoint) {\n var _point = (0, _slicedToArray2[\"default\"])(point, 2),\n px = _point[0],\n py = _point[1];\n\n var _centerPoint = (0, _slicedToArray2[\"default\"])(centerPoint, 2),\n cx = _centerPoint[0],\n cy = _centerPoint[1];\n\n var minusX = cx - px;\n var minusY = cy - py;\n return [cx + minusX, cy + minusY];\n}\n\nvar _default = polylineToBezierCurve;\nexports[\"default\"] = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar LineDraw = require(\"../helper/LineDraw\");\n\nvar EffectLine = require(\"../helper/EffectLine\");\n\nvar Line = require(\"../helper/Line\");\n\nvar Polyline = require(\"../helper/Polyline\");\n\nvar EffectPolyline = require(\"../helper/EffectPolyline\");\n\nvar LargeLineDraw = require(\"../helper/LargeLineDraw\");\n\nvar linesLayout = require(\"./linesLayout\");\n\nvar _createClipPathFromCoordSys = require(\"../helper/createClipPathFromCoordSys\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendChartView({\n type: 'lines',\n init: function () {},\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n\n var lineDraw = this._updateLineDraw(data, seriesModel);\n\n var zlevel = seriesModel.get('zlevel');\n var trailLength = seriesModel.get('effect.trailLength');\n var zr = api.getZr(); // Avoid the drag cause ghost shadow\n // FIXME Better way ?\n // SVG doesn't support\n\n var isSvg = zr.painter.getType() === 'svg';\n\n if (!isSvg) {\n zr.painter.getLayer(zlevel).clear(true);\n } // Config layer with motion blur\n\n\n if (this._lastZlevel != null && !isSvg) {\n zr.configLayer(this._lastZlevel, {\n motionBlur: false\n });\n }\n\n if (this._showEffect(seriesModel) && trailLength) {\n if (!isSvg) {\n zr.configLayer(zlevel, {\n motionBlur: true,\n lastFrameAlpha: Math.max(Math.min(trailLength / 10 + 0.9, 1), 0)\n });\n }\n }\n\n lineDraw.updateData(data);\n var clipPath = seriesModel.get('clip', true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);\n\n if (clipPath) {\n this.group.setClipPath(clipPath);\n } else {\n this.group.removeClipPath();\n }\n\n this._lastZlevel = zlevel;\n this._finished = true;\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n\n var lineDraw = this._updateLineDraw(data, seriesModel);\n\n lineDraw.incrementalPrepareUpdate(data);\n\n this._clearLayer(api);\n\n this._finished = false;\n },\n incrementalRender: function (taskParams, seriesModel, ecModel) {\n this._lineDraw.incrementalUpdate(taskParams, seriesModel.getData());\n\n this._finished = taskParams.end === seriesModel.getData().count();\n },\n updateTransform: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var pipelineContext = seriesModel.pipelineContext;\n\n if (!this._finished || pipelineContext.large || pipelineContext.progressiveRender) {\n // TODO Don't have to do update in large mode. Only do it when there are millions of data.\n return {\n update: true\n };\n } else {\n // TODO Use same logic with ScatterView.\n // Manually update layout\n var res = linesLayout.reset(seriesModel);\n\n if (res.progress) {\n res.progress({\n start: 0,\n end: data.count()\n }, data);\n }\n\n this._lineDraw.updateLayout();\n\n this._clearLayer(api);\n }\n },\n _updateLineDraw: function (data, seriesModel) {\n var lineDraw = this._lineDraw;\n\n var hasEffect = this._showEffect(seriesModel);\n\n var isPolyline = !!seriesModel.get('polyline');\n var pipelineContext = seriesModel.pipelineContext;\n var isLargeDraw = pipelineContext.large;\n\n if (!lineDraw || hasEffect !== this._hasEffet || isPolyline !== this._isPolyline || isLargeDraw !== this._isLargeDraw) {\n if (lineDraw) {\n lineDraw.remove();\n }\n\n lineDraw = this._lineDraw = isLargeDraw ? new LargeLineDraw() : new LineDraw(isPolyline ? hasEffect ? EffectPolyline : Polyline : hasEffect ? EffectLine : Line);\n this._hasEffet = hasEffect;\n this._isPolyline = isPolyline;\n this._isLargeDraw = isLargeDraw;\n this.group.removeAll();\n }\n\n this.group.add(lineDraw.group);\n return lineDraw;\n },\n _showEffect: function (seriesModel) {\n return !!seriesModel.get('effect.show');\n },\n _clearLayer: function (api) {\n // Not use motion when dragging or zooming\n var zr = api.getZr();\n var isSvg = zr.painter.getType() === 'svg';\n\n if (!isSvg && this._lastZlevel != null) {\n zr.painter.getLayer(this._lastZlevel).clear(true);\n }\n },\n remove: function (ecModel, api) {\n this._lineDraw && this._lineDraw.remove();\n this._lineDraw = null; // Clear motion when lineDraw is removed\n\n this._clearLayer(api);\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;","var Path = require(\"../Path\");\n\n/**\n * 椭圆形状\n * @module zrender/graphic/shape/Ellipse\n */\nvar _default = Path.extend({\n type: 'ellipse',\n shape: {\n cx: 0,\n cy: 0,\n rx: 0,\n ry: 0\n },\n buildPath: function (ctx, shape) {\n var k = 0.5522848;\n var x = shape.cx;\n var y = shape.cy;\n var a = shape.rx;\n var b = shape.ry;\n var ox = a * k; // 水平控制点偏移量\n\n var oy = b * k; // 垂直控制点偏移量\n // 从椭圆的左端点开始顺时针绘制四条三次贝塞尔曲线\n\n ctx.moveTo(x - a, y);\n ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b);\n ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y);\n ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b);\n ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y);\n ctx.closePath();\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar DEFAULT_TOOLBOX_BTNS = ['rect', 'polygon', 'keep', 'clear'];\n\nfunction _default(option, isNew) {\n var brushComponents = option && option.brush;\n\n if (!zrUtil.isArray(brushComponents)) {\n brushComponents = brushComponents ? [brushComponents] : [];\n }\n\n if (!brushComponents.length) {\n return;\n }\n\n var brushComponentSpecifiedBtns = [];\n zrUtil.each(brushComponents, function (brushOpt) {\n var tbs = brushOpt.hasOwnProperty('toolbox') ? brushOpt.toolbox : [];\n\n if (tbs instanceof Array) {\n brushComponentSpecifiedBtns = brushComponentSpecifiedBtns.concat(tbs);\n }\n });\n var toolbox = option && option.toolbox;\n\n if (zrUtil.isArray(toolbox)) {\n toolbox = toolbox[0];\n }\n\n if (!toolbox) {\n toolbox = {\n feature: {}\n };\n option.toolbox = [toolbox];\n }\n\n var toolboxFeature = toolbox.feature || (toolbox.feature = {});\n var toolboxBrush = toolboxFeature.brush || (toolboxFeature.brush = {});\n var brushTypes = toolboxBrush.type || (toolboxBrush.type = []);\n brushTypes.push.apply(brushTypes, brushComponentSpecifiedBtns);\n removeDuplicate(brushTypes);\n\n if (isNew && !brushTypes.length) {\n brushTypes.push.apply(brushTypes, DEFAULT_TOOLBOX_BTNS);\n }\n}\n\nfunction removeDuplicate(arr) {\n var map = {};\n zrUtil.each(arr, function (val) {\n map[val] = 1;\n });\n arr.length = 0;\n zrUtil.each(map, function (flag, val) {\n arr.push(val);\n });\n}\n\nmodule.exports = _default;","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/cartesian/AxisModel\");\n\nrequire(\"./axis/CartesianAxisView\");","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","var util = require(\"./core/util\");\n\nvar env = require(\"./core/env\");\n\nvar Group = require(\"./container/Group\");\n\nvar timsort = require(\"./core/timsort\");\n\n// Use timsort because in most case elements are partially sorted\n// https://jsfiddle.net/pissang/jr4x7mdm/8/\nfunction shapeCompareFunc(a, b) {\n if (a.zlevel === b.zlevel) {\n if (a.z === b.z) {\n // if (a.z2 === b.z2) {\n // // FIXME Slow has renderidx compare\n // // http://stackoverflow.com/questions/20883421/sorting-in-javascript-should-every-compare-function-have-a-return-0-statement\n // // https://github.com/v8/v8/blob/47cce544a31ed5577ffe2963f67acb4144ee0232/src/js/array.js#L1012\n // return a.__renderidx - b.__renderidx;\n // }\n return a.z2 - b.z2;\n }\n\n return a.z - b.z;\n }\n\n return a.zlevel - b.zlevel;\n}\n/**\n * 内容仓库 (M)\n * @alias module:zrender/Storage\n * @constructor\n */\n\n\nvar Storage = function () {\n // jshint ignore:line\n this._roots = [];\n this._displayList = [];\n this._displayListLen = 0;\n};\n\nStorage.prototype = {\n constructor: Storage,\n\n /**\n * @param {Function} cb\n *\n */\n traverse: function (cb, context) {\n for (var i = 0; i < this._roots.length; i++) {\n this._roots[i].traverse(cb, context);\n }\n },\n\n /**\n * 返回所有图形的绘制队列\n * @param {boolean} [update=false] 是否在返回前更新该数组\n * @param {boolean} [includeIgnore=false] 是否包含 ignore 的数组, 在 update 为 true 的时候有效\n *\n * 详见{@link module:zrender/graphic/Displayable.prototype.updateDisplayList}\n * @return {Array.}\n */\n getDisplayList: function (update, includeIgnore) {\n includeIgnore = includeIgnore || false;\n\n if (update) {\n this.updateDisplayList(includeIgnore);\n }\n\n return this._displayList;\n },\n\n /**\n * 更新图形的绘制队列。\n * 每次绘制前都会调用,该方法会先深度优先遍历整个树,更新所有Group和Shape的变换并且把所有可见的Shape保存到数组中,\n * 最后根据绘制的优先级(zlevel > z > 插入顺序)排序得到绘制队列\n * @param {boolean} [includeIgnore=false] 是否包含 ignore 的数组\n */\n updateDisplayList: function (includeIgnore) {\n this._displayListLen = 0;\n var roots = this._roots;\n var displayList = this._displayList;\n\n for (var i = 0, len = roots.length; i < len; i++) {\n this._updateAndAddDisplayable(roots[i], null, includeIgnore);\n }\n\n displayList.length = this._displayListLen;\n env.canvasSupported && timsort(displayList, shapeCompareFunc);\n },\n _updateAndAddDisplayable: function (el, clipPaths, includeIgnore) {\n if (el.ignore && !includeIgnore) {\n return;\n }\n\n el.beforeUpdate();\n\n if (el.__dirty) {\n el.update();\n }\n\n el.afterUpdate();\n var userSetClipPath = el.clipPath;\n\n if (userSetClipPath) {\n // FIXME 效率影响\n if (clipPaths) {\n clipPaths = clipPaths.slice();\n } else {\n clipPaths = [];\n }\n\n var currentClipPath = userSetClipPath;\n var parentClipPath = el; // Recursively add clip path\n\n while (currentClipPath) {\n // clipPath 的变换是基于使用这个 clipPath 的元素\n currentClipPath.parent = parentClipPath;\n currentClipPath.updateTransform();\n clipPaths.push(currentClipPath);\n parentClipPath = currentClipPath;\n currentClipPath = currentClipPath.clipPath;\n }\n }\n\n if (el.isGroup) {\n var children = el._children;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i]; // Force to mark as dirty if group is dirty\n // FIXME __dirtyPath ?\n\n if (el.__dirty) {\n child.__dirty = true;\n }\n\n this._updateAndAddDisplayable(child, clipPaths, includeIgnore);\n } // Mark group clean here\n\n\n el.__dirty = false;\n } else {\n el.__clipPaths = clipPaths;\n this._displayList[this._displayListLen++] = el;\n }\n },\n\n /**\n * 添加图形(Shape)或者组(Group)到根节点\n * @param {module:zrender/Element} el\n */\n addRoot: function (el) {\n if (el.__storage === this) {\n return;\n }\n\n if (el instanceof Group) {\n el.addChildrenToStorage(this);\n }\n\n this.addToStorage(el);\n\n this._roots.push(el);\n },\n\n /**\n * 删除指定的图形(Shape)或者组(Group)\n * @param {string|Array.} [el] 如果为空清空整个Storage\n */\n delRoot: function (el) {\n if (el == null) {\n // 不指定el清空\n for (var i = 0; i < this._roots.length; i++) {\n var root = this._roots[i];\n\n if (root instanceof Group) {\n root.delChildrenFromStorage(this);\n }\n }\n\n this._roots = [];\n this._displayList = [];\n this._displayListLen = 0;\n return;\n }\n\n if (el instanceof Array) {\n for (var i = 0, l = el.length; i < l; i++) {\n this.delRoot(el[i]);\n }\n\n return;\n }\n\n var idx = util.indexOf(this._roots, el);\n\n if (idx >= 0) {\n this.delFromStorage(el);\n\n this._roots.splice(idx, 1);\n\n if (el instanceof Group) {\n el.delChildrenFromStorage(this);\n }\n }\n },\n addToStorage: function (el) {\n if (el) {\n el.__storage = this;\n el.dirty(false);\n }\n\n return this;\n },\n delFromStorage: function (el) {\n if (el) {\n el.__storage = null;\n }\n\n return this;\n },\n\n /**\n * 清空并且释放Storage\n */\n dispose: function () {\n this._renderList = this._roots = null;\n },\n displayableSortFunc: shapeCompareFunc\n};\nvar _default = Storage;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar BrushController = require(\"../helper/BrushController\");\n\nvar brushHelper = require(\"../helper/brushHelper\");\n\nvar graphic = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar elementList = ['axisLine', 'axisTickLabel', 'axisName'];\nvar AxisView = echarts.extendComponentView({\n type: 'parallelAxis',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n AxisView.superApply(this, 'init', arguments);\n /**\n * @type {module:echarts/component/helper/BrushController}\n */\n\n (this._brushController = new BrushController(api.getZr())).on('brush', zrUtil.bind(this._onBrush, this));\n },\n\n /**\n * @override\n */\n render: function (axisModel, ecModel, api, payload) {\n if (fromAxisAreaSelect(axisModel, ecModel, payload)) {\n return;\n }\n\n this.axisModel = axisModel;\n this.api = api;\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var coordSysModel = getCoordSysModel(axisModel, ecModel);\n var coordSys = coordSysModel.coordinateSystem;\n var areaSelectStyle = axisModel.getAreaSelectStyle();\n var areaWidth = areaSelectStyle.width;\n var dim = axisModel.axis.dim;\n var axisLayout = coordSys.getAxisLayout(dim);\n var builderOpt = zrUtil.extend({\n strokeContainThreshold: areaWidth\n }, axisLayout);\n var axisBuilder = new AxisBuilder(axisModel, builderOpt);\n zrUtil.each(elementList, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n this._refreshBrushController(builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api);\n\n var animationModel = payload && payload.animation === false ? null : axisModel;\n graphic.groupTransition(oldAxisGroup, this._axisGroup, animationModel);\n },\n // /**\n // * @override\n // */\n // updateVisual: function (axisModel, ecModel, api, payload) {\n // this._brushController && this._brushController\n // .updateCovers(getCoverInfoList(axisModel));\n // },\n _refreshBrushController: function (builderOpt, areaSelectStyle, axisModel, coordSysModel, areaWidth, api) {\n // After filtering, axis may change, select area needs to be update.\n var extent = axisModel.axis.getExtent();\n var extentLen = extent[1] - extent[0];\n var extra = Math.min(30, Math.abs(extentLen) * 0.1); // Arbitrary value.\n // width/height might be negative, which will be\n // normalized in BoundingRect.\n\n var rect = graphic.BoundingRect.create({\n x: extent[0],\n y: -areaWidth / 2,\n width: extentLen,\n height: areaWidth\n });\n rect.x -= extra;\n rect.width += 2 * extra;\n\n this._brushController.mount({\n enableGlobalPan: true,\n rotation: builderOpt.rotation,\n position: builderOpt.position\n }).setPanels([{\n panelId: 'pl',\n clipPath: brushHelper.makeRectPanelClipPath(rect),\n isTargetByCursor: brushHelper.makeRectIsTargetByCursor(rect, api, coordSysModel),\n getLinearBrushOtherExtent: brushHelper.makeLinearBrushOtherExtent(rect, 0)\n }]).enableBrush({\n brushType: 'lineX',\n brushStyle: areaSelectStyle,\n removeOnClick: true\n }).updateCovers(getCoverInfoList(axisModel));\n },\n _onBrush: function (coverInfoList, opt) {\n // Do not cache these object, because the mey be changed.\n var axisModel = this.axisModel;\n var axis = axisModel.axis;\n var intervals = zrUtil.map(coverInfoList, function (coverInfo) {\n return [axis.coordToData(coverInfo.range[0], true), axis.coordToData(coverInfo.range[1], true)];\n }); // If realtime is true, action is not dispatched on drag end, because\n // the drag end emits the same params with the last drag move event,\n // and may have some delay when using touch pad.\n\n if (!axisModel.option.realtime === opt.isEnd || opt.removeOnClick) {\n // jshint ignore:line\n this.api.dispatchAction({\n type: 'axisAreaSelect',\n parallelAxisId: axisModel.id,\n intervals: intervals\n });\n }\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._brushController.dispose();\n }\n});\n\nfunction fromAxisAreaSelect(axisModel, ecModel, payload) {\n return payload && payload.type === 'axisAreaSelect' && ecModel.findComponents({\n mainType: 'parallelAxis',\n query: payload\n })[0] === axisModel;\n}\n\nfunction getCoverInfoList(axisModel) {\n var axis = axisModel.axis;\n return zrUtil.map(axisModel.activeIntervals, function (interval) {\n return {\n brushType: 'lineX',\n panelId: 'pl',\n range: [axis.dataToCoord(interval[0], true), axis.dataToCoord(interval[1], true)]\n };\n });\n}\n\nfunction getCoordSysModel(axisModel, ecModel) {\n return ecModel.getComponent('parallel', axisModel.get('parallelIndex'));\n}\n\nvar _default = AxisView;\nmodule.exports = _default;","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.extendNewGraph = extendNewGraph;\nexports[\"default\"] = exports.text = exports.bezierCurve = exports.smoothline = exports.polyline = exports.regPolygon = exports.sector = exports.arc = exports.ring = exports.rect = exports.ellipse = exports.circle = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _bezierCurve2 = _interopRequireDefault(require(\"@jiaminghi/bezier-curve\"));\n\nvar _util = require(\"../plugin/util\");\n\nvar _canvas = require(\"../plugin/canvas\");\n\nvar polylineToBezierCurve = _bezierCurve2[\"default\"].polylineToBezierCurve,\n bezierCurveToPolyline = _bezierCurve2[\"default\"].bezierCurveToPolyline;\nvar circle = {\n shape: {\n rx: 0,\n ry: 0,\n r: 0\n },\n validator: function validator(_ref) {\n var shape = _ref.shape;\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r;\n\n if (typeof rx !== 'number' || typeof ry !== 'number' || typeof r !== 'number') {\n console.error('Circle shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref2, _ref3) {\n var ctx = _ref2.ctx;\n var shape = _ref3.shape;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r;\n ctx.arc(rx, ry, r > 0 ? r : 0.01, 0, Math.PI * 2);\n ctx.fill();\n ctx.stroke();\n ctx.closePath();\n },\n hoverCheck: function hoverCheck(position, _ref4) {\n var shape = _ref4.shape;\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r;\n return (0, _util.checkPointIsInCircle)(position, rx, ry, r);\n },\n setGraphCenter: function setGraphCenter(e, _ref5) {\n var shape = _ref5.shape,\n style = _ref5.style;\n var rx = shape.rx,\n ry = shape.ry;\n style.graphCenter = [rx, ry];\n },\n move: function move(_ref6, _ref7) {\n var movementX = _ref6.movementX,\n movementY = _ref6.movementY;\n var shape = _ref7.shape;\n this.attr('shape', {\n rx: shape.rx + movementX,\n ry: shape.ry + movementY\n });\n }\n};\nexports.circle = circle;\nvar ellipse = {\n shape: {\n rx: 0,\n ry: 0,\n hr: 0,\n vr: 0\n },\n validator: function validator(_ref8) {\n var shape = _ref8.shape;\n var rx = shape.rx,\n ry = shape.ry,\n hr = shape.hr,\n vr = shape.vr;\n\n if (typeof rx !== 'number' || typeof ry !== 'number' || typeof hr !== 'number' || typeof vr !== 'number') {\n console.error('Ellipse shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref9, _ref10) {\n var ctx = _ref9.ctx;\n var shape = _ref10.shape;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n hr = shape.hr,\n vr = shape.vr;\n ctx.ellipse(rx, ry, hr > 0 ? hr : 0.01, vr > 0 ? vr : 0.01, 0, 0, Math.PI * 2);\n ctx.fill();\n ctx.stroke();\n ctx.closePath();\n },\n hoverCheck: function hoverCheck(position, _ref11) {\n var shape = _ref11.shape;\n var rx = shape.rx,\n ry = shape.ry,\n hr = shape.hr,\n vr = shape.vr;\n var a = Math.max(hr, vr);\n var b = Math.min(hr, vr);\n var c = Math.sqrt(a * a - b * b);\n var leftFocusPoint = [rx - c, ry];\n var rightFocusPoint = [rx + c, ry];\n var distance = (0, _util.getTwoPointDistance)(position, leftFocusPoint) + (0, _util.getTwoPointDistance)(position, rightFocusPoint);\n return distance <= 2 * a;\n },\n setGraphCenter: function setGraphCenter(e, _ref12) {\n var shape = _ref12.shape,\n style = _ref12.style;\n var rx = shape.rx,\n ry = shape.ry;\n style.graphCenter = [rx, ry];\n },\n move: function move(_ref13, _ref14) {\n var movementX = _ref13.movementX,\n movementY = _ref13.movementY;\n var shape = _ref14.shape;\n this.attr('shape', {\n rx: shape.rx + movementX,\n ry: shape.ry + movementY\n });\n }\n};\nexports.ellipse = ellipse;\nvar rect = {\n shape: {\n x: 0,\n y: 0,\n w: 0,\n h: 0\n },\n validator: function validator(_ref15) {\n var shape = _ref15.shape;\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n\n if (typeof x !== 'number' || typeof y !== 'number' || typeof w !== 'number' || typeof h !== 'number') {\n console.error('Rect shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref16, _ref17) {\n var ctx = _ref16.ctx;\n var shape = _ref17.shape;\n ctx.beginPath();\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n ctx.rect(x, y, w, h);\n ctx.fill();\n ctx.stroke();\n ctx.closePath();\n },\n hoverCheck: function hoverCheck(position, _ref18) {\n var shape = _ref18.shape;\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n return (0, _util.checkPointIsInRect)(position, x, y, w, h);\n },\n setGraphCenter: function setGraphCenter(e, _ref19) {\n var shape = _ref19.shape,\n style = _ref19.style;\n var x = shape.x,\n y = shape.y,\n w = shape.w,\n h = shape.h;\n style.graphCenter = [x + w / 2, y + h / 2];\n },\n move: function move(_ref20, _ref21) {\n var movementX = _ref20.movementX,\n movementY = _ref20.movementY;\n var shape = _ref21.shape;\n this.attr('shape', {\n x: shape.x + movementX,\n y: shape.y + movementY\n });\n }\n};\nexports.rect = rect;\nvar ring = {\n shape: {\n rx: 0,\n ry: 0,\n r: 0\n },\n validator: function validator(_ref22) {\n var shape = _ref22.shape;\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r;\n\n if (typeof rx !== 'number' || typeof ry !== 'number' || typeof r !== 'number') {\n console.error('Ring shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref23, _ref24) {\n var ctx = _ref23.ctx;\n var shape = _ref24.shape;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r;\n ctx.arc(rx, ry, r > 0 ? r : 0.01, 0, Math.PI * 2);\n ctx.stroke();\n ctx.closePath();\n },\n hoverCheck: function hoverCheck(position, _ref25) {\n var shape = _ref25.shape,\n style = _ref25.style;\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r;\n var lineWidth = style.lineWidth;\n var halfLineWidth = lineWidth / 2;\n var minDistance = r - halfLineWidth;\n var maxDistance = r + halfLineWidth;\n var distance = (0, _util.getTwoPointDistance)(position, [rx, ry]);\n return distance >= minDistance && distance <= maxDistance;\n },\n setGraphCenter: function setGraphCenter(e, _ref26) {\n var shape = _ref26.shape,\n style = _ref26.style;\n var rx = shape.rx,\n ry = shape.ry;\n style.graphCenter = [rx, ry];\n },\n move: function move(_ref27, _ref28) {\n var movementX = _ref27.movementX,\n movementY = _ref27.movementY;\n var shape = _ref28.shape;\n this.attr('shape', {\n rx: shape.rx + movementX,\n ry: shape.ry + movementY\n });\n }\n};\nexports.ring = ring;\nvar arc = {\n shape: {\n rx: 0,\n ry: 0,\n r: 0,\n startAngle: 0,\n endAngle: 0,\n clockWise: true\n },\n validator: function validator(_ref29) {\n var shape = _ref29.shape;\n var keys = ['rx', 'ry', 'r', 'startAngle', 'endAngle'];\n\n if (keys.find(function (key) {\n return typeof shape[key] !== 'number';\n })) {\n console.error('Arc shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref30, _ref31) {\n var ctx = _ref30.ctx;\n var shape = _ref31.shape;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r,\n startAngle = shape.startAngle,\n endAngle = shape.endAngle,\n clockWise = shape.clockWise;\n ctx.arc(rx, ry, r > 0 ? r : 0.001, startAngle, endAngle, !clockWise);\n ctx.stroke();\n ctx.closePath();\n },\n hoverCheck: function hoverCheck(position, _ref32) {\n var shape = _ref32.shape,\n style = _ref32.style;\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r,\n startAngle = shape.startAngle,\n endAngle = shape.endAngle,\n clockWise = shape.clockWise;\n var lineWidth = style.lineWidth;\n var halfLineWidth = lineWidth / 2;\n var insideRadius = r - halfLineWidth;\n var outsideRadius = r + halfLineWidth;\n return !(0, _util.checkPointIsInSector)(position, rx, ry, insideRadius, startAngle, endAngle, clockWise) && (0, _util.checkPointIsInSector)(position, rx, ry, outsideRadius, startAngle, endAngle, clockWise);\n },\n setGraphCenter: function setGraphCenter(e, _ref33) {\n var shape = _ref33.shape,\n style = _ref33.style;\n var rx = shape.rx,\n ry = shape.ry;\n style.graphCenter = [rx, ry];\n },\n move: function move(_ref34, _ref35) {\n var movementX = _ref34.movementX,\n movementY = _ref34.movementY;\n var shape = _ref35.shape;\n this.attr('shape', {\n rx: shape.rx + movementX,\n ry: shape.ry + movementY\n });\n }\n};\nexports.arc = arc;\nvar sector = {\n shape: {\n rx: 0,\n ry: 0,\n r: 0,\n startAngle: 0,\n endAngle: 0,\n clockWise: true\n },\n validator: function validator(_ref36) {\n var shape = _ref36.shape;\n var keys = ['rx', 'ry', 'r', 'startAngle', 'endAngle'];\n\n if (keys.find(function (key) {\n return typeof shape[key] !== 'number';\n })) {\n console.error('Sector shape configuration is abnormal!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref37, _ref38) {\n var ctx = _ref37.ctx;\n var shape = _ref38.shape;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r,\n startAngle = shape.startAngle,\n endAngle = shape.endAngle,\n clockWise = shape.clockWise;\n ctx.arc(rx, ry, r > 0 ? r : 0.01, startAngle, endAngle, !clockWise);\n ctx.lineTo(rx, ry);\n ctx.closePath();\n ctx.stroke();\n ctx.fill();\n },\n hoverCheck: function hoverCheck(position, _ref39) {\n var shape = _ref39.shape;\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r,\n startAngle = shape.startAngle,\n endAngle = shape.endAngle,\n clockWise = shape.clockWise;\n return (0, _util.checkPointIsInSector)(position, rx, ry, r, startAngle, endAngle, clockWise);\n },\n setGraphCenter: function setGraphCenter(e, _ref40) {\n var shape = _ref40.shape,\n style = _ref40.style;\n var rx = shape.rx,\n ry = shape.ry;\n style.graphCenter = [rx, ry];\n },\n move: function move(_ref41, _ref42) {\n var movementX = _ref41.movementX,\n movementY = _ref41.movementY;\n var shape = _ref42.shape;\n var rx = shape.rx,\n ry = shape.ry;\n this.attr('shape', {\n rx: rx + movementX,\n ry: ry + movementY\n });\n }\n};\nexports.sector = sector;\nvar regPolygon = {\n shape: {\n rx: 0,\n ry: 0,\n r: 0,\n side: 0\n },\n validator: function validator(_ref43) {\n var shape = _ref43.shape;\n var side = shape.side;\n var keys = ['rx', 'ry', 'r', 'side'];\n\n if (keys.find(function (key) {\n return typeof shape[key] !== 'number';\n })) {\n console.error('RegPolygon shape configuration is abnormal!');\n return false;\n }\n\n if (side < 3) {\n console.error('RegPolygon at least trigon!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref44, _ref45) {\n var ctx = _ref44.ctx;\n var shape = _ref45.shape,\n cache = _ref45.cache;\n ctx.beginPath();\n var rx = shape.rx,\n ry = shape.ry,\n r = shape.r,\n side = shape.side;\n\n if (!cache.points || cache.rx !== rx || cache.ry !== ry || cache.r !== r || cache.side !== side) {\n var _points = (0, _util.getRegularPolygonPoints)(rx, ry, r, side);\n\n Object.assign(cache, {\n points: _points,\n rx: rx,\n ry: ry,\n r: r,\n side: side\n });\n }\n\n var points = cache.points;\n (0, _canvas.drawPolylinePath)(ctx, points);\n ctx.closePath();\n ctx.stroke();\n ctx.fill();\n },\n hoverCheck: function hoverCheck(position, _ref46) {\n var cache = _ref46.cache;\n var points = cache.points;\n return (0, _util.checkPointIsInPolygon)(position, points);\n },\n setGraphCenter: function setGraphCenter(e, _ref47) {\n var shape = _ref47.shape,\n style = _ref47.style;\n var rx = shape.rx,\n ry = shape.ry;\n style.graphCenter = [rx, ry];\n },\n move: function move(_ref48, _ref49) {\n var movementX = _ref48.movementX,\n movementY = _ref48.movementY;\n var shape = _ref49.shape,\n cache = _ref49.cache;\n var rx = shape.rx,\n ry = shape.ry;\n cache.rx += movementX;\n cache.ry += movementY;\n this.attr('shape', {\n rx: rx + movementX,\n ry: ry + movementY\n });\n cache.points = cache.points.map(function (_ref50) {\n var _ref51 = (0, _slicedToArray2[\"default\"])(_ref50, 2),\n x = _ref51[0],\n y = _ref51[1];\n\n return [x + movementX, y + movementY];\n });\n }\n};\nexports.regPolygon = regPolygon;\nvar polyline = {\n shape: {\n points: [],\n close: false\n },\n validator: function validator(_ref52) {\n var shape = _ref52.shape;\n var points = shape.points;\n\n if (!(points instanceof Array)) {\n console.error('Polyline points should be an array!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref53, _ref54) {\n var ctx = _ref53.ctx;\n var shape = _ref54.shape,\n lineWidth = _ref54.style.lineWidth;\n ctx.beginPath();\n var points = shape.points,\n close = shape.close;\n if (lineWidth === 1) points = (0, _util.eliminateBlur)(points);\n (0, _canvas.drawPolylinePath)(ctx, points);\n\n if (close) {\n ctx.closePath();\n ctx.fill();\n ctx.stroke();\n } else {\n ctx.stroke();\n }\n },\n hoverCheck: function hoverCheck(position, _ref55) {\n var shape = _ref55.shape,\n style = _ref55.style;\n var points = shape.points,\n close = shape.close;\n var lineWidth = style.lineWidth;\n\n if (close) {\n return (0, _util.checkPointIsInPolygon)(position, points);\n } else {\n return (0, _util.checkPointIsNearPolyline)(position, points, lineWidth);\n }\n },\n setGraphCenter: function setGraphCenter(e, _ref56) {\n var shape = _ref56.shape,\n style = _ref56.style;\n var points = shape.points;\n style.graphCenter = points[0];\n },\n move: function move(_ref57, _ref58) {\n var movementX = _ref57.movementX,\n movementY = _ref57.movementY;\n var shape = _ref58.shape;\n var points = shape.points;\n var moveAfterPoints = points.map(function (_ref59) {\n var _ref60 = (0, _slicedToArray2[\"default\"])(_ref59, 2),\n x = _ref60[0],\n y = _ref60[1];\n\n return [x + movementX, y + movementY];\n });\n this.attr('shape', {\n points: moveAfterPoints\n });\n }\n};\nexports.polyline = polyline;\nvar smoothline = {\n shape: {\n points: [],\n close: false\n },\n validator: function validator(_ref61) {\n var shape = _ref61.shape;\n var points = shape.points;\n\n if (!(points instanceof Array)) {\n console.error('Smoothline points should be an array!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref62, _ref63) {\n var ctx = _ref62.ctx;\n var shape = _ref63.shape,\n cache = _ref63.cache;\n var points = shape.points,\n close = shape.close;\n\n if (!cache.points || cache.points.toString() !== points.toString()) {\n var _bezierCurve = polylineToBezierCurve(points, close);\n\n var hoverPoints = bezierCurveToPolyline(_bezierCurve);\n Object.assign(cache, {\n points: (0, _util.deepClone)(points, true),\n bezierCurve: _bezierCurve,\n hoverPoints: hoverPoints\n });\n }\n\n var bezierCurve = cache.bezierCurve;\n ctx.beginPath();\n (0, _canvas.drawBezierCurvePath)(ctx, bezierCurve.slice(1), bezierCurve[0]);\n\n if (close) {\n ctx.closePath();\n ctx.fill();\n ctx.stroke();\n } else {\n ctx.stroke();\n }\n },\n hoverCheck: function hoverCheck(position, _ref64) {\n var cache = _ref64.cache,\n shape = _ref64.shape,\n style = _ref64.style;\n var hoverPoints = cache.hoverPoints;\n var close = shape.close;\n var lineWidth = style.lineWidth;\n\n if (close) {\n return (0, _util.checkPointIsInPolygon)(position, hoverPoints);\n } else {\n return (0, _util.checkPointIsNearPolyline)(position, hoverPoints, lineWidth);\n }\n },\n setGraphCenter: function setGraphCenter(e, _ref65) {\n var shape = _ref65.shape,\n style = _ref65.style;\n var points = shape.points;\n style.graphCenter = points[0];\n },\n move: function move(_ref66, _ref67) {\n var movementX = _ref66.movementX,\n movementY = _ref66.movementY;\n var shape = _ref67.shape,\n cache = _ref67.cache;\n var points = shape.points;\n var moveAfterPoints = points.map(function (_ref68) {\n var _ref69 = (0, _slicedToArray2[\"default\"])(_ref68, 2),\n x = _ref69[0],\n y = _ref69[1];\n\n return [x + movementX, y + movementY];\n });\n cache.points = moveAfterPoints;\n\n var _cache$bezierCurve$ = (0, _slicedToArray2[\"default\"])(cache.bezierCurve[0], 2),\n fx = _cache$bezierCurve$[0],\n fy = _cache$bezierCurve$[1];\n\n var curves = cache.bezierCurve.slice(1);\n cache.bezierCurve = [[fx + movementX, fy + movementY]].concat((0, _toConsumableArray2[\"default\"])(curves.map(function (curve) {\n return curve.map(function (_ref70) {\n var _ref71 = (0, _slicedToArray2[\"default\"])(_ref70, 2),\n x = _ref71[0],\n y = _ref71[1];\n\n return [x + movementX, y + movementY];\n });\n })));\n cache.hoverPoints = cache.hoverPoints.map(function (_ref72) {\n var _ref73 = (0, _slicedToArray2[\"default\"])(_ref72, 2),\n x = _ref73[0],\n y = _ref73[1];\n\n return [x + movementX, y + movementY];\n });\n this.attr('shape', {\n points: moveAfterPoints\n });\n }\n};\nexports.smoothline = smoothline;\nvar bezierCurve = {\n shape: {\n points: [],\n close: false\n },\n validator: function validator(_ref74) {\n var shape = _ref74.shape;\n var points = shape.points;\n\n if (!(points instanceof Array)) {\n console.error('BezierCurve points should be an array!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref75, _ref76) {\n var ctx = _ref75.ctx;\n var shape = _ref76.shape,\n cache = _ref76.cache;\n var points = shape.points,\n close = shape.close;\n\n if (!cache.points || cache.points.toString() !== points.toString()) {\n var hoverPoints = bezierCurveToPolyline(points, 20);\n Object.assign(cache, {\n points: (0, _util.deepClone)(points, true),\n hoverPoints: hoverPoints\n });\n }\n\n ctx.beginPath();\n (0, _canvas.drawBezierCurvePath)(ctx, points.slice(1), points[0]);\n\n if (close) {\n ctx.closePath();\n ctx.fill();\n ctx.stroke();\n } else {\n ctx.stroke();\n }\n },\n hoverCheck: function hoverCheck(position, _ref77) {\n var cache = _ref77.cache,\n shape = _ref77.shape,\n style = _ref77.style;\n var hoverPoints = cache.hoverPoints;\n var close = shape.close;\n var lineWidth = style.lineWidth;\n\n if (close) {\n return (0, _util.checkPointIsInPolygon)(position, hoverPoints);\n } else {\n return (0, _util.checkPointIsNearPolyline)(position, hoverPoints, lineWidth);\n }\n },\n setGraphCenter: function setGraphCenter(e, _ref78) {\n var shape = _ref78.shape,\n style = _ref78.style;\n var points = shape.points;\n style.graphCenter = points[0];\n },\n move: function move(_ref79, _ref80) {\n var movementX = _ref79.movementX,\n movementY = _ref79.movementY;\n var shape = _ref80.shape,\n cache = _ref80.cache;\n var points = shape.points;\n\n var _points$ = (0, _slicedToArray2[\"default\"])(points[0], 2),\n fx = _points$[0],\n fy = _points$[1];\n\n var curves = points.slice(1);\n var bezierCurve = [[fx + movementX, fy + movementY]].concat((0, _toConsumableArray2[\"default\"])(curves.map(function (curve) {\n return curve.map(function (_ref81) {\n var _ref82 = (0, _slicedToArray2[\"default\"])(_ref81, 2),\n x = _ref82[0],\n y = _ref82[1];\n\n return [x + movementX, y + movementY];\n });\n })));\n cache.points = bezierCurve;\n cache.hoverPoints = cache.hoverPoints.map(function (_ref83) {\n var _ref84 = (0, _slicedToArray2[\"default\"])(_ref83, 2),\n x = _ref84[0],\n y = _ref84[1];\n\n return [x + movementX, y + movementY];\n });\n this.attr('shape', {\n points: bezierCurve\n });\n }\n};\nexports.bezierCurve = bezierCurve;\nvar text = {\n shape: {\n content: '',\n position: [],\n maxWidth: undefined,\n rowGap: 0\n },\n validator: function validator(_ref85) {\n var shape = _ref85.shape;\n var content = shape.content,\n position = shape.position,\n rowGap = shape.rowGap;\n\n if (typeof content !== 'string') {\n console.error('Text content should be a string!');\n return false;\n }\n\n if (!(position instanceof Array)) {\n console.error('Text position should be an array!');\n return false;\n }\n\n if (typeof rowGap !== 'number') {\n console.error('Text rowGap should be a number!');\n return false;\n }\n\n return true;\n },\n draw: function draw(_ref86, _ref87) {\n var ctx = _ref86.ctx;\n var shape = _ref87.shape;\n var content = shape.content,\n position = shape.position,\n maxWidth = shape.maxWidth,\n rowGap = shape.rowGap;\n var textBaseline = ctx.textBaseline,\n font = ctx.font;\n var fontSize = parseInt(font.replace(/\\D/g, ''));\n\n var _position = position,\n _position2 = (0, _slicedToArray2[\"default\"])(_position, 2),\n x = _position2[0],\n y = _position2[1];\n\n content = content.split('\\n');\n var rowNum = content.length;\n var lineHeight = fontSize + rowGap;\n var allHeight = rowNum * lineHeight - rowGap;\n var offset = 0;\n\n if (textBaseline === 'middle') {\n offset = allHeight / 2;\n y += fontSize / 2;\n }\n\n if (textBaseline === 'bottom') {\n offset = allHeight;\n y += fontSize;\n }\n\n position = new Array(rowNum).fill(0).map(function (foo, i) {\n return [x, y + i * lineHeight - offset];\n });\n ctx.beginPath();\n content.forEach(function (text, i) {\n ctx.fillText.apply(ctx, [text].concat((0, _toConsumableArray2[\"default\"])(position[i]), [maxWidth]));\n ctx.strokeText.apply(ctx, [text].concat((0, _toConsumableArray2[\"default\"])(position[i]), [maxWidth]));\n });\n ctx.closePath();\n },\n hoverCheck: function hoverCheck(position, _ref88) {\n var shape = _ref88.shape,\n style = _ref88.style;\n return false;\n },\n setGraphCenter: function setGraphCenter(e, _ref89) {\n var shape = _ref89.shape,\n style = _ref89.style;\n var position = shape.position;\n style.graphCenter = (0, _toConsumableArray2[\"default\"])(position);\n },\n move: function move(_ref90, _ref91) {\n var movementX = _ref90.movementX,\n movementY = _ref90.movementY;\n var shape = _ref91.shape;\n\n var _shape$position = (0, _slicedToArray2[\"default\"])(shape.position, 2),\n x = _shape$position[0],\n y = _shape$position[1];\n\n this.attr('shape', {\n position: [x + movementX, y + movementY]\n });\n }\n};\nexports.text = text;\nvar graphs = new Map([['circle', circle], ['ellipse', ellipse], ['rect', rect], ['ring', ring], ['arc', arc], ['sector', sector], ['regPolygon', regPolygon], ['polyline', polyline], ['smoothline', smoothline], ['bezierCurve', bezierCurve], ['text', text]]);\nvar _default = graphs;\n/**\r\n * @description Extend new graph\r\n * @param {String} name Name of Graph\r\n * @param {Object} config Configuration of Graph\r\n * @return {Undefined} Void\r\n */\n\nexports[\"default\"] = _default;\n\nfunction extendNewGraph(name, config) {\n if (!name || !config) {\n console.error('ExtendNewGraph Missing Parameters!');\n return;\n }\n\n if (!config.shape) {\n console.error('Required attribute of shape to extendNewGraph!');\n return;\n }\n\n if (!config.validator) {\n console.error('Required function of validator to extendNewGraph!');\n return;\n }\n\n if (!config.draw) {\n console.error('Required function of draw to extendNewGraph!');\n return;\n }\n\n graphs.set(name, config);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _number = require(\"../../util/number\");\n\nvar round = _number.round;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction createGridClipPath(cartesian, hasAnimation, seriesModel) {\n var rect = cartesian.getArea();\n var isHorizontal = cartesian.getBaseAxis().isHorizontal();\n var x = rect.x;\n var y = rect.y;\n var width = rect.width;\n var height = rect.height;\n var lineWidth = seriesModel.get('lineStyle.width') || 2; // Expand the clip path a bit to avoid the border is clipped and looks thinner\n\n x -= lineWidth / 2;\n y -= lineWidth / 2;\n width += lineWidth;\n height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369\n\n x = Math.floor(x);\n width = Math.round(width);\n var clipPath = new graphic.Rect({\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n }\n });\n\n if (hasAnimation) {\n clipPath.shape[isHorizontal ? 'width' : 'height'] = 0;\n graphic.initProps(clipPath, {\n shape: {\n width: width,\n height: height\n }\n }, seriesModel);\n }\n\n return clipPath;\n}\n\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n var sectorArea = polar.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n\n var clipPath = new graphic.Sector({\n shape: {\n cx: round(polar.cx, 1),\n cy: round(polar.cy, 1),\n r0: round(sectorArea.r0, 1),\n r: round(sectorArea.r, 1),\n startAngle: sectorArea.startAngle,\n endAngle: sectorArea.endAngle,\n clockwise: sectorArea.clockwise\n }\n });\n\n if (hasAnimation) {\n clipPath.shape.endAngle = sectorArea.startAngle;\n graphic.initProps(clipPath, {\n shape: {\n endAngle: sectorArea.endAngle\n }\n }, seriesModel);\n }\n\n return clipPath;\n}\n\nfunction createClipPath(coordSys, hasAnimation, seriesModel) {\n if (!coordSys) {\n return null;\n } else if (coordSys.type === 'polar') {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n } else if (coordSys.type === 'cartesian2d') {\n return createGridClipPath(coordSys, hasAnimation, seriesModel);\n }\n\n return null;\n}\n\nexports.createGridClipPath = createGridClipPath;\nexports.createPolarClipPath = createPolarClipPath;\nexports.createClipPath = createClipPath;","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./toolbox/ToolboxModel\");\n\nrequire(\"./toolbox/ToolboxView\");\n\nrequire(\"./toolbox/feature/SaveAsImage\");\n\nrequire(\"./toolbox/feature/MagicType\");\n\nrequire(\"./toolbox/feature/DataView\");\n\nrequire(\"./toolbox/feature/DataZoom\");\n\nrequire(\"./toolbox/feature/Restore\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Group = require(\"zrender/lib/container/Group\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar clazzUtil = require(\"../util/clazz\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar Component = function () {\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n this.group = new Group();\n /**\n * @type {string}\n * @readOnly\n */\n\n this.uid = componentUtil.getUID('viewComponent');\n};\n\nComponent.prototype = {\n constructor: Component,\n init: function (ecModel, api) {},\n render: function (componentModel, ecModel, api, payload) {},\n dispose: function () {},\n\n /**\n * @param {string} eventType\n * @param {Object} query\n * @param {module:zrender/Element} targetEl\n * @param {Object} packedEvent\n * @return {boolen} Pass only when return `true`.\n */\n filterForExposedEvent: null\n};\nvar componentProto = Component.prototype;\n\ncomponentProto.updateView = componentProto.updateLayout = componentProto.updateVisual = function (seriesModel, ecModel, api, payload) {// Do nothing;\n}; // Enable Component.extend.\n\n\nclazzUtil.enableClassExtend(Component); // Enable capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nclazzUtil.enableClassManagement(Component, {\n registerWhenExtend: true\n});\nvar _default = Component;\nmodule.exports = _default;","var Definable = require(\"./Definable\");\n\nvar zrUtil = require(\"../../core/util\");\n\nvar logError = require(\"../../core/log\");\n\nvar colorTool = require(\"../../tool/color\");\n\n/**\n * @file Manages SVG gradient elements.\n * @author Zhang Wenli\n */\n\n/**\n * Manages SVG gradient elements.\n *\n * @class\n * @extends Definable\n * @param {number} zrId zrender instance id\n * @param {SVGElement} svgRoot root of SVG document\n */\nfunction GradientManager(zrId, svgRoot) {\n Definable.call(this, zrId, svgRoot, ['linearGradient', 'radialGradient'], '__gradient_in_use__');\n}\n\nzrUtil.inherits(GradientManager, Definable);\n/**\n * Create new gradient DOM for fill or stroke if not exist,\n * but will not update gradient if exists.\n *\n * @param {SvgElement} svgElement SVG element to paint\n * @param {Displayable} displayable zrender displayable element\n */\n\nGradientManager.prototype.addWithoutUpdate = function (svgElement, displayable) {\n if (displayable && displayable.style) {\n var that = this;\n zrUtil.each(['fill', 'stroke'], function (fillOrStroke) {\n if (displayable.style[fillOrStroke] && (displayable.style[fillOrStroke].type === 'linear' || displayable.style[fillOrStroke].type === 'radial')) {\n var gradient = displayable.style[fillOrStroke];\n var defs = that.getDefs(true); // Create dom in if not exists\n\n var dom;\n\n if (gradient._dom) {\n // Gradient exists\n dom = gradient._dom;\n\n if (!defs.contains(gradient._dom)) {\n // _dom is no longer in defs, recreate\n that.addDom(dom);\n }\n } else {\n // New dom\n dom = that.add(gradient);\n }\n\n that.markUsed(displayable);\n var id = dom.getAttribute('id');\n svgElement.setAttribute(fillOrStroke, 'url(#' + id + ')');\n }\n });\n }\n};\n/**\n * Add a new gradient tag in \n *\n * @param {Gradient} gradient zr gradient instance\n * @return {SVGLinearGradientElement | SVGRadialGradientElement}\n * created DOM\n */\n\n\nGradientManager.prototype.add = function (gradient) {\n var dom;\n\n if (gradient.type === 'linear') {\n dom = this.createElement('linearGradient');\n } else if (gradient.type === 'radial') {\n dom = this.createElement('radialGradient');\n } else {\n logError('Illegal gradient type.');\n return null;\n } // Set dom id with gradient id, since each gradient instance\n // will have no more than one dom element.\n // id may exists before for those dirty elements, in which case\n // id should remain the same, and other attributes should be\n // updated.\n\n\n gradient.id = gradient.id || this.nextId++;\n dom.setAttribute('id', 'zr' + this._zrId + '-gradient-' + gradient.id);\n this.updateDom(gradient, dom);\n this.addDom(dom);\n return dom;\n};\n/**\n * Update gradient.\n *\n * @param {Gradient} gradient zr gradient instance\n */\n\n\nGradientManager.prototype.update = function (gradient) {\n var that = this;\n Definable.prototype.update.call(this, gradient, function () {\n var type = gradient.type;\n var tagName = gradient._dom.tagName;\n\n if (type === 'linear' && tagName === 'linearGradient' || type === 'radial' && tagName === 'radialGradient') {\n // Gradient type is not changed, update gradient\n that.updateDom(gradient, gradient._dom);\n } else {\n // Remove and re-create if type is changed\n that.removeDom(gradient);\n that.add(gradient);\n }\n });\n};\n/**\n * Update gradient dom\n *\n * @param {Gradient} gradient zr gradient instance\n * @param {SVGLinearGradientElement | SVGRadialGradientElement} dom\n * DOM to update\n */\n\n\nGradientManager.prototype.updateDom = function (gradient, dom) {\n if (gradient.type === 'linear') {\n dom.setAttribute('x1', gradient.x);\n dom.setAttribute('y1', gradient.y);\n dom.setAttribute('x2', gradient.x2);\n dom.setAttribute('y2', gradient.y2);\n } else if (gradient.type === 'radial') {\n dom.setAttribute('cx', gradient.x);\n dom.setAttribute('cy', gradient.y);\n dom.setAttribute('r', gradient.r);\n } else {\n logError('Illegal gradient type.');\n return;\n }\n\n if (gradient.global) {\n // x1, x2, y1, y2 in range of 0 to canvas width or height\n dom.setAttribute('gradientUnits', 'userSpaceOnUse');\n } else {\n // x1, x2, y1, y2 in range of 0 to 1\n dom.setAttribute('gradientUnits', 'objectBoundingBox');\n } // Remove color stops if exists\n\n\n dom.innerHTML = ''; // Add color stops\n\n var colors = gradient.colorStops;\n\n for (var i = 0, len = colors.length; i < len; ++i) {\n var stop = this.createElement('stop');\n stop.setAttribute('offset', colors[i].offset * 100 + '%');\n var color = colors[i].color;\n\n if (color.indexOf('rgba') > -1) {\n // Fix Safari bug that stop-color not recognizing alpha #9014\n var opacity = colorTool.parse(color)[3];\n var hex = colorTool.toHex(color); // stop-color cannot be color, since:\n // The opacity value used for the gradient calculation is the\n // *product* of the value of stop-opacity and the opacity of the\n // value of stop-color.\n // See https://www.w3.org/TR/SVG2/pservers.html#StopOpacityProperty\n\n stop.setAttribute('stop-color', '#' + hex);\n stop.setAttribute('stop-opacity', opacity);\n } else {\n stop.setAttribute('stop-color', colors[i].color);\n }\n\n dom.appendChild(stop);\n } // Store dom element in gradient, to avoid creating multiple\n // dom instances for the same gradient element\n\n\n gradient._dom = dom;\n};\n/**\n * Mark a single gradient to be used\n *\n * @param {Displayable} displayable displayable element\n */\n\n\nGradientManager.prototype.markUsed = function (displayable) {\n if (displayable.style) {\n var gradient = displayable.style.fill;\n\n if (gradient && gradient._dom) {\n Definable.prototype.markUsed.call(this, gradient._dom);\n }\n\n gradient = displayable.style.stroke;\n\n if (gradient && gradient._dom) {\n Definable.prototype.markUsed.call(this, gradient._dom);\n }\n }\n};\n\nvar _default = GradientManager;\nmodule.exports = _default;","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar completeDimensions = require(\"./completeDimensions\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Substitute `completeDimensions`.\n * `completeDimensions` is to be deprecated.\n */\n\n/**\n * @param {module:echarts/data/Source|module:echarts/data/List} source or data.\n * @param {Object|Array} [opt]\n * @param {Array.} [opt.coordDimensions=[]]\n * @param {number} [opt.dimensionsCount]\n * @param {string} [opt.generateCoord]\n * @param {string} [opt.generateCoordCount]\n * @param {Array.} [opt.dimensionsDefine=source.dimensionsDefine] Overwrite source define.\n * @param {Object|HashMap} [opt.encodeDefine=source.encodeDefine] Overwrite source define.\n * @param {Function} [opt.encodeDefaulter] Make default encode if user not specified.\n * @return {Array.} dimensionsInfo\n */\nfunction _default(source, opt) {\n opt = opt || {};\n return completeDimensions(opt.coordDimensions || [], source, {\n dimsDef: opt.dimensionsDefine || source.dimensionsDefine,\n encodeDef: opt.encodeDefine || source.encodeDefine,\n dimCount: opt.dimensionsCount,\n encodeDefaulter: opt.encodeDefaulter,\n generateCoord: opt.generateCoord,\n generateCoordCount: opt.generateCoordCount\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\n\nfunction _default(option) {\n var visualMap = option && option.visualMap;\n\n if (!zrUtil.isArray(visualMap)) {\n visualMap = visualMap ? [visualMap] : [];\n }\n\n each(visualMap, function (opt) {\n if (!opt) {\n return;\n } // rename splitList to pieces\n\n\n if (has(opt, 'splitList') && !has(opt, 'pieces')) {\n opt.pieces = opt.splitList;\n delete opt.splitList;\n }\n\n var pieces = opt.pieces;\n\n if (pieces && zrUtil.isArray(pieces)) {\n each(pieces, function (piece) {\n if (zrUtil.isObject(piece)) {\n if (has(piece, 'start') && !has(piece, 'min')) {\n piece.min = piece.start;\n }\n\n if (has(piece, 'end') && !has(piece, 'max')) {\n piece.max = piece.end;\n }\n }\n });\n }\n });\n}\n\nfunction has(obj, name) {\n return obj && obj.hasOwnProperty && obj.hasOwnProperty(name);\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\nvar helper = require(\"../helper/treeHelper\");\n\nvar Breadcrumb = require(\"./Breadcrumb\");\n\nvar RoamController = require(\"../../component/helper/RoamController\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar animationUtil = require(\"../../util/animation\");\n\nvar makeStyleMapper = require(\"../../model/mixin/makeStyleMapper\");\n\nvar _format = require(\"../../util/format\");\n\nvar windowOpen = _format.windowOpen;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar bind = zrUtil.bind;\nvar Group = graphic.Group;\nvar Rect = graphic.Rect;\nvar each = zrUtil.each;\nvar DRAG_THRESHOLD = 3;\nvar PATH_LABEL_NOAMAL = ['label'];\nvar PATH_LABEL_EMPHASIS = ['emphasis', 'label'];\nvar PATH_UPPERLABEL_NORMAL = ['upperLabel'];\nvar PATH_UPPERLABEL_EMPHASIS = ['emphasis', 'upperLabel'];\nvar Z_BASE = 10; // Should bigger than every z.\n\nvar Z_BG = 1;\nvar Z_CONTENT = 2;\nvar getItemStyleEmphasis = makeStyleMapper([['fill', 'color'], // `borderColor` and `borderWidth` has been occupied,\n// so use `stroke` to indicate the stroke of the rect.\n['stroke', 'strokeColor'], ['lineWidth', 'strokeWidth'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\n\nvar getItemStyleNormal = function (model) {\n // Normal style props should include emphasis style props.\n var itemStyle = getItemStyleEmphasis(model); // Clear styles set by emphasis.\n\n itemStyle.stroke = itemStyle.fill = itemStyle.lineWidth = null;\n return itemStyle;\n};\n\nvar _default = echarts.extendChartView({\n type: 'treemap',\n\n /**\n * @override\n */\n init: function (o, api) {\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n this._containerGroup;\n /**\n * @private\n * @type {Object.>}\n */\n\n this._storage = createStorage();\n /**\n * @private\n * @type {module:echarts/data/Tree}\n */\n\n this._oldTree;\n /**\n * @private\n * @type {module:echarts/chart/treemap/Breadcrumb}\n */\n\n this._breadcrumb;\n /**\n * @private\n * @type {module:echarts/component/helper/RoamController}\n */\n\n this._controller;\n /**\n * 'ready', 'animating'\n * @private\n */\n\n this._state = 'ready';\n },\n\n /**\n * @override\n */\n render: function (seriesModel, ecModel, api, payload) {\n var models = ecModel.findComponents({\n mainType: 'series',\n subType: 'treemap',\n query: payload\n });\n\n if (zrUtil.indexOf(models, seriesModel) < 0) {\n return;\n }\n\n this.seriesModel = seriesModel;\n this.api = api;\n this.ecModel = ecModel;\n var types = ['treemapZoomToNode', 'treemapRootToNode'];\n var targetInfo = helper.retrieveTargetInfo(payload, types, seriesModel);\n var payloadType = payload && payload.type;\n var layoutInfo = seriesModel.layoutInfo;\n var isInit = !this._oldTree;\n var thisStorage = this._storage; // Mark new root when action is treemapRootToNode.\n\n var reRoot = payloadType === 'treemapRootToNode' && targetInfo && thisStorage ? {\n rootNodeGroup: thisStorage.nodeGroup[targetInfo.node.getRawIndex()],\n direction: payload.direction\n } : null;\n\n var containerGroup = this._giveContainerGroup(layoutInfo);\n\n var renderResult = this._doRender(containerGroup, seriesModel, reRoot);\n\n !isInit && (!payloadType || payloadType === 'treemapZoomToNode' || payloadType === 'treemapRootToNode') ? this._doAnimation(containerGroup, renderResult, seriesModel, reRoot) : renderResult.renderFinally();\n\n this._resetController(api);\n\n this._renderBreadcrumb(seriesModel, api, targetInfo);\n },\n\n /**\n * @private\n */\n _giveContainerGroup: function (layoutInfo) {\n var containerGroup = this._containerGroup;\n\n if (!containerGroup) {\n // FIXME\n // 加一层containerGroup是为了clip,但是现在clip功能并没有实现。\n containerGroup = this._containerGroup = new Group();\n\n this._initEvents(containerGroup);\n\n this.group.add(containerGroup);\n }\n\n containerGroup.attr('position', [layoutInfo.x, layoutInfo.y]);\n return containerGroup;\n },\n\n /**\n * @private\n */\n _doRender: function (containerGroup, seriesModel, reRoot) {\n var thisTree = seriesModel.getData().tree;\n var oldTree = this._oldTree; // Clear last shape records.\n\n var lastsForAnimation = createStorage();\n var thisStorage = createStorage();\n var oldStorage = this._storage;\n var willInvisibleEls = [];\n var doRenderNode = zrUtil.curry(renderNode, seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls); // Notice: when thisTree and oldTree are the same tree (see list.cloneShallow),\n // the oldTree is actually losted, so we can not find all of the old graphic\n // elements from tree. So we use this stragegy: make element storage, move\n // from old storage to new storage, clear old storage.\n\n dualTravel(thisTree.root ? [thisTree.root] : [], oldTree && oldTree.root ? [oldTree.root] : [], containerGroup, thisTree === oldTree || !oldTree, 0); // Process all removing.\n\n var willDeleteEls = clearStorage(oldStorage);\n this._oldTree = thisTree;\n this._storage = thisStorage;\n return {\n lastsForAnimation: lastsForAnimation,\n willDeleteEls: willDeleteEls,\n renderFinally: renderFinally\n };\n\n function dualTravel(thisViewChildren, oldViewChildren, parentGroup, sameTree, depth) {\n // When 'render' is triggered by action,\n // 'this' and 'old' may be the same tree,\n // we use rawIndex in that case.\n if (sameTree) {\n oldViewChildren = thisViewChildren;\n each(thisViewChildren, function (child, index) {\n !child.isRemoved() && processNode(index, index);\n });\n } // Diff hierarchically (diff only in each subtree, but not whole).\n // because, consistency of view is important.\n else {\n new DataDiffer(oldViewChildren, thisViewChildren, getKey, getKey).add(processNode).update(processNode).remove(zrUtil.curry(processNode, null)).execute();\n }\n\n function getKey(node) {\n // Identify by name or raw index.\n return node.getId();\n }\n\n function processNode(newIndex, oldIndex) {\n var thisNode = newIndex != null ? thisViewChildren[newIndex] : null;\n var oldNode = oldIndex != null ? oldViewChildren[oldIndex] : null;\n var group = doRenderNode(thisNode, oldNode, parentGroup, depth);\n group && dualTravel(thisNode && thisNode.viewChildren || [], oldNode && oldNode.viewChildren || [], group, sameTree, depth + 1);\n }\n }\n\n function clearStorage(storage) {\n var willDeleteEls = createStorage();\n storage && each(storage, function (store, storageName) {\n var delEls = willDeleteEls[storageName];\n each(store, function (el) {\n el && (delEls.push(el), el.__tmWillDelete = 1);\n });\n });\n return willDeleteEls;\n }\n\n function renderFinally() {\n each(willDeleteEls, function (els) {\n each(els, function (el) {\n el.parent && el.parent.remove(el);\n });\n });\n each(willInvisibleEls, function (el) {\n el.invisible = true; // Setting invisible is for optimizing, so no need to set dirty,\n // just mark as invisible.\n\n el.dirty();\n });\n }\n },\n\n /**\n * @private\n */\n _doAnimation: function (containerGroup, renderResult, seriesModel, reRoot) {\n if (!seriesModel.get('animation')) {\n return;\n }\n\n var duration = seriesModel.get('animationDurationUpdate');\n var easing = seriesModel.get('animationEasing');\n var animationWrap = animationUtil.createWrap(); // Make delete animations.\n\n each(renderResult.willDeleteEls, function (store, storageName) {\n each(store, function (el, rawIndex) {\n if (el.invisible) {\n return;\n }\n\n var parent = el.parent; // Always has parent, and parent is nodeGroup.\n\n var target;\n\n if (reRoot && reRoot.direction === 'drillDown') {\n target = parent === reRoot.rootNodeGroup // This is the content element of view root.\n // Only `content` will enter this branch, because\n // `background` and `nodeGroup` will not be deleted.\n ? {\n shape: {\n x: 0,\n y: 0,\n width: parent.__tmNodeWidth,\n height: parent.__tmNodeHeight\n },\n style: {\n opacity: 0\n } // Others.\n\n } : {\n style: {\n opacity: 0\n }\n };\n } else {\n var targetX = 0;\n var targetY = 0;\n\n if (!parent.__tmWillDelete) {\n // Let node animate to right-bottom corner, cooperating with fadeout,\n // which is appropriate for user understanding.\n // Divided by 2 for reRoot rolling up effect.\n targetX = parent.__tmNodeWidth / 2;\n targetY = parent.__tmNodeHeight / 2;\n }\n\n target = storageName === 'nodeGroup' ? {\n position: [targetX, targetY],\n style: {\n opacity: 0\n }\n } : {\n shape: {\n x: targetX,\n y: targetY,\n width: 0,\n height: 0\n },\n style: {\n opacity: 0\n }\n };\n }\n\n target && animationWrap.add(el, target, duration, easing);\n });\n }); // Make other animations\n\n each(this._storage, function (store, storageName) {\n each(store, function (el, rawIndex) {\n var last = renderResult.lastsForAnimation[storageName][rawIndex];\n var target = {};\n\n if (!last) {\n return;\n }\n\n if (storageName === 'nodeGroup') {\n if (last.old) {\n target.position = el.position.slice();\n el.attr('position', last.old);\n }\n } else {\n if (last.old) {\n target.shape = zrUtil.extend({}, el.shape);\n el.setShape(last.old);\n }\n\n if (last.fadein) {\n el.setStyle('opacity', 0);\n target.style = {\n opacity: 1\n };\n } // When animation is stopped for succedent animation starting,\n // el.style.opacity might not be 1\n else if (el.style.opacity !== 1) {\n target.style = {\n opacity: 1\n };\n }\n }\n\n animationWrap.add(el, target, duration, easing);\n });\n }, this);\n this._state = 'animating';\n animationWrap.done(bind(function () {\n this._state = 'ready';\n renderResult.renderFinally();\n }, this)).start();\n },\n\n /**\n * @private\n */\n _resetController: function (api) {\n var controller = this._controller; // Init controller.\n\n if (!controller) {\n controller = this._controller = new RoamController(api.getZr());\n controller.enable(this.seriesModel.get('roam'));\n controller.on('pan', bind(this._onPan, this));\n controller.on('zoom', bind(this._onZoom, this));\n }\n\n var rect = new BoundingRect(0, 0, api.getWidth(), api.getHeight());\n controller.setPointerChecker(function (e, x, y) {\n return rect.contain(x, y);\n });\n },\n\n /**\n * @private\n */\n _clearController: function () {\n var controller = this._controller;\n\n if (controller) {\n controller.dispose();\n controller = null;\n }\n },\n\n /**\n * @private\n */\n _onPan: function (e) {\n if (this._state !== 'animating' && (Math.abs(e.dx) > DRAG_THRESHOLD || Math.abs(e.dy) > DRAG_THRESHOLD)) {\n // These param must not be cached.\n var root = this.seriesModel.getData().tree.root;\n\n if (!root) {\n return;\n }\n\n var rootLayout = root.getLayout();\n\n if (!rootLayout) {\n return;\n }\n\n this.api.dispatchAction({\n type: 'treemapMove',\n from: this.uid,\n seriesId: this.seriesModel.id,\n rootRect: {\n x: rootLayout.x + e.dx,\n y: rootLayout.y + e.dy,\n width: rootLayout.width,\n height: rootLayout.height\n }\n });\n }\n },\n\n /**\n * @private\n */\n _onZoom: function (e) {\n var mouseX = e.originX;\n var mouseY = e.originY;\n\n if (this._state !== 'animating') {\n // These param must not be cached.\n var root = this.seriesModel.getData().tree.root;\n\n if (!root) {\n return;\n }\n\n var rootLayout = root.getLayout();\n\n if (!rootLayout) {\n return;\n }\n\n var rect = new BoundingRect(rootLayout.x, rootLayout.y, rootLayout.width, rootLayout.height);\n var layoutInfo = this.seriesModel.layoutInfo; // Transform mouse coord from global to containerGroup.\n\n mouseX -= layoutInfo.x;\n mouseY -= layoutInfo.y; // Scale root bounding rect.\n\n var m = matrix.create();\n matrix.translate(m, m, [-mouseX, -mouseY]);\n matrix.scale(m, m, [e.scale, e.scale]);\n matrix.translate(m, m, [mouseX, mouseY]);\n rect.applyTransform(m);\n this.api.dispatchAction({\n type: 'treemapRender',\n from: this.uid,\n seriesId: this.seriesModel.id,\n rootRect: {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n }\n });\n }\n },\n\n /**\n * @private\n */\n _initEvents: function (containerGroup) {\n containerGroup.on('click', function (e) {\n if (this._state !== 'ready') {\n return;\n }\n\n var nodeClick = this.seriesModel.get('nodeClick', true);\n\n if (!nodeClick) {\n return;\n }\n\n var targetInfo = this.findTarget(e.offsetX, e.offsetY);\n\n if (!targetInfo) {\n return;\n }\n\n var node = targetInfo.node;\n\n if (node.getLayout().isLeafRoot) {\n this._rootToNode(targetInfo);\n } else {\n if (nodeClick === 'zoomToNode') {\n this._zoomToNode(targetInfo);\n } else if (nodeClick === 'link') {\n var itemModel = node.hostTree.data.getItemModel(node.dataIndex);\n var link = itemModel.get('link', true);\n var linkTarget = itemModel.get('target', true) || 'blank';\n link && windowOpen(link, linkTarget);\n }\n }\n }, this);\n },\n\n /**\n * @private\n */\n _renderBreadcrumb: function (seriesModel, api, targetInfo) {\n if (!targetInfo) {\n targetInfo = seriesModel.get('leafDepth', true) != null ? {\n node: seriesModel.getViewRoot() // FIXME\n // better way?\n // Find breadcrumb tail on center of containerGroup.\n\n } : this.findTarget(api.getWidth() / 2, api.getHeight() / 2);\n\n if (!targetInfo) {\n targetInfo = {\n node: seriesModel.getData().tree.root\n };\n }\n }\n\n (this._breadcrumb || (this._breadcrumb = new Breadcrumb(this.group))).render(seriesModel, api, targetInfo.node, bind(onSelect, this));\n\n function onSelect(node) {\n if (this._state !== 'animating') {\n helper.aboveViewRoot(seriesModel.getViewRoot(), node) ? this._rootToNode({\n node: node\n }) : this._zoomToNode({\n node: node\n });\n }\n }\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearController();\n\n this._containerGroup && this._containerGroup.removeAll();\n this._storage = createStorage();\n this._state = 'ready';\n this._breadcrumb && this._breadcrumb.remove();\n },\n dispose: function () {\n this._clearController();\n },\n\n /**\n * @private\n */\n _zoomToNode: function (targetInfo) {\n this.api.dispatchAction({\n type: 'treemapZoomToNode',\n from: this.uid,\n seriesId: this.seriesModel.id,\n targetNode: targetInfo.node\n });\n },\n\n /**\n * @private\n */\n _rootToNode: function (targetInfo) {\n this.api.dispatchAction({\n type: 'treemapRootToNode',\n from: this.uid,\n seriesId: this.seriesModel.id,\n targetNode: targetInfo.node\n });\n },\n\n /**\n * @public\n * @param {number} x Global coord x.\n * @param {number} y Global coord y.\n * @return {Object} info If not found, return undefined;\n * @return {number} info.node Target node.\n * @return {number} info.offsetX x refer to target node.\n * @return {number} info.offsetY y refer to target node.\n */\n findTarget: function (x, y) {\n var targetInfo;\n var viewRoot = this.seriesModel.getViewRoot();\n viewRoot.eachNode({\n attr: 'viewChildren',\n order: 'preorder'\n }, function (node) {\n var bgEl = this._storage.background[node.getRawIndex()]; // If invisible, there might be no element.\n\n\n if (bgEl) {\n var point = bgEl.transformCoordToLocal(x, y);\n var shape = bgEl.shape; // For performance consideration, dont use 'getBoundingRect'.\n\n if (shape.x <= point[0] && point[0] <= shape.x + shape.width && shape.y <= point[1] && point[1] <= shape.y + shape.height) {\n targetInfo = {\n node: node,\n offsetX: point[0],\n offsetY: point[1]\n };\n } else {\n return false; // Suppress visit subtree.\n }\n }\n }, this);\n return targetInfo;\n }\n});\n/**\n * @inner\n */\n\n\nfunction createStorage() {\n return {\n nodeGroup: [],\n background: [],\n content: []\n };\n}\n/**\n * @inner\n * @return Return undefined means do not travel further.\n */\n\n\nfunction renderNode(seriesModel, thisStorage, oldStorage, reRoot, lastsForAnimation, willInvisibleEls, thisNode, oldNode, parentGroup, depth) {\n // Whether under viewRoot.\n if (!thisNode) {\n // Deleting nodes will be performed finally. This method just find\n // element from old storage, or create new element, set them to new\n // storage, and set styles.\n return;\n } // -------------------------------------------------------------------\n // Start of closure variables available in \"Procedures in renderNode\".\n\n\n var thisLayout = thisNode.getLayout();\n var data = seriesModel.getData(); // Only for enabling highlight/downplay. Clear firstly.\n // Because some node will not be rendered.\n\n data.setItemGraphicEl(thisNode.dataIndex, null);\n\n if (!thisLayout || !thisLayout.isInView) {\n return;\n }\n\n var thisWidth = thisLayout.width;\n var thisHeight = thisLayout.height;\n var borderWidth = thisLayout.borderWidth;\n var thisInvisible = thisLayout.invisible;\n var thisRawIndex = thisNode.getRawIndex();\n var oldRawIndex = oldNode && oldNode.getRawIndex();\n var thisViewChildren = thisNode.viewChildren;\n var upperHeight = thisLayout.upperHeight;\n var isParent = thisViewChildren && thisViewChildren.length;\n var itemStyleNormalModel = thisNode.getModel('itemStyle');\n var itemStyleEmphasisModel = thisNode.getModel('emphasis.itemStyle'); // End of closure ariables available in \"Procedures in renderNode\".\n // -----------------------------------------------------------------\n // Node group\n\n var group = giveGraphic('nodeGroup', Group);\n\n if (!group) {\n return;\n }\n\n parentGroup.add(group); // x,y are not set when el is above view root.\n\n group.attr('position', [thisLayout.x || 0, thisLayout.y || 0]);\n group.__tmNodeWidth = thisWidth;\n group.__tmNodeHeight = thisHeight;\n\n if (thisLayout.isAboveViewRoot) {\n return group;\n }\n\n var nodeModel = thisNode.getModel(); // Background\n\n var bg = giveGraphic('background', Rect, depth, Z_BG);\n bg && renderBackground(group, bg, isParent && thisLayout.upperLabelHeight); // No children, render content.\n\n if (isParent) {\n // Because of the implementation about \"traverse\" in graphic hover style, we\n // can not set hover listener on the \"group\" of non-leaf node. Otherwise the\n // hover event from the descendents will be listenered.\n if (graphic.isHighDownDispatcher(group)) {\n graphic.setAsHighDownDispatcher(group, false);\n }\n\n if (bg) {\n graphic.setAsHighDownDispatcher(bg, true); // Only for enabling highlight/downplay.\n\n data.setItemGraphicEl(thisNode.dataIndex, bg);\n }\n } else {\n var content = giveGraphic('content', Rect, depth, Z_CONTENT);\n content && renderContent(group, content);\n\n if (bg && graphic.isHighDownDispatcher(bg)) {\n graphic.setAsHighDownDispatcher(bg, false);\n }\n\n graphic.setAsHighDownDispatcher(group, true); // Only for enabling highlight/downplay.\n\n data.setItemGraphicEl(thisNode.dataIndex, group);\n }\n\n return group; // ----------------------------\n // | Procedures in renderNode |\n // ----------------------------\n\n function renderBackground(group, bg, useUpperLabel) {\n // For tooltip.\n bg.dataIndex = thisNode.dataIndex;\n bg.seriesIndex = seriesModel.seriesIndex;\n bg.setShape({\n x: 0,\n y: 0,\n width: thisWidth,\n height: thisHeight\n });\n\n if (thisInvisible) {\n // If invisible, do not set visual, otherwise the element will\n // change immediately before animation. We think it is OK to\n // remain its origin color when moving out of the view window.\n processInvisible(bg);\n } else {\n bg.invisible = false;\n var visualBorderColor = thisNode.getVisual('borderColor', true);\n var emphasisBorderColor = itemStyleEmphasisModel.get('borderColor');\n var normalStyle = getItemStyleNormal(itemStyleNormalModel);\n normalStyle.fill = visualBorderColor;\n var emphasisStyle = getItemStyleEmphasis(itemStyleEmphasisModel);\n emphasisStyle.fill = emphasisBorderColor;\n\n if (useUpperLabel) {\n var upperLabelWidth = thisWidth - 2 * borderWidth;\n prepareText(normalStyle, emphasisStyle, visualBorderColor, upperLabelWidth, upperHeight, {\n x: borderWidth,\n y: 0,\n width: upperLabelWidth,\n height: upperHeight\n });\n } // For old bg.\n else {\n normalStyle.text = emphasisStyle.text = null;\n }\n\n bg.setStyle(normalStyle);\n graphic.setElementHoverStyle(bg, emphasisStyle);\n }\n\n group.add(bg);\n }\n\n function renderContent(group, content) {\n // For tooltip.\n content.dataIndex = thisNode.dataIndex;\n content.seriesIndex = seriesModel.seriesIndex;\n var contentWidth = Math.max(thisWidth - 2 * borderWidth, 0);\n var contentHeight = Math.max(thisHeight - 2 * borderWidth, 0);\n content.culling = true;\n content.setShape({\n x: borderWidth,\n y: borderWidth,\n width: contentWidth,\n height: contentHeight\n });\n\n if (thisInvisible) {\n // If invisible, do not set visual, otherwise the element will\n // change immediately before animation. We think it is OK to\n // remain its origin color when moving out of the view window.\n processInvisible(content);\n } else {\n content.invisible = false;\n var visualColor = thisNode.getVisual('color', true);\n var normalStyle = getItemStyleNormal(itemStyleNormalModel);\n normalStyle.fill = visualColor;\n var emphasisStyle = getItemStyleEmphasis(itemStyleEmphasisModel);\n prepareText(normalStyle, emphasisStyle, visualColor, contentWidth, contentHeight);\n content.setStyle(normalStyle);\n graphic.setElementHoverStyle(content, emphasisStyle);\n }\n\n group.add(content);\n }\n\n function processInvisible(element) {\n // Delay invisible setting utill animation finished,\n // avoid element vanish suddenly before animation.\n !element.invisible && willInvisibleEls.push(element);\n }\n\n function prepareText(normalStyle, emphasisStyle, visualColor, width, height, upperLabelRect) {\n var defaultText = nodeModel.get('name');\n var normalLabelModel = nodeModel.getModel(upperLabelRect ? PATH_UPPERLABEL_NORMAL : PATH_LABEL_NOAMAL);\n var emphasisLabelModel = nodeModel.getModel(upperLabelRect ? PATH_UPPERLABEL_EMPHASIS : PATH_LABEL_EMPHASIS);\n var isShow = normalLabelModel.getShallow('show');\n graphic.setLabelStyle(normalStyle, emphasisStyle, normalLabelModel, emphasisLabelModel, {\n defaultText: isShow ? defaultText : null,\n autoColor: visualColor,\n isRectText: true,\n labelFetcher: seriesModel,\n labelDataIndex: thisNode.dataIndex,\n labelProp: upperLabelRect ? 'upperLabel' : 'label'\n });\n addDrillDownIcon(normalStyle, upperLabelRect, thisLayout);\n addDrillDownIcon(emphasisStyle, upperLabelRect, thisLayout);\n upperLabelRect && (normalStyle.textRect = zrUtil.clone(upperLabelRect));\n normalStyle.truncate = isShow && normalLabelModel.get('ellipsis') ? {\n outerWidth: width,\n outerHeight: height,\n minChar: 2\n } : null;\n }\n\n function addDrillDownIcon(style, upperLabelRect, thisLayout) {\n var text = style.text;\n\n if (!upperLabelRect && thisLayout.isLeafRoot && text != null) {\n var iconChar = seriesModel.get('drillDownIcon', true);\n style.text = iconChar ? iconChar + ' ' + text : text;\n }\n }\n\n function giveGraphic(storageName, Ctor, depth, z) {\n var element = oldRawIndex != null && oldStorage[storageName][oldRawIndex];\n var lasts = lastsForAnimation[storageName];\n\n if (element) {\n // Remove from oldStorage\n oldStorage[storageName][oldRawIndex] = null;\n prepareAnimationWhenHasOld(lasts, element, storageName);\n } // If invisible and no old element, do not create new element (for optimizing).\n else if (!thisInvisible) {\n element = new Ctor({\n z: calculateZ(depth, z)\n });\n element.__tmDepth = depth;\n element.__tmStorageName = storageName;\n prepareAnimationWhenNoOld(lasts, element, storageName);\n } // Set to thisStorage\n\n\n return thisStorage[storageName][thisRawIndex] = element;\n }\n\n function prepareAnimationWhenHasOld(lasts, element, storageName) {\n var lastCfg = lasts[thisRawIndex] = {};\n lastCfg.old = storageName === 'nodeGroup' ? element.position.slice() : zrUtil.extend({}, element.shape);\n } // If a element is new, we need to find the animation start point carefully,\n // otherwise it will looks strange when 'zoomToNode'.\n\n\n function prepareAnimationWhenNoOld(lasts, element, storageName) {\n var lastCfg = lasts[thisRawIndex] = {};\n var parentNode = thisNode.parentNode;\n\n if (parentNode && (!reRoot || reRoot.direction === 'drillDown')) {\n var parentOldX = 0;\n var parentOldY = 0; // New nodes appear from right-bottom corner in 'zoomToNode' animation.\n // For convenience, get old bounding rect from background.\n\n var parentOldBg = lastsForAnimation.background[parentNode.getRawIndex()];\n\n if (!reRoot && parentOldBg && parentOldBg.old) {\n parentOldX = parentOldBg.old.width;\n parentOldY = parentOldBg.old.height;\n } // When no parent old shape found, its parent is new too,\n // so we can just use {x:0, y:0}.\n\n\n lastCfg.old = storageName === 'nodeGroup' ? [0, parentOldY] : {\n x: parentOldX,\n y: parentOldY,\n width: 0,\n height: 0\n };\n } // Fade in, user can be aware that these nodes are new.\n\n\n lastCfg.fadein = storageName !== 'nodeGroup';\n }\n} // We can not set all backgroud with the same z, Because the behaviour of\n// drill down and roll up differ background creation sequence from tree\n// hierarchy sequence, which cause that lowser background element overlap\n// upper ones. So we calculate z based on depth.\n// Moreover, we try to shrink down z interval to [0, 1] to avoid that\n// treemap with large z overlaps other components.\n\n\nfunction calculateZ(depth, zInLevel) {\n var zb = depth * Z_BASE + zInLevel;\n return (zb - 1) / zb;\n}\n\nmodule.exports = _default;","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Model = require(\"../../model/Model\");\n\nvar AxisView = require(\"./AxisView\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar elementList = ['axisLine', 'axisLabel', 'axisTick', 'minorTick', 'splitLine', 'minorSplitLine', 'splitArea'];\n\nfunction getAxisLineShape(polar, rExtent, angle) {\n rExtent[1] > rExtent[0] && (rExtent = rExtent.slice().reverse());\n var start = polar.coordToPoint([rExtent[0], angle]);\n var end = polar.coordToPoint([rExtent[1], angle]);\n return {\n x1: start[0],\n y1: start[1],\n x2: end[0],\n y2: end[1]\n };\n}\n\nfunction getRadiusIdx(polar) {\n var radiusAxis = polar.getRadiusAxis();\n return radiusAxis.inverse ? 0 : 1;\n} // Remove the last tick which will overlap the first tick\n\n\nfunction fixAngleOverlap(list) {\n var firstItem = list[0];\n var lastItem = list[list.length - 1];\n\n if (firstItem && lastItem && Math.abs(Math.abs(firstItem.coord - lastItem.coord) - 360) < 1e-4) {\n list.pop();\n }\n}\n\nvar _default = AxisView.extend({\n type: 'angleAxis',\n axisPointerClass: 'PolarAxisPointer',\n render: function (angleAxisModel, ecModel) {\n this.group.removeAll();\n\n if (!angleAxisModel.get('show')) {\n return;\n }\n\n var angleAxis = angleAxisModel.axis;\n var polar = angleAxis.polar;\n var radiusExtent = polar.getRadiusAxis().getExtent();\n var ticksAngles = angleAxis.getTicksCoords();\n var minorTickAngles = angleAxis.getMinorTicksCoords();\n var labels = zrUtil.map(angleAxis.getViewLabels(), function (labelItem) {\n var labelItem = zrUtil.clone(labelItem);\n labelItem.coord = angleAxis.dataToCoord(labelItem.tickValue);\n return labelItem;\n });\n fixAngleOverlap(labels);\n fixAngleOverlap(ticksAngles);\n zrUtil.each(elementList, function (name) {\n if (angleAxisModel.get(name + '.show') && (!angleAxis.scale.isBlank() || name === 'axisLine')) {\n this['_' + name](angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent, labels);\n }\n }, this);\n },\n\n /**\n * @private\n */\n _axisLine: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n var lineStyleModel = angleAxisModel.getModel('axisLine.lineStyle'); // extent id of the axis radius (r0 and r)\n\n var rId = getRadiusIdx(polar);\n var r0Id = rId ? 0 : 1;\n var shape;\n\n if (radiusExtent[r0Id] === 0) {\n shape = new graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: radiusExtent[rId]\n },\n style: lineStyleModel.getLineStyle(),\n z2: 1,\n silent: true\n });\n } else {\n shape = new graphic.Ring({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: radiusExtent[rId],\n r0: radiusExtent[r0Id]\n },\n style: lineStyleModel.getLineStyle(),\n z2: 1,\n silent: true\n });\n }\n\n shape.style.fill = null;\n this.group.add(shape);\n },\n\n /**\n * @private\n */\n _axisTick: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n var tickModel = angleAxisModel.getModel('axisTick');\n var tickLen = (tickModel.get('inside') ? -1 : 1) * tickModel.get('length');\n var radius = radiusExtent[getRadiusIdx(polar)];\n var lines = zrUtil.map(ticksAngles, function (tickAngleItem) {\n return new graphic.Line({\n shape: getAxisLineShape(polar, [radius, radius + tickLen], tickAngleItem.coord)\n });\n });\n this.group.add(graphic.mergePath(lines, {\n style: zrUtil.defaults(tickModel.getModel('lineStyle').getLineStyle(), {\n stroke: angleAxisModel.get('axisLine.lineStyle.color')\n })\n }));\n },\n\n /**\n * @private\n */\n _minorTick: function (angleAxisModel, polar, tickAngles, minorTickAngles, radiusExtent) {\n if (!minorTickAngles.length) {\n return;\n }\n\n var tickModel = angleAxisModel.getModel('axisTick');\n var minorTickModel = angleAxisModel.getModel('minorTick');\n var tickLen = (tickModel.get('inside') ? -1 : 1) * minorTickModel.get('length');\n var radius = radiusExtent[getRadiusIdx(polar)];\n var lines = [];\n\n for (var i = 0; i < minorTickAngles.length; i++) {\n for (var k = 0; k < minorTickAngles[i].length; k++) {\n lines.push(new graphic.Line({\n shape: getAxisLineShape(polar, [radius, radius + tickLen], minorTickAngles[i][k].coord)\n }));\n }\n }\n\n this.group.add(graphic.mergePath(lines, {\n style: zrUtil.defaults(minorTickModel.getModel('lineStyle').getLineStyle(), zrUtil.defaults(tickModel.getLineStyle(), {\n stroke: angleAxisModel.get('axisLine.lineStyle.color')\n }))\n }));\n },\n\n /**\n * @private\n */\n _axisLabel: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent, labels) {\n var rawCategoryData = angleAxisModel.getCategories(true);\n var commonLabelModel = angleAxisModel.getModel('axisLabel');\n var labelMargin = commonLabelModel.get('margin');\n var triggerEvent = angleAxisModel.get('triggerEvent'); // Use length of ticksAngles because it may remove the last tick to avoid overlapping\n\n zrUtil.each(labels, function (labelItem, idx) {\n var labelModel = commonLabelModel;\n var tickValue = labelItem.tickValue;\n var r = radiusExtent[getRadiusIdx(polar)];\n var p = polar.coordToPoint([r + labelMargin, labelItem.coord]);\n var cx = polar.cx;\n var cy = polar.cy;\n var labelTextAlign = Math.abs(p[0] - cx) / r < 0.3 ? 'center' : p[0] > cx ? 'left' : 'right';\n var labelTextVerticalAlign = Math.abs(p[1] - cy) / r < 0.3 ? 'middle' : p[1] > cy ? 'top' : 'bottom';\n\n if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {\n labelModel = new Model(rawCategoryData[tickValue].textStyle, commonLabelModel, commonLabelModel.ecModel);\n }\n\n var textEl = new graphic.Text({\n silent: AxisBuilder.isLabelSilent(angleAxisModel)\n });\n this.group.add(textEl);\n graphic.setTextStyle(textEl.style, labelModel, {\n x: p[0],\n y: p[1],\n textFill: labelModel.getTextColor() || angleAxisModel.get('axisLine.lineStyle.color'),\n text: labelItem.formattedLabel,\n textAlign: labelTextAlign,\n textVerticalAlign: labelTextVerticalAlign\n }); // Pack data for mouse event\n\n if (triggerEvent) {\n textEl.eventData = AxisBuilder.makeAxisEventDataBase(angleAxisModel);\n textEl.eventData.targetType = 'axisLabel';\n textEl.eventData.value = labelItem.rawLabel;\n }\n }, this);\n },\n\n /**\n * @private\n */\n _splitLine: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n var splitLineModel = angleAxisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n var lineCount = 0;\n lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n var splitLines = [];\n\n for (var i = 0; i < ticksAngles.length; i++) {\n var colorIndex = lineCount++ % lineColors.length;\n splitLines[colorIndex] = splitLines[colorIndex] || [];\n splitLines[colorIndex].push(new graphic.Line({\n shape: getAxisLineShape(polar, radiusExtent, ticksAngles[i].coord)\n }));\n } // Simple optimization\n // Batching the lines if color are the same\n\n\n for (var i = 0; i < splitLines.length; i++) {\n this.group.add(graphic.mergePath(splitLines[i], {\n style: zrUtil.defaults({\n stroke: lineColors[i % lineColors.length]\n }, lineStyleModel.getLineStyle()),\n silent: true,\n z: angleAxisModel.get('z')\n }));\n }\n },\n\n /**\n * @private\n */\n _minorSplitLine: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n if (!minorTickAngles.length) {\n return;\n }\n\n var minorSplitLineModel = angleAxisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var lines = [];\n\n for (var i = 0; i < minorTickAngles.length; i++) {\n for (var k = 0; k < minorTickAngles[i].length; k++) {\n lines.push(new graphic.Line({\n shape: getAxisLineShape(polar, radiusExtent, minorTickAngles[i][k].coord)\n }));\n }\n }\n\n this.group.add(graphic.mergePath(lines, {\n style: lineStyleModel.getLineStyle(),\n silent: true,\n z: angleAxisModel.get('z')\n }));\n },\n\n /**\n * @private\n */\n _splitArea: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {\n if (!ticksAngles.length) {\n return;\n }\n\n var splitAreaModel = angleAxisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var lineCount = 0;\n areaColors = areaColors instanceof Array ? areaColors : [areaColors];\n var splitAreas = [];\n var RADIAN = Math.PI / 180;\n var prevAngle = -ticksAngles[0].coord * RADIAN;\n var r0 = Math.min(radiusExtent[0], radiusExtent[1]);\n var r1 = Math.max(radiusExtent[0], radiusExtent[1]);\n var clockwise = angleAxisModel.get('clockwise');\n\n for (var i = 1; i < ticksAngles.length; i++) {\n var colorIndex = lineCount++ % areaColors.length;\n splitAreas[colorIndex] = splitAreas[colorIndex] || [];\n splitAreas[colorIndex].push(new graphic.Sector({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r0: r0,\n r: r1,\n startAngle: prevAngle,\n endAngle: -ticksAngles[i].coord * RADIAN,\n clockwise: clockwise\n },\n silent: true\n }));\n prevAngle = -ticksAngles[i].coord * RADIAN;\n } // Simple optimization\n // Batching the lines if color are the same\n\n\n for (var i = 0; i < splitAreas.length; i++) {\n this.group.add(graphic.mergePath(splitAreas[i], {\n style: zrUtil.defaults({\n fill: areaColors[i % areaColors.length]\n }, areaStyleModel.getAreaStyle()),\n silent: true\n }));\n }\n }\n});\n\nmodule.exports = _default;","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar makeStyleMapper = require(\"../../model/mixin/makeStyleMapper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar getBarItemStyle = makeStyleMapper([['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], // Compatitable with 2\n['stroke', 'barBorderColor'], ['lineWidth', 'barBorderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\nvar _default = {\n getBarItemStyle: function (excludes) {\n var style = getBarItemStyle(this, excludes);\n\n if (this.getBorderLineDash) {\n var lineDash = this.getBorderLineDash();\n lineDash && (style.lineDash = lineDash);\n }\n\n return style;\n }\n};\nmodule.exports = _default;","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrender = require(\"zrender/lib/zrender\");\n\nexports.zrender = zrender;\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nexports.matrix = matrix;\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nexports.vector = vector;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar colorTool = require(\"zrender/lib/tool/color\");\n\nexports.color = colorTool;\n\nvar graphicUtil = require(\"./util/graphic\");\n\nvar numberUtil = require(\"./util/number\");\n\nexports.number = numberUtil;\n\nvar formatUtil = require(\"./util/format\");\n\nexports.format = formatUtil;\n\nvar _throttle = require(\"./util/throttle\");\n\nvar throttle = _throttle.throttle;\nexports.throttle = _throttle.throttle;\n\nvar ecHelper = require(\"./helper\");\n\nexports.helper = ecHelper;\n\nvar parseGeoJSON = require(\"./coord/geo/parseGeoJson\");\n\nexports.parseGeoJSON = parseGeoJSON;\n\nvar _List = require(\"./data/List\");\n\nexports.List = _List;\n\nvar _Model = require(\"./model/Model\");\n\nexports.Model = _Model;\n\nvar _Axis = require(\"./coord/Axis\");\n\nexports.Axis = _Axis;\n\nvar _env = require(\"zrender/lib/core/env\");\n\nexports.env = _env;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Do not mount those modules on 'src/echarts' for better tree shaking.\n */\nvar parseGeoJson = parseGeoJSON;\nvar ecUtil = {};\nzrUtil.each(['map', 'each', 'filter', 'indexOf', 'inherits', 'reduce', 'filter', 'bind', 'curry', 'isArray', 'isString', 'isObject', 'isFunction', 'extend', 'defaults', 'clone', 'merge'], function (name) {\n ecUtil[name] = zrUtil[name];\n});\nvar graphic = {};\nzrUtil.each(['extendShape', 'extendPath', 'makePath', 'makeImage', 'mergePath', 'resizePath', 'createIcon', 'setHoverStyle', 'setLabelStyle', 'setTextStyle', 'setText', 'getFont', 'updateProps', 'initProps', 'getTransform', 'clipPointsByRect', 'clipRectByRect', 'registerShape', 'getShapeClass', 'Group', 'Image', 'Text', 'Circle', 'Sector', 'Ring', 'Polygon', 'Polyline', 'Rect', 'Line', 'BezierCurve', 'Arc', 'IncrementalDisplayable', 'CompoundPath', 'LinearGradient', 'RadialGradient', 'BoundingRect'], function (name) {\n graphic[name] = graphicUtil[name];\n});\nexports.parseGeoJson = parseGeoJson;\nexports.util = ecUtil;\nexports.graphic = graphic;","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _default = new Map([['transparent', 'rgba(0,0,0,0)'], ['black', '#000000'], ['silver', '#C0C0C0'], ['gray', '#808080'], ['white', '#FFFFFF'], ['maroon', '#800000'], ['red', '#FF0000'], ['purple', '#800080'], ['fuchsia', '#FF00FF'], ['green', '#008000'], ['lime', '#00FF00'], ['olive', '#808000'], ['yellow', '#FFFF00'], ['navy', '#000080'], ['blue', '#0000FF'], ['teal', '#008080'], ['aqua', '#00FFFF'], ['aliceblue', '#f0f8ff'], ['antiquewhite', '#faebd7'], ['aquamarine', '#7fffd4'], ['azure', '#f0ffff'], ['beige', '#f5f5dc'], ['bisque', '#ffe4c4'], ['blanchedalmond', '#ffebcd'], ['blueviolet', '#8a2be2'], ['brown', '#a52a2a'], ['burlywood', '#deb887'], ['cadetblue', '#5f9ea0'], ['chartreuse', '#7fff00'], ['chocolate', '#d2691e'], ['coral', '#ff7f50'], ['cornflowerblue', '#6495ed'], ['cornsilk', '#fff8dc'], ['crimson', '#dc143c'], ['cyan', '#00ffff'], ['darkblue', '#00008b'], ['darkcyan', '#008b8b'], ['darkgoldenrod', '#b8860b'], ['darkgray', '#a9a9a9'], ['darkgreen', '#006400'], ['darkgrey', '#a9a9a9'], ['darkkhaki', '#bdb76b'], ['darkmagenta', '#8b008b'], ['darkolivegreen', '#556b2f'], ['darkorange', '#ff8c00'], ['darkorchid', '#9932cc'], ['darkred', '#8b0000'], ['darksalmon', '#e9967a'], ['darkseagreen', '#8fbc8f'], ['darkslateblue', '#483d8b'], ['darkslategray', '#2f4f4f'], ['darkslategrey', '#2f4f4f'], ['darkturquoise', '#00ced1'], ['darkviolet', '#9400d3'], ['deeppink', '#ff1493'], ['deepskyblue', '#00bfff'], ['dimgray', '#696969'], ['dimgrey', '#696969'], ['dodgerblue', '#1e90ff'], ['firebrick', '#b22222'], ['floralwhite', '#fffaf0'], ['forestgreen', '#228b22'], ['gainsboro', '#dcdcdc'], ['ghostwhite', '#f8f8ff'], ['gold', '#ffd700'], ['goldenrod', '#daa520'], ['greenyellow', '#adff2f'], ['grey', '#808080'], ['honeydew', '#f0fff0'], ['hotpink', '#ff69b4'], ['indianred', '#cd5c5c'], ['indigo', '#4b0082'], ['ivory', '#fffff0'], ['khaki', '#f0e68c'], ['lavender', '#e6e6fa'], ['lavenderblush', '#fff0f5'], ['lawngreen', '#7cfc00'], ['lemonchiffon', '#fffacd'], ['lightblue', '#add8e6'], ['lightcoral', '#f08080'], ['lightcyan', '#e0ffff'], ['lightgoldenrodyellow', '#fafad2'], ['lightgray', '#d3d3d3'], ['lightgreen', '#90ee90'], ['lightgrey', '#d3d3d3'], ['lightpink', '#ffb6c1'], ['lightsalmon', '#ffa07a'], ['lightseagreen', '#20b2aa'], ['lightskyblue', '#87cefa'], ['lightslategray', '#778899'], ['lightslategrey', '#778899'], ['lightsteelblue', '#b0c4de'], ['lightyellow', '#ffffe0'], ['limegreen', '#32cd32'], ['linen', '#faf0e6'], ['magenta', '#ff00ff'], ['mediumaquamarine', '#66cdaa'], ['mediumblue', '#0000cd'], ['mediumorchid', '#ba55d3'], ['mediumpurple', '#9370db'], ['mediumseagreen', '#3cb371'], ['mediumslateblue', '#7b68ee'], ['mediumspringgreen', '#00fa9a'], ['mediumturquoise', '#48d1cc'], ['mediumvioletred', '#c71585'], ['midnightblue', '#191970'], ['mintcream', '#f5fffa'], ['mistyrose', '#ffe4e1'], ['moccasin', '#ffe4b5'], ['navajowhite', '#ffdead'], ['oldlace', '#fdf5e6'], ['olivedrab', '#6b8e23'], ['orange', '#ffa500'], ['orangered', '#ff4500'], ['orchid', '#da70d6'], ['palegoldenrod', '#eee8aa'], ['palegreen', '#98fb98'], ['paleturquoise', '#afeeee'], ['palevioletred', '#db7093'], ['papayawhip', '#ffefd5'], ['peachpuff', '#ffdab9'], ['peru', '#cd853f'], ['pink', '#ffc0cb'], ['plum', '#dda0dd'], ['powderblue', '#b0e0e6'], ['rosybrown', '#bc8f8f'], ['royalblue', '#4169e1'], ['saddlebrown', '#8b4513'], ['salmon', '#fa8072'], ['sandybrown', '#f4a460'], ['seagreen', '#2e8b57'], ['seashell', '#fff5ee'], ['sienna', '#a0522d'], ['skyblue', '#87ceeb'], ['slateblue', '#6a5acd'], ['slategray', '#708090'], ['slategrey', '#708090'], ['snow', '#fffafa'], ['springgreen', '#00ff7f'], ['steelblue', '#4682b4'], ['tan', '#d2b48c'], ['thistle', '#d8bfd8'], ['tomato', '#ff6347'], ['turquoise', '#40e0d0'], ['violet', '#ee82ee'], ['wheat', '#f5deb3'], ['whitesmoke', '#f5f5f5'], ['yellowgreen', '#9acd32']]);\n\nexports[\"default\"] = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar lang = require(\"../lang\");\n\nvar _dataProvider = require(\"../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(dom, ecModel) {\n var ariaModel = ecModel.getModel('aria');\n\n if (!ariaModel.get('show')) {\n return;\n } else if (ariaModel.get('description')) {\n dom.setAttribute('aria-label', ariaModel.get('description'));\n return;\n }\n\n var seriesCnt = 0;\n ecModel.eachSeries(function (seriesModel, idx) {\n ++seriesCnt;\n }, this);\n var maxDataCnt = ariaModel.get('data.maxCount') || 10;\n var maxSeriesCnt = ariaModel.get('series.maxCount') || 10;\n var displaySeriesCnt = Math.min(seriesCnt, maxSeriesCnt);\n var ariaLabel;\n\n if (seriesCnt < 1) {\n // No series, no aria label\n return;\n } else {\n var title = getTitle();\n\n if (title) {\n ariaLabel = replace(getConfig('general.withTitle'), {\n title: title\n });\n } else {\n ariaLabel = getConfig('general.withoutTitle');\n }\n\n var seriesLabels = [];\n var prefix = seriesCnt > 1 ? 'series.multiple.prefix' : 'series.single.prefix';\n ariaLabel += replace(getConfig(prefix), {\n seriesCount: seriesCnt\n });\n ecModel.eachSeries(function (seriesModel, idx) {\n if (idx < displaySeriesCnt) {\n var seriesLabel;\n var seriesName = seriesModel.get('name');\n var seriesTpl = 'series.' + (seriesCnt > 1 ? 'multiple' : 'single') + '.';\n seriesLabel = getConfig(seriesName ? seriesTpl + 'withName' : seriesTpl + 'withoutName');\n seriesLabel = replace(seriesLabel, {\n seriesId: seriesModel.seriesIndex,\n seriesName: seriesModel.get('name'),\n seriesType: getSeriesTypeName(seriesModel.subType)\n });\n var data = seriesModel.getData();\n window.data = data;\n\n if (data.count() > maxDataCnt) {\n // Show part of data\n seriesLabel += replace(getConfig('data.partialData'), {\n displayCnt: maxDataCnt\n });\n } else {\n seriesLabel += getConfig('data.allData');\n }\n\n var dataLabels = [];\n\n for (var i = 0; i < data.count(); i++) {\n if (i < maxDataCnt) {\n var name = data.getName(i);\n var value = retrieveRawValue(data, i);\n dataLabels.push(replace(name ? getConfig('data.withName') : getConfig('data.withoutName'), {\n name: name,\n value: value\n }));\n }\n }\n\n seriesLabel += dataLabels.join(getConfig('data.separator.middle')) + getConfig('data.separator.end');\n seriesLabels.push(seriesLabel);\n }\n });\n ariaLabel += seriesLabels.join(getConfig('series.multiple.separator.middle')) + getConfig('series.multiple.separator.end');\n dom.setAttribute('aria-label', ariaLabel);\n }\n\n function replace(str, keyValues) {\n if (typeof str !== 'string') {\n return str;\n }\n\n var result = str;\n zrUtil.each(keyValues, function (value, key) {\n result = result.replace(new RegExp('\\\\{\\\\s*' + key + '\\\\s*\\\\}', 'g'), value);\n });\n return result;\n }\n\n function getConfig(path) {\n var userConfig = ariaModel.get(path);\n\n if (userConfig == null) {\n var pathArr = path.split('.');\n var result = lang.aria;\n\n for (var i = 0; i < pathArr.length; ++i) {\n result = result[pathArr[i]];\n }\n\n return result;\n } else {\n return userConfig;\n }\n }\n\n function getTitle() {\n var title = ecModel.getModel('title').option;\n\n if (title && title.length) {\n title = title[0];\n }\n\n return title && title.text;\n }\n\n function getSeriesTypeName(type) {\n return lang.series.typeNames[type] || '自定义图';\n }\n}\n\nmodule.exports = _default;","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","module.exports = true;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * payload: {\n * brushIndex: number, or,\n * brushId: string, or,\n * brushName: string,\n * globalRanges: Array\n * }\n */\necharts.registerAction({\n type: 'brush',\n event: 'brush'\n /*, update: 'updateView' */\n\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'brush',\n query: payload\n }, function (brushModel) {\n brushModel.setAreas(payload.areas);\n });\n});\n/**\n * payload: {\n * brushComponents: [\n * {\n * brushId,\n * brushIndex,\n * brushName,\n * series: [\n * {\n * seriesId,\n * seriesIndex,\n * seriesName,\n * rawIndices: [21, 34, ...]\n * },\n * ...\n * ]\n * },\n * ...\n * ]\n * }\n */\n\necharts.registerAction({\n type: 'brushSelect',\n event: 'brushSelected',\n update: 'none'\n}, function () {});\necharts.registerAction({\n type: 'brushEnd',\n event: 'brushEnd',\n update: 'none'\n}, function () {});","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME emphasis label position is not same with normal label position\nvar RADIAN = Math.PI / 180;\n\nfunction adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {\n list.sort(function (a, b) {\n return a.y - b.y;\n });\n\n function shiftDown(start, end, delta, dir) {\n for (var j = start; j < end; j++) {\n if (list[j].y + delta > viewTop + viewHeight) {\n break;\n }\n\n list[j].y += delta;\n\n if (j > start && j + 1 < end && list[j + 1].y > list[j].y + list[j].height) {\n shiftUp(j, delta / 2);\n return;\n }\n }\n\n shiftUp(end - 1, delta / 2);\n }\n\n function shiftUp(end, delta) {\n for (var j = end; j >= 0; j--) {\n if (list[j].y - delta < viewTop) {\n break;\n }\n\n list[j].y -= delta;\n\n if (j > 0 && list[j].y > list[j - 1].y + list[j - 1].height) {\n break;\n }\n }\n }\n\n function changeX(list, isDownList, cx, cy, r, dir) {\n var lastDeltaX = dir > 0 ? isDownList // right-side\n ? Number.MAX_VALUE // down\n : 0 // up\n : isDownList // left-side\n ? Number.MAX_VALUE // down\n : 0; // up\n\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].labelAlignTo !== 'none') {\n continue;\n }\n\n var deltaY = Math.abs(list[i].y - cy);\n var length = list[i].len;\n var length2 = list[i].len2;\n var deltaX = deltaY < r + length ? Math.sqrt((r + length + length2) * (r + length + length2) - deltaY * deltaY) : Math.abs(list[i].x - cx);\n\n if (isDownList && deltaX >= lastDeltaX) {\n // right-down, left-down\n deltaX = lastDeltaX - 10;\n }\n\n if (!isDownList && deltaX <= lastDeltaX) {\n // right-up, left-up\n deltaX = lastDeltaX + 10;\n }\n\n list[i].x = cx + deltaX * dir;\n lastDeltaX = deltaX;\n }\n }\n\n var lastY = 0;\n var delta;\n var len = list.length;\n var upList = [];\n var downList = [];\n\n for (var i = 0; i < len; i++) {\n if (list[i].position === 'outer' && list[i].labelAlignTo === 'labelLine') {\n var dx = list[i].x - farthestX;\n list[i].linePoints[1][0] += dx;\n list[i].x = farthestX;\n }\n\n delta = list[i].y - lastY;\n\n if (delta < 0) {\n shiftDown(i, len, -delta, dir);\n }\n\n lastY = list[i].y + list[i].height;\n }\n\n if (viewHeight - lastY < 0) {\n shiftUp(len - 1, lastY - viewHeight);\n }\n\n for (var i = 0; i < len; i++) {\n if (list[i].y >= cy) {\n downList.push(list[i]);\n } else {\n upList.push(list[i]);\n }\n }\n\n changeX(upList, false, cx, cy, r, dir);\n changeX(downList, true, cx, cy, r, dir);\n}\n\nfunction avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop) {\n var leftList = [];\n var rightList = [];\n var leftmostX = Number.MAX_VALUE;\n var rightmostX = -Number.MAX_VALUE;\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n if (isPositionCenter(labelLayoutList[i])) {\n continue;\n }\n\n if (labelLayoutList[i].x < cx) {\n leftmostX = Math.min(leftmostX, labelLayoutList[i].x);\n leftList.push(labelLayoutList[i]);\n } else {\n rightmostX = Math.max(rightmostX, labelLayoutList[i].x);\n rightList.push(labelLayoutList[i]);\n }\n }\n\n adjustSingleSide(rightList, cx, cy, r, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);\n adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n var layout = labelLayoutList[i];\n\n if (isPositionCenter(layout)) {\n continue;\n }\n\n var linePoints = layout.linePoints;\n\n if (linePoints) {\n var isAlignToEdge = layout.labelAlignTo === 'edge';\n var realTextWidth = layout.textRect.width;\n var targetTextWidth;\n\n if (isAlignToEdge) {\n if (layout.x < cx) {\n targetTextWidth = linePoints[2][0] - layout.labelDistance - viewLeft - layout.labelMargin;\n } else {\n targetTextWidth = viewLeft + viewWidth - layout.labelMargin - linePoints[2][0] - layout.labelDistance;\n }\n } else {\n if (layout.x < cx) {\n targetTextWidth = layout.x - viewLeft - layout.bleedMargin;\n } else {\n targetTextWidth = viewLeft + viewWidth - layout.x - layout.bleedMargin;\n }\n }\n\n if (targetTextWidth < layout.textRect.width) {\n layout.text = textContain.truncateText(layout.text, targetTextWidth, layout.font);\n\n if (layout.labelAlignTo === 'edge') {\n realTextWidth = textContain.getWidth(layout.text, layout.font);\n }\n }\n\n var dist = linePoints[1][0] - linePoints[2][0];\n\n if (isAlignToEdge) {\n if (layout.x < cx) {\n linePoints[2][0] = viewLeft + layout.labelMargin + realTextWidth + layout.labelDistance;\n } else {\n linePoints[2][0] = viewLeft + viewWidth - layout.labelMargin - realTextWidth - layout.labelDistance;\n }\n } else {\n if (layout.x < cx) {\n linePoints[2][0] = layout.x + layout.labelDistance;\n } else {\n linePoints[2][0] = layout.x - layout.labelDistance;\n }\n\n linePoints[1][0] = linePoints[2][0] + dist;\n }\n\n linePoints[1][1] = linePoints[2][1] = layout.y;\n }\n }\n}\n\nfunction isPositionCenter(layout) {\n // Not change x for center label\n return layout.position === 'center';\n}\n\nfunction _default(seriesModel, r, viewWidth, viewHeight, viewLeft, viewTop) {\n var data = seriesModel.getData();\n var labelLayoutList = [];\n var cx;\n var cy;\n var hasLabelRotate = false;\n var minShowLabelRadian = (seriesModel.get('minShowLabelAngle') || 0) * RADIAN;\n data.each(function (idx) {\n var layout = data.getItemLayout(idx);\n var itemModel = data.getItemModel(idx);\n var labelModel = itemModel.getModel('label'); // Use position in normal or emphasis\n\n var labelPosition = labelModel.get('position') || itemModel.get('emphasis.label.position');\n var labelDistance = labelModel.get('distanceToLabelLine');\n var labelAlignTo = labelModel.get('alignTo');\n var labelMargin = parsePercent(labelModel.get('margin'), viewWidth);\n var bleedMargin = labelModel.get('bleedMargin');\n var font = labelModel.getFont();\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineLen = labelLineModel.get('length');\n labelLineLen = parsePercent(labelLineLen, viewWidth);\n var labelLineLen2 = labelLineModel.get('length2');\n labelLineLen2 = parsePercent(labelLineLen2, viewWidth);\n\n if (layout.angle < minShowLabelRadian) {\n return;\n }\n\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var textX;\n var textY;\n var linePoints;\n var textAlign;\n cx = layout.cx;\n cy = layout.cy;\n var text = seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx);\n var textRect = textContain.getBoundingRect(text, font, textAlign, 'top');\n var isLabelInside = labelPosition === 'inside' || labelPosition === 'inner';\n\n if (labelPosition === 'center') {\n textX = layout.cx;\n textY = layout.cy;\n textAlign = 'center';\n } else {\n var x1 = (isLabelInside ? (layout.r + layout.r0) / 2 * dx : layout.r * dx) + cx;\n var y1 = (isLabelInside ? (layout.r + layout.r0) / 2 * dy : layout.r * dy) + cy;\n textX = x1 + dx * 3;\n textY = y1 + dy * 3;\n\n if (!isLabelInside) {\n // For roseType\n var x2 = x1 + dx * (labelLineLen + r - layout.r);\n var y2 = y1 + dy * (labelLineLen + r - layout.r);\n var x3 = x2 + (dx < 0 ? -1 : 1) * labelLineLen2;\n var y3 = y2;\n\n if (labelAlignTo === 'edge') {\n // Adjust textX because text align of edge is opposite\n textX = dx < 0 ? viewLeft + labelMargin : viewLeft + viewWidth - labelMargin;\n } else {\n textX = x3 + (dx < 0 ? -labelDistance : labelDistance);\n }\n\n textY = y3;\n linePoints = [[x1, y1], [x2, y2], [x3, y3]];\n }\n\n textAlign = isLabelInside ? 'center' : labelAlignTo === 'edge' ? dx > 0 ? 'right' : 'left' : dx > 0 ? 'left' : 'right';\n }\n\n var labelRotate;\n var rotate = labelModel.get('rotate');\n\n if (typeof rotate === 'number') {\n labelRotate = rotate * (Math.PI / 180);\n } else {\n labelRotate = rotate ? dx < 0 ? -midAngle + Math.PI : -midAngle : 0;\n }\n\n hasLabelRotate = !!labelRotate;\n layout.label = {\n x: textX,\n y: textY,\n position: labelPosition,\n height: textRect.height,\n len: labelLineLen,\n len2: labelLineLen2,\n linePoints: linePoints,\n textAlign: textAlign,\n verticalAlign: 'middle',\n rotation: labelRotate,\n inside: isLabelInside,\n labelDistance: labelDistance,\n labelAlignTo: labelAlignTo,\n labelMargin: labelMargin,\n bleedMargin: bleedMargin,\n textRect: textRect,\n text: text,\n font: font\n }; // Not layout the inside label\n\n if (!isLabelInside) {\n labelLayoutList.push(layout.label);\n }\n });\n\n if (!hasLabelRotate && seriesModel.get('avoidLabelOverlap')) {\n avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop);\n }\n}\n\nmodule.exports = _default;","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = require('./lib/axios');","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Component = require(\"../../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nComponent.registerSubTypeDefaulter('visualMap', function (option) {\n // Compatible with ec2, when splitNumber === 0, continuous visualMap will be used.\n return !option.categories && (!(option.pieces ? option.pieces.length > 0 : option.splitNumber > 0) || option.calculable) ? 'continuous' : 'piecewise';\n});","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var Definable = require(\"./Definable\");\n\nvar zrUtil = require(\"../../core/util\");\n\n/**\n * @file Manages SVG shadow elements.\n * @author Zhang Wenli\n */\n\n/**\n * Manages SVG shadow elements.\n *\n * @class\n * @extends Definable\n * @param {number} zrId zrender instance id\n * @param {SVGElement} svgRoot root of SVG document\n */\nfunction ShadowManager(zrId, svgRoot) {\n Definable.call(this, zrId, svgRoot, ['filter'], '__filter_in_use__', '_shadowDom');\n}\n\nzrUtil.inherits(ShadowManager, Definable);\n/**\n * Create new shadow DOM for fill or stroke if not exist,\n * but will not update shadow if exists.\n *\n * @param {SvgElement} svgElement SVG element to paint\n * @param {Displayable} displayable zrender displayable element\n */\n\nShadowManager.prototype.addWithoutUpdate = function (svgElement, displayable) {\n if (displayable && hasShadow(displayable.style)) {\n // Create dom in if not exists\n var dom;\n\n if (displayable._shadowDom) {\n // Gradient exists\n dom = displayable._shadowDom;\n var defs = this.getDefs(true);\n\n if (!defs.contains(displayable._shadowDom)) {\n // _shadowDom is no longer in defs, recreate\n this.addDom(dom);\n }\n } else {\n // New dom\n dom = this.add(displayable);\n }\n\n this.markUsed(displayable);\n var id = dom.getAttribute('id');\n svgElement.style.filter = 'url(#' + id + ')';\n }\n};\n/**\n * Add a new shadow tag in \n *\n * @param {Displayable} displayable zrender displayable element\n * @return {SVGFilterElement} created DOM\n */\n\n\nShadowManager.prototype.add = function (displayable) {\n var dom = this.createElement('filter'); // Set dom id with shadow id, since each shadow instance\n // will have no more than one dom element.\n // id may exists before for those dirty elements, in which case\n // id should remain the same, and other attributes should be\n // updated.\n\n displayable._shadowDomId = displayable._shadowDomId || this.nextId++;\n dom.setAttribute('id', 'zr' + this._zrId + '-shadow-' + displayable._shadowDomId);\n this.updateDom(displayable, dom);\n this.addDom(dom);\n return dom;\n};\n/**\n * Update shadow.\n *\n * @param {Displayable} displayable zrender displayable element\n */\n\n\nShadowManager.prototype.update = function (svgElement, displayable) {\n var style = displayable.style;\n\n if (hasShadow(style)) {\n var that = this;\n Definable.prototype.update.call(this, displayable, function () {\n that.updateDom(displayable, displayable._shadowDom);\n });\n } else {\n // Remove shadow\n this.remove(svgElement, displayable);\n }\n};\n/**\n * Remove DOM and clear parent filter\n */\n\n\nShadowManager.prototype.remove = function (svgElement, displayable) {\n if (displayable._shadowDomId != null) {\n this.removeDom(svgElement);\n svgElement.style.filter = '';\n }\n};\n/**\n * Update shadow dom\n *\n * @param {Displayable} displayable zrender displayable element\n * @param {SVGFilterElement} dom DOM to update\n */\n\n\nShadowManager.prototype.updateDom = function (displayable, dom) {\n var domChild = dom.getElementsByTagName('feDropShadow');\n\n if (domChild.length === 0) {\n domChild = this.createElement('feDropShadow');\n } else {\n domChild = domChild[0];\n }\n\n var style = displayable.style;\n var scaleX = displayable.scale ? displayable.scale[0] || 1 : 1;\n var scaleY = displayable.scale ? displayable.scale[1] || 1 : 1; // TODO: textBoxShadowBlur is not supported yet\n\n var offsetX;\n var offsetY;\n var blur;\n var color;\n\n if (style.shadowBlur || style.shadowOffsetX || style.shadowOffsetY) {\n offsetX = style.shadowOffsetX || 0;\n offsetY = style.shadowOffsetY || 0;\n blur = style.shadowBlur;\n color = style.shadowColor;\n } else if (style.textShadowBlur) {\n offsetX = style.textShadowOffsetX || 0;\n offsetY = style.textShadowOffsetY || 0;\n blur = style.textShadowBlur;\n color = style.textShadowColor;\n } else {\n // Remove shadow\n this.removeDom(dom, style);\n return;\n }\n\n domChild.setAttribute('dx', offsetX / scaleX);\n domChild.setAttribute('dy', offsetY / scaleY);\n domChild.setAttribute('flood-color', color); // Divide by two here so that it looks the same as in canvas\n // See: https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-shadowblur\n\n var stdDx = blur / 2 / scaleX;\n var stdDy = blur / 2 / scaleY;\n var stdDeviation = stdDx + ' ' + stdDy;\n domChild.setAttribute('stdDeviation', stdDeviation); // Fix filter clipping problem\n\n dom.setAttribute('x', '-100%');\n dom.setAttribute('y', '-100%');\n dom.setAttribute('width', Math.ceil(blur / 2 * 200) + '%');\n dom.setAttribute('height', Math.ceil(blur / 2 * 200) + '%');\n dom.appendChild(domChild); // Store dom element in shadow, to avoid creating multiple\n // dom instances for the same shadow element\n\n displayable._shadowDom = dom;\n};\n/**\n * Mark a single shadow to be used\n *\n * @param {Displayable} displayable displayable element\n */\n\n\nShadowManager.prototype.markUsed = function (displayable) {\n if (displayable._shadowDom) {\n Definable.prototype.markUsed.call(this, displayable._shadowDom);\n }\n};\n\nfunction hasShadow(style) {\n // TODO: textBoxShadowBlur is not supported yet\n return style && (style.shadowBlur || style.shadowOffsetX || style.shadowOffsetY || style.textShadowBlur || style.textShadowOffsetX || style.textShadowOffsetY);\n}\n\nvar _default = ShadowManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar singleAxisHelper = require(\"../../coord/single/singleAxisHelper\");\n\nvar AxisView = require(\"./AxisView\");\n\nvar _axisSplitHelper = require(\"./axisSplitHelper\");\n\nvar rectCoordAxisBuildSplitArea = _axisSplitHelper.rectCoordAxisBuildSplitArea;\nvar rectCoordAxisHandleRemove = _axisSplitHelper.rectCoordAxisHandleRemove;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine'];\nvar SingleAxisView = AxisView.extend({\n type: 'singleAxis',\n axisPointerClass: 'SingleAxisPointer',\n render: function (axisModel, ecModel, api, payload) {\n var group = this.group;\n group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n var layout = singleAxisHelper.layout(axisModel);\n var axisBuilder = new AxisBuilder(axisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n group.add(this._axisGroup);\n group.add(axisBuilder.getGroup());\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get(name + '.show')) {\n this['_' + name](axisModel);\n }\n }, this);\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n SingleAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);\n },\n remove: function () {\n rectCoordAxisHandleRemove(this);\n },\n _splitLine: function (axisModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineWidth = lineStyleModel.get('width');\n var lineColors = lineStyleModel.get('color');\n lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n var gridRect = axisModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var splitLines = [];\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n\n for (var i = 0; i < ticksCoords.length; ++i) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n splitLines[colorIndex] = splitLines[colorIndex] || [];\n splitLines[colorIndex].push(new graphic.Line({\n subPixelOptimize: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: {\n lineWidth: lineWidth\n },\n silent: true\n }));\n }\n\n for (var i = 0; i < splitLines.length; ++i) {\n this.group.add(graphic.mergePath(splitLines[i], {\n style: {\n stroke: lineColors[i % lineColors.length],\n lineDash: lineStyleModel.getLineDash(lineWidth),\n lineWidth: lineWidth\n },\n silent: true\n }));\n }\n },\n _splitArea: function (axisModel) {\n rectCoordAxisBuildSplitArea(this, this._axisGroup, axisModel, axisModel);\n }\n});\nvar _default = SingleAxisView;\nmodule.exports = _default;","var Animator = require(\"../animation/Animator\");\n\nvar logError = require(\"../core/log\");\n\nvar _util = require(\"../core/util\");\n\nvar isString = _util.isString;\nvar isFunction = _util.isFunction;\nvar isObject = _util.isObject;\nvar isArrayLike = _util.isArrayLike;\nvar indexOf = _util.indexOf;\n\n/**\n * @alias module:zrender/mixin/Animatable\n * @constructor\n */\nvar Animatable = function () {\n /**\n * @type {Array.}\n * @readOnly\n */\n this.animators = [];\n};\n\nAnimatable.prototype = {\n constructor: Animatable,\n\n /**\n * 动画\n *\n * @param {string} path The path to fetch value from object, like 'a.b.c'.\n * @param {boolean} [loop] Whether to loop animation.\n * @return {module:zrender/animation/Animator}\n * @example:\n * el.animate('style', false)\n * .when(1000, {x: 10} )\n * .done(function(){ // Animation done })\n * .start()\n */\n animate: function (path, loop) {\n var target;\n var animatingShape = false;\n var el = this;\n var zr = this.__zr;\n\n if (path) {\n var pathSplitted = path.split('.');\n var prop = el; // If animating shape\n\n animatingShape = pathSplitted[0] === 'shape';\n\n for (var i = 0, l = pathSplitted.length; i < l; i++) {\n if (!prop) {\n continue;\n }\n\n prop = prop[pathSplitted[i]];\n }\n\n if (prop) {\n target = prop;\n }\n } else {\n target = el;\n }\n\n if (!target) {\n logError('Property \"' + path + '\" is not existed in element ' + el.id);\n return;\n }\n\n var animators = el.animators;\n var animator = new Animator(target, loop);\n animator.during(function (target) {\n el.dirty(animatingShape);\n }).done(function () {\n // FIXME Animator will not be removed if use `Animator#stop` to stop animation\n animators.splice(indexOf(animators, animator), 1);\n });\n animators.push(animator); // If animate after added to the zrender\n\n if (zr) {\n zr.animation.addAnimator(animator);\n }\n\n return animator;\n },\n\n /**\n * 停止动画\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stopAnimation: function (forwardToLast) {\n var animators = this.animators;\n var len = animators.length;\n\n for (var i = 0; i < len; i++) {\n animators[i].stop(forwardToLast);\n }\n\n animators.length = 0;\n return this;\n },\n\n /**\n * Caution: this method will stop previous animation.\n * So do not use this method to one element twice before\n * animation starts, unless you know what you are doing.\n * @param {Object} target\n * @param {number} [time=500] Time in ms\n * @param {string} [easing='linear']\n * @param {number} [delay=0]\n * @param {Function} [callback]\n * @param {Function} [forceAnimate] Prevent stop animation and callback\n * immediently when target values are the same as current values.\n *\n * @example\n * // Animate position\n * el.animateTo({\n * position: [10, 10]\n * }, function () { // done })\n *\n * // Animate shape, style and position in 100ms, delayed 100ms, with cubicOut easing\n * el.animateTo({\n * shape: {\n * width: 500\n * },\n * style: {\n * fill: 'red'\n * }\n * position: [10, 10]\n * }, 100, 100, 'cubicOut', function () { // done })\n */\n // TODO Return animation key\n animateTo: function (target, time, delay, easing, callback, forceAnimate) {\n animateTo(this, target, time, delay, easing, callback, forceAnimate);\n },\n\n /**\n * Animate from the target state to current state.\n * The params and the return value are the same as `this.animateTo`.\n */\n animateFrom: function (target, time, delay, easing, callback, forceAnimate) {\n animateTo(this, target, time, delay, easing, callback, forceAnimate, true);\n }\n};\n\nfunction animateTo(animatable, target, time, delay, easing, callback, forceAnimate, reverse) {\n // animateTo(target, time, easing, callback);\n if (isString(delay)) {\n callback = easing;\n easing = delay;\n delay = 0;\n } // animateTo(target, time, delay, callback);\n else if (isFunction(easing)) {\n callback = easing;\n easing = 'linear';\n delay = 0;\n } // animateTo(target, time, callback);\n else if (isFunction(delay)) {\n callback = delay;\n delay = 0;\n } // animateTo(target, callback)\n else if (isFunction(time)) {\n callback = time;\n time = 500;\n } // animateTo(target)\n else if (!time) {\n time = 500;\n } // Stop all previous animations\n\n\n animatable.stopAnimation();\n animateToShallow(animatable, '', animatable, target, time, delay, reverse); // Animators may be removed immediately after start\n // if there is nothing to animate\n\n var animators = animatable.animators.slice();\n var count = animators.length;\n\n function done() {\n count--;\n\n if (!count) {\n callback && callback();\n }\n } // No animators. This should be checked before animators[i].start(),\n // because 'done' may be executed immediately if no need to animate.\n\n\n if (!count) {\n callback && callback();\n } // Start after all animators created\n // Incase any animator is done immediately when all animation properties are not changed\n\n\n for (var i = 0; i < animators.length; i++) {\n animators[i].done(done).start(easing, forceAnimate);\n }\n}\n/**\n * @param {string} path=''\n * @param {Object} source=animatable\n * @param {Object} target\n * @param {number} [time=500]\n * @param {number} [delay=0]\n * @param {boolean} [reverse] If `true`, animate\n * from the `target` to current state.\n *\n * @example\n * // Animate position\n * el._animateToShallow({\n * position: [10, 10]\n * })\n *\n * // Animate shape, style and position in 100ms, delayed 100ms\n * el._animateToShallow({\n * shape: {\n * width: 500\n * },\n * style: {\n * fill: 'red'\n * }\n * position: [10, 10]\n * }, 100, 100)\n */\n\n\nfunction animateToShallow(animatable, path, source, target, time, delay, reverse) {\n var objShallow = {};\n var propertyCount = 0;\n\n for (var name in target) {\n if (!target.hasOwnProperty(name)) {\n continue;\n }\n\n if (source[name] != null) {\n if (isObject(target[name]) && !isArrayLike(target[name])) {\n animateToShallow(animatable, path ? path + '.' + name : name, source[name], target[name], time, delay, reverse);\n } else {\n if (reverse) {\n objShallow[name] = source[name];\n setAttrByPath(animatable, path, name, target[name]);\n } else {\n objShallow[name] = target[name];\n }\n\n propertyCount++;\n }\n } else if (target[name] != null && !reverse) {\n setAttrByPath(animatable, path, name, target[name]);\n }\n }\n\n if (propertyCount > 0) {\n animatable.animate(path, false).when(time == null ? 500 : time, objShallow).delay(delay || 0);\n }\n}\n\nfunction setAttrByPath(el, path, name, value) {\n // Attr directly if not has property\n // FIXME, if some property not needed for element ?\n if (!path) {\n el.attr(name, value);\n } else {\n // Only support set shape or style\n var props = {};\n props[path] = {};\n props[path][name] = value;\n el.attr(props);\n }\n}\n\nvar _default = Animatable;\nmodule.exports = _default;","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar _whiskerBoxCommon = require(\"../helper/whiskerBoxCommon\");\n\nvar seriesModelMixin = _whiskerBoxCommon.seriesModelMixin;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CandlestickSeries = SeriesModel.extend({\n type: 'series.candlestick',\n dependencies: ['xAxis', 'yAxis', 'grid'],\n\n /**\n * @readOnly\n */\n defaultValueDimensions: [{\n name: 'open',\n defaultTooltip: true\n }, {\n name: 'close',\n defaultTooltip: true\n }, {\n name: 'lowest',\n defaultTooltip: true\n }, {\n name: 'highest',\n defaultTooltip: true\n }],\n\n /**\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * @override\n */\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n layout: null,\n // 'horizontal' or 'vertical'\n clip: true,\n itemStyle: {\n color: '#c23531',\n // 阳线 positive\n color0: '#314656',\n // 阴线 negative '#c23531', '#314656'\n borderWidth: 1,\n // FIXME\n // ec2中使用的是lineStyle.color 和 lineStyle.color0\n borderColor: '#c23531',\n borderColor0: '#314656'\n },\n emphasis: {\n itemStyle: {\n borderWidth: 2\n }\n },\n barMaxWidth: null,\n barMinWidth: null,\n barWidth: null,\n large: true,\n largeThreshold: 600,\n progressive: 3e3,\n progressiveThreshold: 1e4,\n progressiveChunkMode: 'mod',\n animationUpdate: false,\n animationEasing: 'linear',\n animationDuration: 300\n },\n\n /**\n * Get dimension for shadow in dataZoom\n * @return {string} dimension name\n */\n getShadowDim: function () {\n return 'open';\n },\n brushSelector: function (dataIndex, data, selectors) {\n var itemLayout = data.getItemLayout(dataIndex);\n return itemLayout && selectors.rect(itemLayout.brushRect);\n }\n});\nzrUtil.mixin(CandlestickSeries, seriesModelMixin, true);\nvar _default = CandlestickSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar brushHelper = require(\"./brushHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar indexOf = zrUtil.indexOf;\nvar curry = zrUtil.curry;\nvar COORD_CONVERTS = ['dataToPoint', 'pointToData']; // FIXME\n// how to genarialize to more coordinate systems.\n\nvar INCLUDE_FINDER_MAIN_TYPES = ['grid', 'xAxis', 'yAxis', 'geo', 'graph', 'polar', 'radiusAxis', 'angleAxis', 'bmap'];\n/**\n * [option in constructor]:\n * {\n * Index/Id/Name of geo, xAxis, yAxis, grid: See util/model#parseFinder.\n * }\n *\n *\n * [targetInfo]:\n *\n * There can be multiple axes in a single targetInfo. Consider the case\n * of `grid` component, a targetInfo represents a grid which contains one or more\n * cartesian and one or more axes. And consider the case of parallel system,\n * which has multiple axes in a coordinate system.\n * Can be {\n * panelId: ...,\n * coordSys: ,\n * coordSyses: all cartesians.\n * gridModel: \n * xAxes: correspond to coordSyses on index\n * yAxes: correspond to coordSyses on index\n * }\n * or {\n * panelId: ...,\n * coordSys: \n * coordSyses: []\n * geoModel: \n * }\n *\n *\n * [panelOpt]:\n *\n * Make from targetInfo. Input to BrushController.\n * {\n * panelId: ...,\n * rect: ...\n * }\n *\n *\n * [area]:\n *\n * Generated by BrushController or user input.\n * {\n * panelId: Used to locate coordInfo directly. If user inpput, no panelId.\n * brushType: determine how to convert to/from coord('rect' or 'polygon' or 'lineX/Y').\n * Index/Id/Name of geo, xAxis, yAxis, grid: See util/model#parseFinder.\n * range: pixel range.\n * coordRange: representitive coord range (the first one of coordRanges).\n * coordRanges: coord ranges, used in multiple cartesian in one grid.\n * }\n */\n\n/**\n * @param {Object} option contains Index/Id/Name of xAxis/yAxis/geo/grid\n * Each can be {number|Array.}. like: {xAxisIndex: [3, 4]}\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} [opt]\n * @param {Array.} [opt.include] include coordinate system types.\n */\n\nfunction BrushTargetManager(option, ecModel, opt) {\n /**\n * @private\n * @type {Array.}\n */\n var targetInfoList = this._targetInfoList = [];\n var info = {};\n var foundCpts = parseFinder(ecModel, option);\n each(targetInfoBuilders, function (builder, type) {\n if (!opt || !opt.include || indexOf(opt.include, type) >= 0) {\n builder(foundCpts, targetInfoList, info);\n }\n });\n}\n\nvar proto = BrushTargetManager.prototype;\n\nproto.setOutputRanges = function (areas, ecModel) {\n this.matchOutputRanges(areas, ecModel, function (area, coordRange, coordSys) {\n (area.coordRanges || (area.coordRanges = [])).push(coordRange); // area.coordRange is the first of area.coordRanges\n\n if (!area.coordRange) {\n area.coordRange = coordRange; // In 'category' axis, coord to pixel is not reversible, so we can not\n // rebuild range by coordRange accrately, which may bring trouble when\n // brushing only one item. So we use __rangeOffset to rebuilding range\n // by coordRange. And this it only used in brush component so it is no\n // need to be adapted to coordRanges.\n\n var result = coordConvert[area.brushType](0, coordSys, coordRange);\n area.__rangeOffset = {\n offset: diffProcessor[area.brushType](result.values, area.range, [1, 1]),\n xyMinMax: result.xyMinMax\n };\n }\n });\n};\n\nproto.matchOutputRanges = function (areas, ecModel, cb) {\n each(areas, function (area) {\n var targetInfo = this.findTargetInfo(area, ecModel);\n\n if (targetInfo && targetInfo !== true) {\n zrUtil.each(targetInfo.coordSyses, function (coordSys) {\n var result = coordConvert[area.brushType](1, coordSys, area.range);\n cb(area, result.values, coordSys, ecModel);\n });\n }\n }, this);\n};\n\nproto.setInputRanges = function (areas, ecModel) {\n each(areas, function (area) {\n var targetInfo = this.findTargetInfo(area, ecModel);\n area.range = area.range || []; // convert coordRange to global range and set panelId.\n\n if (targetInfo && targetInfo !== true) {\n area.panelId = targetInfo.panelId; // (1) area.range shoule always be calculate from coordRange but does\n // not keep its original value, for the sake of the dataZoom scenario,\n // where area.coordRange remains unchanged but area.range may be changed.\n // (2) Only support converting one coordRange to pixel range in brush\n // component. So do not consider `coordRanges`.\n // (3) About __rangeOffset, see comment above.\n\n var result = coordConvert[area.brushType](0, targetInfo.coordSys, area.coordRange);\n var rangeOffset = area.__rangeOffset;\n area.range = rangeOffset ? diffProcessor[area.brushType](result.values, rangeOffset.offset, getScales(result.xyMinMax, rangeOffset.xyMinMax)) : result.values;\n }\n }, this);\n};\n\nproto.makePanelOpts = function (api, getDefaultBrushType) {\n return zrUtil.map(this._targetInfoList, function (targetInfo) {\n var rect = targetInfo.getPanelRect();\n return {\n panelId: targetInfo.panelId,\n defaultBrushType: getDefaultBrushType && getDefaultBrushType(targetInfo),\n clipPath: brushHelper.makeRectPanelClipPath(rect),\n isTargetByCursor: brushHelper.makeRectIsTargetByCursor(rect, api, targetInfo.coordSysModel),\n getLinearBrushOtherExtent: brushHelper.makeLinearBrushOtherExtent(rect)\n };\n });\n};\n\nproto.controlSeries = function (area, seriesModel, ecModel) {\n // Check whether area is bound in coord, and series do not belong to that coord.\n // If do not do this check, some brush (like lineX) will controll all axes.\n var targetInfo = this.findTargetInfo(area, ecModel);\n return targetInfo === true || targetInfo && indexOf(targetInfo.coordSyses, seriesModel.coordinateSystem) >= 0;\n};\n/**\n * If return Object, a coord found.\n * If reutrn true, global found.\n * Otherwise nothing found.\n *\n * @param {Object} area\n * @param {Array} targetInfoList\n * @return {Object|boolean}\n */\n\n\nproto.findTargetInfo = function (area, ecModel) {\n var targetInfoList = this._targetInfoList;\n var foundCpts = parseFinder(ecModel, area);\n\n for (var i = 0; i < targetInfoList.length; i++) {\n var targetInfo = targetInfoList[i];\n var areaPanelId = area.panelId;\n\n if (areaPanelId) {\n if (targetInfo.panelId === areaPanelId) {\n return targetInfo;\n }\n } else {\n for (var i = 0; i < targetInfoMatchers.length; i++) {\n if (targetInfoMatchers[i](foundCpts, targetInfo)) {\n return targetInfo;\n }\n }\n }\n }\n\n return true;\n};\n\nfunction formatMinMax(minMax) {\n minMax[0] > minMax[1] && minMax.reverse();\n return minMax;\n}\n\nfunction parseFinder(ecModel, option) {\n return modelUtil.parseFinder(ecModel, option, {\n includeMainTypes: INCLUDE_FINDER_MAIN_TYPES\n });\n}\n\nvar targetInfoBuilders = {\n grid: function (foundCpts, targetInfoList) {\n var xAxisModels = foundCpts.xAxisModels;\n var yAxisModels = foundCpts.yAxisModels;\n var gridModels = foundCpts.gridModels; // Remove duplicated.\n\n var gridModelMap = zrUtil.createHashMap();\n var xAxesHas = {};\n var yAxesHas = {};\n\n if (!xAxisModels && !yAxisModels && !gridModels) {\n return;\n }\n\n each(xAxisModels, function (axisModel) {\n var gridModel = axisModel.axis.grid.model;\n gridModelMap.set(gridModel.id, gridModel);\n xAxesHas[gridModel.id] = true;\n });\n each(yAxisModels, function (axisModel) {\n var gridModel = axisModel.axis.grid.model;\n gridModelMap.set(gridModel.id, gridModel);\n yAxesHas[gridModel.id] = true;\n });\n each(gridModels, function (gridModel) {\n gridModelMap.set(gridModel.id, gridModel);\n xAxesHas[gridModel.id] = true;\n yAxesHas[gridModel.id] = true;\n });\n gridModelMap.each(function (gridModel) {\n var grid = gridModel.coordinateSystem;\n var cartesians = [];\n each(grid.getCartesians(), function (cartesian, index) {\n if (indexOf(xAxisModels, cartesian.getAxis('x').model) >= 0 || indexOf(yAxisModels, cartesian.getAxis('y').model) >= 0) {\n cartesians.push(cartesian);\n }\n });\n targetInfoList.push({\n panelId: 'grid--' + gridModel.id,\n gridModel: gridModel,\n coordSysModel: gridModel,\n // Use the first one as the representitive coordSys.\n coordSys: cartesians[0],\n coordSyses: cartesians,\n getPanelRect: panelRectBuilder.grid,\n xAxisDeclared: xAxesHas[gridModel.id],\n yAxisDeclared: yAxesHas[gridModel.id]\n });\n });\n },\n geo: function (foundCpts, targetInfoList) {\n each(foundCpts.geoModels, function (geoModel) {\n var coordSys = geoModel.coordinateSystem;\n targetInfoList.push({\n panelId: 'geo--' + geoModel.id,\n geoModel: geoModel,\n coordSysModel: geoModel,\n coordSys: coordSys,\n coordSyses: [coordSys],\n getPanelRect: panelRectBuilder.geo\n });\n });\n }\n};\nvar targetInfoMatchers = [// grid\nfunction (foundCpts, targetInfo) {\n var xAxisModel = foundCpts.xAxisModel;\n var yAxisModel = foundCpts.yAxisModel;\n var gridModel = foundCpts.gridModel;\n !gridModel && xAxisModel && (gridModel = xAxisModel.axis.grid.model);\n !gridModel && yAxisModel && (gridModel = yAxisModel.axis.grid.model);\n return gridModel && gridModel === targetInfo.gridModel;\n}, // geo\nfunction (foundCpts, targetInfo) {\n var geoModel = foundCpts.geoModel;\n return geoModel && geoModel === targetInfo.geoModel;\n}];\nvar panelRectBuilder = {\n grid: function () {\n // grid is not Transformable.\n return this.coordSys.grid.getRect().clone();\n },\n geo: function () {\n var coordSys = this.coordSys;\n var rect = coordSys.getBoundingRect().clone(); // geo roam and zoom transform\n\n rect.applyTransform(graphic.getTransform(coordSys));\n return rect;\n }\n};\nvar coordConvert = {\n lineX: curry(axisConvert, 0),\n lineY: curry(axisConvert, 1),\n rect: function (to, coordSys, rangeOrCoordRange) {\n var xminymin = coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][0], rangeOrCoordRange[1][0]]);\n var xmaxymax = coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][1], rangeOrCoordRange[1][1]]);\n var values = [formatMinMax([xminymin[0], xmaxymax[0]]), formatMinMax([xminymin[1], xmaxymax[1]])];\n return {\n values: values,\n xyMinMax: values\n };\n },\n polygon: function (to, coordSys, rangeOrCoordRange) {\n var xyMinMax = [[Infinity, -Infinity], [Infinity, -Infinity]];\n var values = zrUtil.map(rangeOrCoordRange, function (item) {\n var p = coordSys[COORD_CONVERTS[to]](item);\n xyMinMax[0][0] = Math.min(xyMinMax[0][0], p[0]);\n xyMinMax[1][0] = Math.min(xyMinMax[1][0], p[1]);\n xyMinMax[0][1] = Math.max(xyMinMax[0][1], p[0]);\n xyMinMax[1][1] = Math.max(xyMinMax[1][1], p[1]);\n return p;\n });\n return {\n values: values,\n xyMinMax: xyMinMax\n };\n }\n};\n\nfunction axisConvert(axisNameIndex, to, coordSys, rangeOrCoordRange) {\n var axis = coordSys.getAxis(['x', 'y'][axisNameIndex]);\n var values = formatMinMax(zrUtil.map([0, 1], function (i) {\n return to ? axis.coordToData(axis.toLocalCoord(rangeOrCoordRange[i])) : axis.toGlobalCoord(axis.dataToCoord(rangeOrCoordRange[i]));\n }));\n var xyMinMax = [];\n xyMinMax[axisNameIndex] = values;\n xyMinMax[1 - axisNameIndex] = [NaN, NaN];\n return {\n values: values,\n xyMinMax: xyMinMax\n };\n}\n\nvar diffProcessor = {\n lineX: curry(axisDiffProcessor, 0),\n lineY: curry(axisDiffProcessor, 1),\n rect: function (values, refer, scales) {\n return [[values[0][0] - scales[0] * refer[0][0], values[0][1] - scales[0] * refer[0][1]], [values[1][0] - scales[1] * refer[1][0], values[1][1] - scales[1] * refer[1][1]]];\n },\n polygon: function (values, refer, scales) {\n return zrUtil.map(values, function (item, idx) {\n return [item[0] - scales[0] * refer[idx][0], item[1] - scales[1] * refer[idx][1]];\n });\n }\n};\n\nfunction axisDiffProcessor(axisNameIndex, values, refer, scales) {\n return [values[0] - scales[axisNameIndex] * refer[0], values[1] - scales[axisNameIndex] * refer[1]];\n} // We have to process scale caused by dataZoom manually,\n// although it might be not accurate.\n\n\nfunction getScales(xyMinMaxCurr, xyMinMaxOrigin) {\n var sizeCurr = getSize(xyMinMaxCurr);\n var sizeOrigin = getSize(xyMinMaxOrigin);\n var scales = [sizeCurr[0] / sizeOrigin[0], sizeCurr[1] / sizeOrigin[1]];\n isNaN(scales[0]) && (scales[0] = 1);\n isNaN(scales[1]) && (scales[1] = 1);\n return scales;\n}\n\nfunction getSize(xyMinMax) {\n return xyMinMax ? [xyMinMax[0][1] - xyMinMax[0][0], xyMinMax[1][1] - xyMinMax[1][0]] : [NaN, NaN];\n}\n\nvar _default = BrushTargetManager;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Region = require(\"./Region\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parse and decode geo json\n * @module echarts/coord/geo/parseGeoJson\n */\nfunction decode(json) {\n if (!json.UTF8Encoding) {\n return json;\n }\n\n var encodeScale = json.UTF8Scale;\n\n if (encodeScale == null) {\n encodeScale = 1024;\n }\n\n var features = json.features;\n\n for (var f = 0; f < features.length; f++) {\n var feature = features[f];\n var geometry = feature.geometry;\n var coordinates = geometry.coordinates;\n var encodeOffsets = geometry.encodeOffsets;\n\n for (var c = 0; c < coordinates.length; c++) {\n var coordinate = coordinates[c];\n\n if (geometry.type === 'Polygon') {\n coordinates[c] = decodePolygon(coordinate, encodeOffsets[c], encodeScale);\n } else if (geometry.type === 'MultiPolygon') {\n for (var c2 = 0; c2 < coordinate.length; c2++) {\n var polygon = coordinate[c2];\n coordinate[c2] = decodePolygon(polygon, encodeOffsets[c][c2], encodeScale);\n }\n }\n }\n } // Has been decoded\n\n\n json.UTF8Encoding = false;\n return json;\n}\n\nfunction decodePolygon(coordinate, encodeOffsets, encodeScale) {\n var result = [];\n var prevX = encodeOffsets[0];\n var prevY = encodeOffsets[1];\n\n for (var i = 0; i < coordinate.length; i += 2) {\n var x = coordinate.charCodeAt(i) - 64;\n var y = coordinate.charCodeAt(i + 1) - 64; // ZigZag decoding\n\n x = x >> 1 ^ -(x & 1);\n y = y >> 1 ^ -(y & 1); // Delta deocding\n\n x += prevX;\n y += prevY;\n prevX = x;\n prevY = y; // Dequantize\n\n result.push([x / encodeScale, y / encodeScale]);\n }\n\n return result;\n}\n/**\n * @alias module:echarts/coord/geo/parseGeoJson\n * @param {Object} geoJson\n * @param {string} nameProperty\n * @return {module:zrender/container/Group}\n */\n\n\nfunction _default(geoJson, nameProperty) {\n decode(geoJson);\n return zrUtil.map(zrUtil.filter(geoJson.features, function (featureObj) {\n // Output of mapshaper may have geometry null\n return featureObj.geometry && featureObj.properties && featureObj.geometry.coordinates.length > 0;\n }), function (featureObj) {\n var properties = featureObj.properties;\n var geo = featureObj.geometry;\n var coordinates = geo.coordinates;\n var geometries = [];\n\n if (geo.type === 'Polygon') {\n geometries.push({\n type: 'polygon',\n // According to the GeoJSON specification.\n // First must be exterior, and the rest are all interior(holes).\n exterior: coordinates[0],\n interiors: coordinates.slice(1)\n });\n }\n\n if (geo.type === 'MultiPolygon') {\n zrUtil.each(coordinates, function (item) {\n if (item[0]) {\n geometries.push({\n type: 'polygon',\n exterior: item[0],\n interiors: item.slice(1)\n });\n }\n });\n }\n\n var region = new Region(properties[nameProperty || 'name'], geometries, properties.cp);\n region.properties = properties;\n return region;\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nrequire(\"../helper/focusNodeAdjacencyAction\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerAction({\n type: 'dragNode',\n event: 'dragnode',\n // here can only use 'update' now, other value is not support in echarts.\n update: 'update'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sankey',\n query: payload\n }, function (seriesModel) {\n seriesModel.setNodePosition(payload.dataIndex, [payload.localX, payload.localY]);\n });\n});","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\nrequire('./_set-collection-of')('WeakSet');\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.filterNonNumber = filterNonNumber;\nexports.deepMerge = deepMerge;\nexports.mulAdd = mulAdd;\nexports.mergeSameStackData = mergeSameStackData;\nexports.getTwoPointDistance = getTwoPointDistance;\nexports.getLinearGradientColor = getLinearGradientColor;\nexports.getPolylineLength = getPolylineLength;\nexports.getPointToLineDistance = getPointToLineDistance;\nexports.initNeedSeries = initNeedSeries;\nexports.radianToAngle = radianToAngle;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _util = require(\"@jiaminghi/c-render/lib/plugin/util\");\n\nfunction filterNonNumber(array) {\n return array.filter(function (n) {\n return typeof n === 'number';\n });\n}\n\nfunction deepMerge(target, merged) {\n for (var key in merged) {\n if (target[key] && (0, _typeof2[\"default\"])(target[key]) === 'object') {\n deepMerge(target[key], merged[key]);\n continue;\n }\n\n if ((0, _typeof2[\"default\"])(merged[key]) === 'object') {\n target[key] = (0, _util.deepClone)(merged[key], true);\n continue;\n }\n\n target[key] = merged[key];\n }\n\n return target;\n}\n\nfunction mulAdd(nums) {\n nums = filterNonNumber(nums);\n return nums.reduce(function (all, num) {\n return all + num;\n }, 0);\n}\n\nfunction mergeSameStackData(item, series) {\n var stack = item.stack;\n if (!stack) return (0, _toConsumableArray2[\"default\"])(item.data);\n var stacks = series.filter(function (_ref) {\n var s = _ref.stack;\n return s === stack;\n });\n var index = stacks.findIndex(function (_ref2) {\n var d = _ref2.data;\n return d === item.data;\n });\n var datas = stacks.splice(0, index + 1).map(function (_ref3) {\n var data = _ref3.data;\n return data;\n });\n var dataLength = datas[0].length;\n return new Array(dataLength).fill(0).map(function (foo, i) {\n return mulAdd(datas.map(function (d) {\n return d[i];\n }));\n });\n}\n\nfunction getTwoPointDistance(pointOne, pointTwo) {\n var minusX = Math.abs(pointOne[0] - pointTwo[0]);\n var minusY = Math.abs(pointOne[1] - pointTwo[1]);\n return Math.sqrt(minusX * minusX + minusY * minusY);\n}\n\nfunction getLinearGradientColor(ctx, begin, end, color) {\n if (!ctx || !begin || !end || !color.length) return;\n var colors = color;\n typeof colors === 'string' && (colors = [color, color]);\n var linearGradientColor = ctx.createLinearGradient.apply(ctx, (0, _toConsumableArray2[\"default\"])(begin).concat((0, _toConsumableArray2[\"default\"])(end)));\n var colorGap = 1 / (colors.length - 1);\n colors.forEach(function (c, i) {\n return linearGradientColor.addColorStop(colorGap * i, c);\n });\n return linearGradientColor;\n}\n\nfunction getPolylineLength(points) {\n var lineSegments = new Array(points.length - 1).fill(0).map(function (foo, i) {\n return [points[i], points[i + 1]];\n });\n var lengths = lineSegments.map(function (item) {\n return getTwoPointDistance.apply(void 0, (0, _toConsumableArray2[\"default\"])(item));\n });\n return mulAdd(lengths);\n}\n\nfunction getPointToLineDistance(point, linePointOne, linePointTwo) {\n var a = getTwoPointDistance(point, linePointOne);\n var b = getTwoPointDistance(point, linePointTwo);\n var c = getTwoPointDistance(linePointOne, linePointTwo);\n return 0.5 * Math.sqrt((a + b + c) * (a + b - c) * (a + c - b) * (b + c - a)) / c;\n}\n\nfunction initNeedSeries(series, config, type) {\n series = series.filter(function (_ref4) {\n var st = _ref4.type;\n return st === type;\n });\n series = series.map(function (item) {\n return deepMerge((0, _util.deepClone)(config, true), item);\n });\n return series.filter(function (_ref5) {\n var show = _ref5.show;\n return show;\n });\n}\n\nfunction radianToAngle(radian) {\n return radian / Math.PI * 180;\n}","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar _roamHelper = require(\"../../action/roamHelper\");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerAction({\n type: 'treeExpandAndCollapse',\n event: 'treeExpandAndCollapse',\n update: 'update'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'tree',\n query: payload\n }, function (seriesModel) {\n var dataIndex = payload.dataIndex;\n var tree = seriesModel.getData().tree;\n var node = tree.getNodeByDataIndex(dataIndex);\n node.isExpand = !node.isExpand;\n });\n});\necharts.registerAction({\n type: 'treeRoam',\n event: 'treeRoam',\n // Here we set 'none' instead of 'update', because roam action\n // just need to update the transform matrix without having to recalculate\n // the layout. So don't need to go through the whole update process, such\n // as 'dataPrcocess', 'coordSystemUpdate', 'layout' and so on.\n update: 'none'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'tree',\n query: payload\n }, function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var res = updateCenterAndZoom(coordSys, payload);\n seriesModel.setCenter && seriesModel.setCenter(res.center);\n seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n });\n});","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"./pie/PieSeries\");\n\nrequire(\"./pie/PieView\");\n\nvar createDataSelectAction = require(\"../action/createDataSelectAction\");\n\nvar dataColor = require(\"../visual/dataColor\");\n\nvar pieLayout = require(\"./pie/pieLayout\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\ncreateDataSelectAction('pie', [{\n type: 'pieToggleSelect',\n event: 'pieselectchanged',\n method: 'toggleSelected'\n}, {\n type: 'pieSelect',\n event: 'pieselected',\n method: 'select'\n}, {\n type: 'pieUnSelect',\n event: 'pieunselected',\n method: 'unSelect'\n}]);\necharts.registerVisual(dataColor('pie'));\necharts.registerLayout(zrUtil.curry(pieLayout, 'pie'));\necharts.registerProcessor(dataFilter('pie'));","module.exports = require('./src/normalizeWheel.js');\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nmodule.exports = _nonIterableRest;","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 90);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 90:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-progress\",\n class: [\n \"el-progress--\" + _vm.type,\n _vm.status ? \"is-\" + _vm.status : \"\",\n {\n \"el-progress--without-text\": !_vm.showText,\n \"el-progress--text-inside\": _vm.textInside\n }\n ],\n attrs: {\n role: \"progressbar\",\n \"aria-valuenow\": _vm.percentage,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\"\n }\n },\n [\n _vm.type === \"line\"\n ? _c(\"div\", { staticClass: \"el-progress-bar\" }, [\n _c(\n \"div\",\n {\n staticClass: \"el-progress-bar__outer\",\n style: { height: _vm.strokeWidth + \"px\" }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"el-progress-bar__inner\",\n style: _vm.barStyle\n },\n [\n _vm.showText && _vm.textInside\n ? _c(\n \"div\",\n { staticClass: \"el-progress-bar__innerText\" },\n [_vm._v(_vm._s(_vm.content))]\n )\n : _vm._e()\n ]\n )\n ]\n )\n ])\n : _c(\n \"div\",\n {\n staticClass: \"el-progress-circle\",\n style: { height: _vm.width + \"px\", width: _vm.width + \"px\" }\n },\n [\n _c(\"svg\", { attrs: { viewBox: \"0 0 100 100\" } }, [\n _c(\"path\", {\n staticClass: \"el-progress-circle__track\",\n style: _vm.trailPathStyle,\n attrs: {\n d: _vm.trackPath,\n stroke: \"#e5e9f2\",\n \"stroke-width\": _vm.relativeStrokeWidth,\n fill: \"none\"\n }\n }),\n _c(\"path\", {\n staticClass: \"el-progress-circle__path\",\n style: _vm.circlePathStyle,\n attrs: {\n d: _vm.trackPath,\n stroke: _vm.stroke,\n fill: \"none\",\n \"stroke-linecap\": _vm.strokeLinecap,\n \"stroke-width\": _vm.percentage ? _vm.relativeStrokeWidth : 0\n }\n })\n ])\n ]\n ),\n _vm.showText && !_vm.textInside\n ? _c(\n \"div\",\n {\n staticClass: \"el-progress__text\",\n style: { fontSize: _vm.progressTextSize + \"px\" }\n },\n [\n !_vm.status\n ? [_vm._v(_vm._s(_vm.content))]\n : _c(\"i\", { class: _vm.iconClass })\n ],\n 2\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=template&id=229ee406&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var progressvue_type_script_lang_js_ = ({\n name: 'ElProgress',\n props: {\n type: {\n type: String,\n default: 'line',\n validator: function validator(val) {\n return ['line', 'circle', 'dashboard'].indexOf(val) > -1;\n }\n },\n percentage: {\n type: Number,\n default: 0,\n required: true,\n validator: function validator(val) {\n return val >= 0 && val <= 100;\n }\n },\n status: {\n type: String,\n validator: function validator(val) {\n return ['success', 'exception', 'warning'].indexOf(val) > -1;\n }\n },\n strokeWidth: {\n type: Number,\n default: 6\n },\n strokeLinecap: {\n type: String,\n default: 'round'\n },\n textInside: {\n type: Boolean,\n default: false\n },\n width: {\n type: Number,\n default: 126\n },\n showText: {\n type: Boolean,\n default: true\n },\n color: {\n type: [String, Array, Function],\n default: ''\n },\n format: Function\n },\n computed: {\n barStyle: function barStyle() {\n var style = {};\n style.width = this.percentage + '%';\n style.backgroundColor = this.getCurrentColor(this.percentage);\n return style;\n },\n relativeStrokeWidth: function relativeStrokeWidth() {\n return (this.strokeWidth / this.width * 100).toFixed(1);\n },\n radius: function radius() {\n if (this.type === 'circle' || this.type === 'dashboard') {\n return parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10);\n } else {\n return 0;\n }\n },\n trackPath: function trackPath() {\n var radius = this.radius;\n var isDashboard = this.type === 'dashboard';\n return '\\n M 50 50\\n m 0 ' + (isDashboard ? '' : '-') + radius + '\\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '-' : '') + radius * 2 + '\\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '' : '-') + radius * 2 + '\\n ';\n },\n perimeter: function perimeter() {\n return 2 * Math.PI * this.radius;\n },\n rate: function rate() {\n return this.type === 'dashboard' ? 0.75 : 1;\n },\n strokeDashoffset: function strokeDashoffset() {\n var offset = -1 * this.perimeter * (1 - this.rate) / 2;\n return offset + 'px';\n },\n trailPathStyle: function trailPathStyle() {\n return {\n strokeDasharray: this.perimeter * this.rate + 'px, ' + this.perimeter + 'px',\n strokeDashoffset: this.strokeDashoffset\n };\n },\n circlePathStyle: function circlePathStyle() {\n return {\n strokeDasharray: this.perimeter * this.rate * (this.percentage / 100) + 'px, ' + this.perimeter + 'px',\n strokeDashoffset: this.strokeDashoffset,\n transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease'\n };\n },\n stroke: function stroke() {\n var ret = void 0;\n if (this.color) {\n ret = this.getCurrentColor(this.percentage);\n } else {\n switch (this.status) {\n case 'success':\n ret = '#13ce66';\n break;\n case 'exception':\n ret = '#ff4949';\n break;\n case 'warning':\n ret = '#e6a23c';\n break;\n default:\n ret = '#20a0ff';\n }\n }\n return ret;\n },\n iconClass: function iconClass() {\n if (this.status === 'warning') {\n return 'el-icon-warning';\n }\n if (this.type === 'line') {\n return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-close';\n } else {\n return this.status === 'success' ? 'el-icon-check' : 'el-icon-close';\n }\n },\n progressTextSize: function progressTextSize() {\n return this.type === 'line' ? 12 + this.strokeWidth * 0.4 : this.width * 0.111111 + 2;\n },\n content: function content() {\n if (typeof this.format === 'function') {\n return this.format(this.percentage) || '';\n } else {\n return this.percentage + '%';\n }\n }\n },\n methods: {\n getCurrentColor: function getCurrentColor(percentage) {\n if (typeof this.color === 'function') {\n return this.color(percentage);\n } else if (typeof this.color === 'string') {\n return this.color;\n } else {\n return this.getLevelColor(percentage);\n }\n },\n getLevelColor: function getLevelColor(percentage) {\n var colorArray = this.getColorArray().sort(function (a, b) {\n return a.percentage - b.percentage;\n });\n\n for (var i = 0; i < colorArray.length; i++) {\n if (colorArray[i].percentage > percentage) {\n return colorArray[i].color;\n }\n }\n return colorArray[colorArray.length - 1].color;\n },\n getColorArray: function getColorArray() {\n var color = this.color;\n var span = 100 / color.length;\n return color.map(function (seriesColor, index) {\n if (typeof seriesColor === 'string') {\n return {\n color: seriesColor,\n percentage: (index + 1) * span\n };\n }\n return seriesColor;\n });\n }\n }\n});\n// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_progressvue_type_script_lang_js_ = (progressvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/progress/src/progress.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_progressvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/progress/src/progress.vue\"\n/* harmony default export */ var progress = (component.exports);\n// CONCATENATED MODULE: ./packages/progress/index.js\n\n\n/* istanbul ignore next */\nprogress.install = function (Vue) {\n Vue.component(progress.name, progress);\n};\n\n/* harmony default export */ var packages_progress = __webpack_exports__[\"default\"] = (progress);\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _graphic = require(\"../graphic\");\n\nvar extendShape = _graphic.extendShape;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Sausage: similar to sector, but have half circle on both sides\n * @public\n */\nvar _default = extendShape({\n type: 'sausage',\n shape: {\n cx: 0,\n cy: 0,\n r0: 0,\n r: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n clockwise: true\n },\n buildPath: function (ctx, shape) {\n var x = shape.cx;\n var y = shape.cy;\n var r0 = Math.max(shape.r0 || 0, 0);\n var r = Math.max(shape.r, 0);\n var dr = (r - r0) * 0.5;\n var rCenter = r0 + dr;\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var unitStartX = Math.cos(startAngle);\n var unitStartY = Math.sin(startAngle);\n var unitEndX = Math.cos(endAngle);\n var unitEndY = Math.sin(endAngle);\n var lessThanCircle = clockwise ? endAngle - startAngle < Math.PI * 2 : startAngle - endAngle < Math.PI * 2;\n\n if (lessThanCircle) {\n ctx.moveTo(unitStartX * r0 + x, unitStartY * r0 + y);\n ctx.arc(unitStartX * rCenter + x, unitStartY * rCenter + y, dr, -Math.PI + startAngle, startAngle, !clockwise);\n }\n\n ctx.arc(x, y, r, startAngle, endAngle, !clockwise);\n ctx.moveTo(unitEndX * r + x, unitEndY * r + y);\n ctx.arc(unitEndX * rCenter + x, unitEndY * rCenter + y, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);\n\n if (r0 !== 0) {\n ctx.arc(x, y, r0, endAngle, startAngle, clockwise);\n ctx.moveTo(unitStartX * r0 + x, unitEndY * r0 + y);\n }\n\n ctx.closePath();\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BrushController = require(\"../helper/BrushController\");\n\nvar _visualEncoding = require(\"./visualEncoding\");\n\nvar layoutCovers = _visualEncoding.layoutCovers;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'brush',\n init: function (ecModel, api) {\n /**\n * @readOnly\n * @type {module:echarts/model/Global}\n */\n this.ecModel = ecModel;\n /**\n * @readOnly\n * @type {module:echarts/ExtensionAPI}\n */\n\n this.api = api;\n /**\n * @readOnly\n * @type {module:echarts/component/brush/BrushModel}\n */\n\n this.model;\n /**\n * @private\n * @type {module:echarts/component/helper/BrushController}\n */\n\n (this._brushController = new BrushController(api.getZr())).on('brush', zrUtil.bind(this._onBrush, this)).mount();\n },\n\n /**\n * @override\n */\n render: function (brushModel) {\n this.model = brushModel;\n return updateController.apply(this, arguments);\n },\n\n /**\n * @override\n */\n updateTransform: function (brushModel, ecModel) {\n // PENDING: `updateTransform` is a little tricky, whose layout need\n // to be calculate mandatorily and other stages will not be performed.\n // Take care the correctness of the logic. See #11754 .\n layoutCovers(ecModel);\n return updateController.apply(this, arguments);\n },\n\n /**\n * @override\n */\n updateView: updateController,\n // /**\n // * @override\n // */\n // updateLayout: updateController,\n // /**\n // * @override\n // */\n // updateVisual: updateController,\n\n /**\n * @override\n */\n dispose: function () {\n this._brushController.dispose();\n },\n\n /**\n * @private\n */\n _onBrush: function (areas, opt) {\n var modelId = this.model.id;\n this.model.brushTargetManager.setOutputRanges(areas, this.ecModel); // Action is not dispatched on drag end, because the drag end\n // emits the same params with the last drag move event, and\n // may have some delay when using touch pad, which makes\n // animation not smooth (when using debounce).\n\n (!opt.isEnd || opt.removeOnClick) && this.api.dispatchAction({\n type: 'brush',\n brushId: modelId,\n areas: zrUtil.clone(areas),\n $from: modelId\n });\n opt.isEnd && this.api.dispatchAction({\n type: 'brushEnd',\n brushId: modelId,\n areas: zrUtil.clone(areas),\n $from: modelId\n });\n }\n});\n\nfunction updateController(brushModel, ecModel, api, payload) {\n // Do not update controller when drawing.\n (!payload || payload.$from !== brushModel.id) && this._brushController.setPanels(brushModel.brushTargetManager.makePanelOpts(api)).enableBrush(brushModel.brushOption).updateCovers(brushModel.areas.slice());\n}\n\nmodule.exports = _default;","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * LegendVisualProvider is an bridge that pick encoded color from data and\n * provide to the legend component.\n * @param {Function} getDataWithEncodedVisual Function to get data after filtered. It stores all the encoding info\n * @param {Function} getRawData Function to get raw data before filtered.\n */\nfunction LegendVisualProvider(getDataWithEncodedVisual, getRawData) {\n this.getAllNames = function () {\n var rawData = getRawData(); // We find the name from the raw data. In case it's filtered by the legend component.\n // Normally, the name can be found in rawData, but can't be found in filtered data will display as gray.\n\n return rawData.mapArray(rawData.getName);\n };\n\n this.containName = function (name) {\n var rawData = getRawData();\n return rawData.indexOfName(name) >= 0;\n };\n\n this.indexOfName = function (name) {\n // Only get data when necessary.\n // Because LegendVisualProvider constructor may be new in the stage that data is not prepared yet.\n // Invoking Series#getData immediately will throw an error.\n var dataWithEncodedVisual = getDataWithEncodedVisual();\n return dataWithEncodedVisual.indexOfName(name);\n };\n\n this.getItemVisual = function (dataIndex, key) {\n // Get encoded visual properties from final filtered data.\n var dataWithEncodedVisual = getDataWithEncodedVisual();\n return dataWithEncodedVisual.getItemVisual(dataIndex, key);\n };\n}\n\nvar _default = LegendVisualProvider;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/parallel/parallelCreator\");\n\nrequire(\"./axis/parallelAxisAction\");\n\nrequire(\"./axis/ParallelAxisView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar IRRELEVANT_EXCLUDES = {\n 'axisPointer': 1,\n 'tooltip': 1,\n 'brush': 1\n};\n/**\n * Avoid that: mouse click on a elements that is over geo or graph,\n * but roam is triggered.\n */\n\nfunction onIrrelevantElement(e, api, targetCoordSysModel) {\n var model = api.getComponentByElement(e.topTarget); // If model is axisModel, it works only if it is injected with coordinateSystem.\n\n var coordSys = model && model.coordinateSystem;\n return model && model !== targetCoordSysModel && !IRRELEVANT_EXCLUDES[model.mainType] && coordSys && coordSys.model !== targetCoordSysModel;\n}\n\nexports.onIrrelevantElement = onIrrelevantElement;","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar colorAll = ['#37A2DA', '#32C5E9', '#67E0E3', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#E062AE', '#E690D1', '#e7bcf3', '#9d96f5', '#8378EA', '#96BFFF'];\nvar _default = {\n color: colorAll,\n colorLayer: [['#37A2DA', '#ffd85c', '#fd7b5f'], ['#37A2DA', '#67E0E3', '#FFDB5C', '#ff9f7f', '#E062AE', '#9d96f5'], ['#37A2DA', '#32C5E9', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#e7bcf3', '#8378EA', '#96BFFF'], colorAll]\n};\nmodule.exports = _default;","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (instance, callback) {\n var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!instance || !callback) throw new Error('instance & callback is required');\n var called = false;\n var afterLeaveCallback = function afterLeaveCallback() {\n if (called) return;\n called = true;\n if (callback) {\n callback.apply(null, arguments);\n }\n };\n if (once) {\n instance.$once('after-leave', afterLeaveCallback);\n } else {\n instance.$on('after-leave', afterLeaveCallback);\n }\n setTimeout(function () {\n afterLeaveCallback();\n }, speed + 100);\n};\n\n; /**\n * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.\n *\n * @param {Vue} instance Vue instance.\n * @param {Function} callback callback of after-leave event\n * @param {Number} speed the speed of transition, default value is 300ms\n * @param {Boolean} once weather bind after-leave once. default value is false.\n */","'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\n});\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisModel = ComponentModel.extend({\n type: 'singleAxis',\n layoutMode: 'box',\n\n /**\n * @type {module:echarts/coord/single/SingleAxis}\n */\n axis: null,\n\n /**\n * @type {module:echarts/coord/single/Single}\n */\n coordinateSystem: null,\n\n /**\n * @override\n */\n getCoordSysModel: function () {\n return this;\n }\n});\nvar defaultOption = {\n left: '5%',\n top: '5%',\n right: '5%',\n bottom: '5%',\n type: 'value',\n position: 'bottom',\n orient: 'horizontal',\n axisLine: {\n show: true,\n lineStyle: {\n width: 1,\n type: 'solid'\n }\n },\n // Single coordinate system and single axis is the,\n // which is used as the parent tooltip model.\n // same model, so we set default tooltip show as true.\n tooltip: {\n show: true\n },\n axisTick: {\n show: true,\n length: 6,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n interval: 'auto'\n },\n splitLine: {\n show: true,\n lineStyle: {\n type: 'dashed',\n opacity: 0.2\n }\n }\n};\n\nfunction getAxisType(axisName, option) {\n return option.type || (option.data ? 'category' : 'value');\n}\n\nzrUtil.merge(AxisModel.prototype, axisModelCommonMixin);\naxisModelCreator('single', AxisModel, getAxisType, defaultOption);\nvar _default = AxisModel;\nmodule.exports = _default;","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @return {string} label string. Not null/undefined\n */\nfunction getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimension('defaultedLabel', true);\n var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n if (len === 1) {\n return retrieveRawValue(data, dataIndex, labelDims[0]);\n } else if (len) {\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n var val = retrieveRawValue(data, dataIndex, labelDims[i]);\n vals.push(val);\n }\n\n return vals.join(' ');\n }\n}\n\nexports.getDefaultLabel = getDefaultLabel;","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { scale: require('./_math-scale') });\n","var Path = require(\"../Path\");\n\nvar roundRectHelper = require(\"../helper/roundRect\");\n\nvar _subPixelOptimize = require(\"../helper/subPixelOptimize\");\n\nvar subPixelOptimizeRect = _subPixelOptimize.subPixelOptimizeRect;\n\n/**\n * 矩形\n * @module zrender/graphic/shape/Rect\n */\n// Avoid create repeatly.\nvar subPixelOptimizeOutputShape = {};\n\nvar _default = Path.extend({\n type: 'rect',\n shape: {\n // 左上、右上、右下、左下角的半径依次为r1、r2、r3、r4\n // r缩写为1 相当于 [1, 1, 1, 1]\n // r缩写为[1] 相当于 [1, 1, 1, 1]\n // r缩写为[1, 2] 相当于 [1, 2, 1, 2]\n // r缩写为[1, 2, 3] 相当于 [1, 2, 3, 2]\n r: 0,\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (ctx, shape) {\n var x;\n var y;\n var width;\n var height;\n\n if (this.subPixelOptimize) {\n subPixelOptimizeRect(subPixelOptimizeOutputShape, shape, this.style);\n x = subPixelOptimizeOutputShape.x;\n y = subPixelOptimizeOutputShape.y;\n width = subPixelOptimizeOutputShape.width;\n height = subPixelOptimizeOutputShape.height;\n subPixelOptimizeOutputShape.r = shape.r;\n shape = subPixelOptimizeOutputShape;\n } else {\n x = shape.x;\n y = shape.y;\n width = shape.width;\n height = shape.height;\n }\n\n if (!shape.r) {\n ctx.rect(x, y, width, height);\n } else {\n roundRectHelper.buildPath(ctx, shape);\n }\n\n ctx.closePath();\n return;\n }\n});\n\nmodule.exports = _default;","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","require('./_wks-define')('observable');\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = require(\"core-js/library/fn/is-iterable\");","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _graphic = require(\"../../util/graphic\");\n\nvar Group = _graphic.Group;\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar SymbolClz = require(\"./Symbol\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Symbol with ripple effect\n * @module echarts/chart/helper/EffectSymbol\n */\nvar EFFECT_RIPPLE_NUMBER = 3;\n\nfunction normalizeSymbolSize(symbolSize) {\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [+symbolSize, +symbolSize];\n }\n\n return symbolSize;\n}\n\nfunction updateRipplePath(rippleGroup, effectCfg) {\n var color = effectCfg.rippleEffectColor || effectCfg.color;\n rippleGroup.eachChild(function (ripplePath) {\n ripplePath.attr({\n z: effectCfg.z,\n zlevel: effectCfg.zlevel,\n style: {\n stroke: effectCfg.brushType === 'stroke' ? color : null,\n fill: effectCfg.brushType === 'fill' ? color : null\n }\n });\n });\n}\n/**\n * @constructor\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @extends {module:zrender/graphic/Group}\n */\n\n\nfunction EffectSymbol(data, idx) {\n Group.call(this);\n var symbol = new SymbolClz(data, idx);\n var rippleGroup = new Group();\n this.add(symbol);\n this.add(rippleGroup);\n\n rippleGroup.beforeUpdate = function () {\n this.attr(symbol.getScale());\n };\n\n this.updateData(data, idx);\n}\n\nvar effectSymbolProto = EffectSymbol.prototype;\n\neffectSymbolProto.stopEffectAnimation = function () {\n this.childAt(1).removeAll();\n};\n\neffectSymbolProto.startEffectAnimation = function (effectCfg) {\n var symbolType = effectCfg.symbolType;\n var color = effectCfg.color;\n var rippleGroup = this.childAt(1);\n\n for (var i = 0; i < EFFECT_RIPPLE_NUMBER; i++) {\n // If width/height are set too small (e.g., set to 1) on ios10\n // and macOS Sierra, a circle stroke become a rect, no matter what\n // the scale is set. So we set width/height as 2. See #4136.\n var ripplePath = createSymbol(symbolType, -1, -1, 2, 2, color);\n ripplePath.attr({\n style: {\n strokeNoScale: true\n },\n z2: 99,\n silent: true,\n scale: [0.5, 0.5]\n });\n var delay = -i / EFFECT_RIPPLE_NUMBER * effectCfg.period + effectCfg.effectOffset; // TODO Configurable effectCfg.period\n\n ripplePath.animate('', true).when(effectCfg.period, {\n scale: [effectCfg.rippleScale / 2, effectCfg.rippleScale / 2]\n }).delay(delay).start();\n ripplePath.animateStyle(true).when(effectCfg.period, {\n opacity: 0\n }).delay(delay).start();\n rippleGroup.add(ripplePath);\n }\n\n updateRipplePath(rippleGroup, effectCfg);\n};\n/**\n * Update effect symbol\n */\n\n\neffectSymbolProto.updateEffectAnimation = function (effectCfg) {\n var oldEffectCfg = this._effectCfg;\n var rippleGroup = this.childAt(1); // Must reinitialize effect if following configuration changed\n\n var DIFFICULT_PROPS = ['symbolType', 'period', 'rippleScale'];\n\n for (var i = 0; i < DIFFICULT_PROPS.length; i++) {\n var propName = DIFFICULT_PROPS[i];\n\n if (oldEffectCfg[propName] !== effectCfg[propName]) {\n this.stopEffectAnimation();\n this.startEffectAnimation(effectCfg);\n return;\n }\n }\n\n updateRipplePath(rippleGroup, effectCfg);\n};\n/**\n * Highlight symbol\n */\n\n\neffectSymbolProto.highlight = function () {\n this.trigger('emphasis');\n};\n/**\n * Downplay symbol\n */\n\n\neffectSymbolProto.downplay = function () {\n this.trigger('normal');\n};\n/**\n * Update symbol properties\n * @param {module:echarts/data/List} data\n * @param {number} idx\n */\n\n\neffectSymbolProto.updateData = function (data, idx) {\n var seriesModel = data.hostModel;\n this.childAt(0).updateData(data, idx);\n var rippleGroup = this.childAt(1);\n var itemModel = data.getItemModel(idx);\n var symbolType = data.getItemVisual(idx, 'symbol');\n var symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n var color = data.getItemVisual(idx, 'color');\n rippleGroup.attr('scale', symbolSize);\n rippleGroup.traverse(function (ripplePath) {\n ripplePath.attr({\n fill: color\n });\n });\n var symbolOffset = itemModel.getShallow('symbolOffset');\n\n if (symbolOffset) {\n var pos = rippleGroup.position;\n pos[0] = parsePercent(symbolOffset[0], symbolSize[0]);\n pos[1] = parsePercent(symbolOffset[1], symbolSize[1]);\n }\n\n var symbolRotate = data.getItemVisual(idx, 'symbolRotate');\n rippleGroup.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n var effectCfg = {};\n effectCfg.showEffectOn = seriesModel.get('showEffectOn');\n effectCfg.rippleScale = itemModel.get('rippleEffect.scale');\n effectCfg.brushType = itemModel.get('rippleEffect.brushType');\n effectCfg.period = itemModel.get('rippleEffect.period') * 1000;\n effectCfg.effectOffset = idx / data.count();\n effectCfg.z = itemModel.getShallow('z') || 0;\n effectCfg.zlevel = itemModel.getShallow('zlevel') || 0;\n effectCfg.symbolType = symbolType;\n effectCfg.color = color;\n effectCfg.rippleEffectColor = itemModel.get('rippleEffect.color');\n this.off('mouseover').off('mouseout').off('emphasis').off('normal');\n\n if (effectCfg.showEffectOn === 'render') {\n this._effectCfg ? this.updateEffectAnimation(effectCfg) : this.startEffectAnimation(effectCfg);\n this._effectCfg = effectCfg;\n } else {\n // Not keep old effect config\n this._effectCfg = null;\n this.stopEffectAnimation();\n var symbol = this.childAt(0);\n\n var onEmphasis = function () {\n symbol.highlight();\n\n if (effectCfg.showEffectOn !== 'render') {\n this.startEffectAnimation(effectCfg);\n }\n };\n\n var onNormal = function () {\n symbol.downplay();\n\n if (effectCfg.showEffectOn !== 'render') {\n this.stopEffectAnimation();\n }\n };\n\n this.on('mouseover', onEmphasis, this).on('mouseout', onNormal, this).on('emphasis', onEmphasis, this).on('normal', onNormal, this);\n }\n\n this._effectCfg = effectCfg;\n};\n\neffectSymbolProto.fadeOut = function (cb) {\n this.off('mouseover').off('mouseout').off('emphasis').off('normal');\n cb && cb();\n};\n\nzrUtil.inherits(EffectSymbol, Group);\nvar _default = EffectSymbol;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _parseSVG = require(\"zrender/lib/tool/parseSVG\");\n\nvar parseSVG = _parseSVG.parseSVG;\nvar makeViewBoxTransform = _parseSVG.makeViewBoxTransform;\n\nvar Group = require(\"zrender/lib/container/Group\");\n\nvar Rect = require(\"zrender/lib/graphic/shape/Rect\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar assert = _util.assert;\nvar createHashMap = _util.createHashMap;\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\nvar _default = {\n /**\n * @param {string} mapName\n * @param {Object} mapRecord {specialAreas, geoJSON}\n * @return {Object} {root, boundingRect}\n */\n load: function (mapName, mapRecord) {\n var originRoot = inner(mapRecord).originRoot;\n\n if (originRoot) {\n return {\n root: originRoot,\n boundingRect: inner(mapRecord).boundingRect\n };\n }\n\n var graphic = buildGraphic(mapRecord);\n inner(mapRecord).originRoot = graphic.root;\n inner(mapRecord).boundingRect = graphic.boundingRect;\n return graphic;\n },\n makeGraphic: function (mapName, mapRecord, hostKey) {\n // For performance consideration (in large SVG), graphic only maked\n // when necessary and reuse them according to hostKey.\n var field = inner(mapRecord);\n var rootMap = field.rootMap || (field.rootMap = createHashMap());\n var root = rootMap.get(hostKey);\n\n if (root) {\n return root;\n }\n\n var originRoot = field.originRoot;\n var boundingRect = field.boundingRect; // For performance, if originRoot is not used by a view,\n // assign it to a view, but not reproduce graphic elements.\n\n if (!field.originRootHostKey) {\n field.originRootHostKey = hostKey;\n root = originRoot;\n } else {\n root = buildGraphic(mapRecord, boundingRect).root;\n }\n\n return rootMap.set(hostKey, root);\n },\n removeGraphic: function (mapName, mapRecord, hostKey) {\n var field = inner(mapRecord);\n var rootMap = field.rootMap;\n rootMap && rootMap.removeKey(hostKey);\n\n if (hostKey === field.originRootHostKey) {\n field.originRootHostKey = null;\n }\n }\n};\n\nfunction buildGraphic(mapRecord, boundingRect) {\n var svgXML = mapRecord.svgXML;\n var result;\n var root;\n\n try {\n result = svgXML && parseSVG(svgXML, {\n ignoreViewBox: true,\n ignoreRootClip: true\n }) || {};\n root = result.root;\n assert(root != null);\n } catch (e) {\n throw new Error('Invalid svg format\\n' + e.message);\n }\n\n var svgWidth = result.width;\n var svgHeight = result.height;\n var viewBoxRect = result.viewBoxRect;\n\n if (!boundingRect) {\n boundingRect = svgWidth == null || svgHeight == null ? // If svg width / height not specified, calculate\n // bounding rect as the width / height\n root.getBoundingRect() : new BoundingRect(0, 0, 0, 0);\n\n if (svgWidth != null) {\n boundingRect.width = svgWidth;\n }\n\n if (svgHeight != null) {\n boundingRect.height = svgHeight;\n }\n }\n\n if (viewBoxRect) {\n var viewBoxTransform = makeViewBoxTransform(viewBoxRect, boundingRect.width, boundingRect.height);\n var elRoot = root;\n root = new Group();\n root.add(elRoot);\n elRoot.scale = viewBoxTransform.scale;\n elRoot.position = viewBoxTransform.position;\n }\n\n root.setClipPath(new Rect({\n shape: boundingRect.plain()\n }));\n return {\n root: root,\n boundingRect: boundingRect\n };\n}\n\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.yAxisConfig = exports.xAxisConfig = void 0;\nvar xAxisConfig = {\n /**\n * @description Axis name\n * @type {String}\n * @default name = ''\n */\n name: '',\n\n /**\n * @description Whether to display this axis\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis position\n * @type {String}\n * @default position = 'bottom'\n * @example position = 'bottom' | 'top'\n */\n position: 'bottom',\n\n /**\n * @description Name gap\n * @type {Number}\n * @default nameGap = 15\n */\n nameGap: 15,\n\n /**\n * @description Name location\n * @type {String}\n * @default nameLocation = 'end'\n * @example nameLocation = 'end' | 'center' | 'start'\n */\n nameLocation: 'end',\n\n /**\n * @description Name default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n nameTextStyle: {\n fill: '#333',\n fontSize: 10\n },\n\n /**\n * @description Axis min value\n * @type {String|Number}\n * @default min = '20%'\n * @example min = '20%' | 0\n */\n min: '20%',\n\n /**\n * @description Axis max value\n * @type {String|Number}\n * @default max = '20%'\n * @example max = '20%' | 0\n */\n max: '20%',\n\n /**\n * @description Axis value interval\n * @type {Number}\n * @default interval = null\n * @example interval = 100\n */\n interval: null,\n\n /**\n * @description Min interval\n * @type {Number}\n * @default minInterval = null\n * @example minInterval = 1\n */\n minInterval: null,\n\n /**\n * @description Max interval\n * @type {Number}\n * @default maxInterval = null\n * @example maxInterval = 100\n */\n maxInterval: null,\n\n /**\n * @description Boundary gap\n * @type {Boolean}\n * @default boundaryGap = null\n * @example boundaryGap = true\n */\n boundaryGap: null,\n\n /**\n * @description Axis split number\n * @type {Number}\n * @default splitNumber = 5\n */\n splitNumber: 5,\n\n /**\n * @description Axis line configuration\n * @type {Object}\n */\n axisLine: {\n /**\n * @description Whether to display axis line\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis line default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#333',\n lineWidth: 1\n }\n },\n\n /**\n * @description Axis tick configuration\n * @type {Object}\n */\n axisTick: {\n /**\n * @description Whether to display axis tick\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis tick default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#333',\n lineWidth: 1\n }\n },\n\n /**\n * @description Axis label configuration\n * @type {Object}\n */\n axisLabel: {\n /**\n * @description Whether to display axis label\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis label formatter\n * @type {String|Function}\n * @default formatter = null\n * @example formatter = '{value}件'\n * @example formatter = (dataItem) => (dataItem.value)\n */\n formatter: null,\n\n /**\n * @description Axis label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fill: '#333',\n fontSize: 10,\n rotate: 0\n }\n },\n\n /**\n * @description Axis split line configuration\n * @type {Object}\n */\n splitLine: {\n /**\n * @description Whether to display axis split line\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Axis split line default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#d4d4d4',\n lineWidth: 1\n }\n },\n\n /**\n * @description X axis render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = -20\n */\n rLevel: -20,\n\n /**\n * @description X axis animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description X axis animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrame: 50\n};\nexports.xAxisConfig = xAxisConfig;\nvar yAxisConfig = {\n /**\n * @description Axis name\n * @type {String}\n * @default name = ''\n */\n name: '',\n\n /**\n * @description Whether to display this axis\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis position\n * @type {String}\n * @default position = 'left'\n * @example position = 'left' | 'right'\n */\n position: 'left',\n\n /**\n * @description Name gap\n * @type {Number}\n * @default nameGap = 15\n */\n nameGap: 15,\n\n /**\n * @description Name location\n * @type {String}\n * @default nameLocation = 'end'\n * @example nameLocation = 'end' | 'center' | 'start'\n */\n nameLocation: 'end',\n\n /**\n * @description name default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n nameTextStyle: {\n fill: '#333',\n fontSize: 10\n },\n\n /**\n * @description Axis min value\n * @type {String|Number}\n * @default min = '20%'\n * @example min = '20%' | 0\n */\n min: '20%',\n\n /**\n * @description Axis max value\n * @type {String|Number}\n * @default max = '20%'\n * @example max = '20%' | 0\n */\n max: '20%',\n\n /**\n * @description Axis value interval\n * @type {Number}\n * @default interval = null\n * @example interval = 100\n */\n interval: null,\n\n /**\n * @description Min interval\n * @type {Number}\n * @default minInterval = null\n * @example minInterval = 1\n */\n minInterval: null,\n\n /**\n * @description Max interval\n * @type {Number}\n * @default maxInterval = null\n * @example maxInterval = 100\n */\n maxInterval: null,\n\n /**\n * @description Boundary gap\n * @type {Boolean}\n * @default boundaryGap = null\n * @example boundaryGap = true\n */\n boundaryGap: null,\n\n /**\n * @description Axis split number\n * @type {Number}\n * @default splitNumber = 5\n */\n splitNumber: 5,\n\n /**\n * @description Axis line configuration\n * @type {Object}\n */\n axisLine: {\n /**\n * @description Whether to display axis line\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis line default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#333',\n lineWidth: 1\n }\n },\n\n /**\n * @description Axis tick configuration\n * @type {Object}\n */\n axisTick: {\n /**\n * @description Whether to display axis tick\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis tick default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#333',\n lineWidth: 1\n }\n },\n\n /**\n * @description Axis label configuration\n * @type {Object}\n */\n axisLabel: {\n /**\n * @description Whether to display axis label\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis label formatter\n * @type {String|Function}\n * @default formatter = null\n * @example formatter = '{value}件'\n * @example formatter = (dataItem) => (dataItem.value)\n */\n formatter: null,\n\n /**\n * @description Axis label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fill: '#333',\n fontSize: 10,\n rotate: 0\n }\n },\n\n /**\n * @description Axis split line configuration\n * @type {Object}\n */\n splitLine: {\n /**\n * @description Whether to display axis split line\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis split line default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#d4d4d4',\n lineWidth: 1\n }\n },\n\n /**\n * @description Y axis render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = -20\n */\n rLevel: -20,\n\n /**\n * @description Y axis animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description Y axis animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrame: 50\n};\nexports.yAxisConfig = yAxisConfig;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar IncrementalDisplayable = require(\"zrender/lib/graphic/IncrementalDisplayable\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\n// TODO Batch by color\nvar BOOST_SIZE_THRESHOLD = 4;\nvar LargeSymbolPath = graphic.extendShape({\n shape: {\n points: null\n },\n symbolProxy: null,\n softClipShape: null,\n buildPath: function (path, shape) {\n var points = shape.points;\n var size = shape.size;\n var symbolProxy = this.symbolProxy;\n var symbolProxyShape = symbolProxy.shape;\n var ctx = path.getContext ? path.getContext() : path;\n var canBoost = ctx && size[0] < BOOST_SIZE_THRESHOLD; // Do draw in afterBrush.\n\n if (canBoost) {\n return;\n }\n\n for (var i = 0; i < points.length;) {\n var x = points[i++];\n var y = points[i++];\n\n if (isNaN(x) || isNaN(y)) {\n continue;\n }\n\n if (this.softClipShape && !this.softClipShape.contain(x, y)) {\n continue;\n }\n\n symbolProxyShape.x = x - size[0] / 2;\n symbolProxyShape.y = y - size[1] / 2;\n symbolProxyShape.width = size[0];\n symbolProxyShape.height = size[1];\n symbolProxy.buildPath(path, symbolProxyShape, true);\n }\n },\n afterBrush: function (ctx) {\n var shape = this.shape;\n var points = shape.points;\n var size = shape.size;\n var canBoost = size[0] < BOOST_SIZE_THRESHOLD;\n\n if (!canBoost) {\n return;\n }\n\n this.setTransform(ctx); // PENDING If style or other canvas status changed?\n\n for (var i = 0; i < points.length;) {\n var x = points[i++];\n var y = points[i++];\n\n if (isNaN(x) || isNaN(y)) {\n continue;\n }\n\n if (this.softClipShape && !this.softClipShape.contain(x, y)) {\n continue;\n } // fillRect is faster than building a rect path and draw.\n // And it support light globalCompositeOperation.\n\n\n ctx.fillRect(x - size[0] / 2, y - size[1] / 2, size[0], size[1]);\n }\n\n this.restoreTransform(ctx);\n },\n findDataIndex: function (x, y) {\n // TODO ???\n // Consider transform\n var shape = this.shape;\n var points = shape.points;\n var size = shape.size;\n var w = Math.max(size[0], 4);\n var h = Math.max(size[1], 4); // Not consider transform\n // Treat each element as a rect\n // top down traverse\n\n for (var idx = points.length / 2 - 1; idx >= 0; idx--) {\n var i = idx * 2;\n var x0 = points[i] - w / 2;\n var y0 = points[i + 1] - h / 2;\n\n if (x >= x0 && y >= y0 && x <= x0 + w && y <= y0 + h) {\n return idx;\n }\n }\n\n return -1;\n }\n});\n\nfunction LargeSymbolDraw() {\n this.group = new graphic.Group();\n}\n\nvar largeSymbolProto = LargeSymbolDraw.prototype;\n\nlargeSymbolProto.isPersistent = function () {\n return !this._incremental;\n};\n/**\n * Update symbols draw by new data\n * @param {module:echarts/data/List} data\n * @param {Object} opt\n * @param {Object} [opt.clipShape]\n */\n\n\nlargeSymbolProto.updateData = function (data, opt) {\n this.group.removeAll();\n var symbolEl = new LargeSymbolPath({\n rectHover: true,\n cursor: 'default'\n });\n symbolEl.setShape({\n points: data.getLayout('symbolPoints')\n });\n\n this._setCommon(symbolEl, data, false, opt);\n\n this.group.add(symbolEl);\n this._incremental = null;\n};\n\nlargeSymbolProto.updateLayout = function (data) {\n if (this._incremental) {\n return;\n }\n\n var points = data.getLayout('symbolPoints');\n this.group.eachChild(function (child) {\n if (child.startIndex != null) {\n var len = (child.endIndex - child.startIndex) * 2;\n var byteOffset = child.startIndex * 4 * 2;\n points = new Float32Array(points.buffer, byteOffset, len);\n }\n\n child.setShape('points', points);\n });\n};\n\nlargeSymbolProto.incrementalPrepareUpdate = function (data) {\n this.group.removeAll();\n\n this._clearIncremental(); // Only use incremental displayables when data amount is larger than 2 million.\n // PENDING Incremental data?\n\n\n if (data.count() > 2e6) {\n if (!this._incremental) {\n this._incremental = new IncrementalDisplayable({\n silent: true\n });\n }\n\n this.group.add(this._incremental);\n } else {\n this._incremental = null;\n }\n};\n\nlargeSymbolProto.incrementalUpdate = function (taskParams, data, opt) {\n var symbolEl;\n\n if (this._incremental) {\n symbolEl = new LargeSymbolPath();\n\n this._incremental.addDisplayable(symbolEl, true);\n } else {\n symbolEl = new LargeSymbolPath({\n rectHover: true,\n cursor: 'default',\n startIndex: taskParams.start,\n endIndex: taskParams.end\n });\n symbolEl.incremental = true;\n this.group.add(symbolEl);\n }\n\n symbolEl.setShape({\n points: data.getLayout('symbolPoints')\n });\n\n this._setCommon(symbolEl, data, !!this._incremental, opt);\n};\n\nlargeSymbolProto._setCommon = function (symbolEl, data, isIncremental, opt) {\n var hostModel = data.hostModel;\n opt = opt || {}; // TODO\n // if (data.hasItemVisual.symbolSize) {\n // // TODO typed array?\n // symbolEl.setShape('sizes', data.mapArray(\n // function (idx) {\n // var size = data.getItemVisual(idx, 'symbolSize');\n // return (size instanceof Array) ? size : [size, size];\n // }\n // ));\n // }\n // else {\n\n var size = data.getVisual('symbolSize');\n symbolEl.setShape('size', size instanceof Array ? size : [size, size]); // }\n\n symbolEl.softClipShape = opt.clipShape || null; // Create symbolProxy to build path for each data\n\n symbolEl.symbolProxy = createSymbol(data.getVisual('symbol'), 0, 0, 0, 0); // Use symbolProxy setColor method\n\n symbolEl.setColor = symbolEl.symbolProxy.setColor;\n var extrudeShadow = symbolEl.shape.size[0] < BOOST_SIZE_THRESHOLD;\n symbolEl.useStyle( // Draw shadow when doing fillRect is extremely slow.\n hostModel.getModel('itemStyle').getItemStyle(extrudeShadow ? ['color', 'shadowBlur', 'shadowColor'] : ['color']));\n var visualColor = data.getVisual('color');\n\n if (visualColor) {\n symbolEl.setColor(visualColor);\n }\n\n if (!isIncremental) {\n // Enable tooltip\n // PENDING May have performance issue when path is extremely large\n symbolEl.seriesIndex = hostModel.seriesIndex;\n symbolEl.on('mousemove', function (e) {\n symbolEl.dataIndex = null;\n var dataIndex = symbolEl.findDataIndex(e.offsetX, e.offsetY);\n\n if (dataIndex >= 0) {\n // Provide dataIndex for tooltip\n symbolEl.dataIndex = dataIndex + (symbolEl.startIndex || 0);\n }\n });\n }\n};\n\nlargeSymbolProto.remove = function () {\n this._clearIncremental();\n\n this._incremental = null;\n this.group.removeAll();\n};\n\nlargeSymbolProto._clearIncremental = function () {\n var incremental = this._incremental;\n\n if (incremental) {\n incremental.clearDisplaybles();\n }\n};\n\nvar _default = LargeSymbolDraw;\nmodule.exports = _default;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _traversalHelper = require(\"./traversalHelper\");\n\nvar eachAfter = _traversalHelper.eachAfter;\nvar eachBefore = _traversalHelper.eachBefore;\n\nvar _layoutHelper = require(\"./layoutHelper\");\n\nvar init = _layoutHelper.init;\nvar firstWalk = _layoutHelper.firstWalk;\nvar secondWalk = _layoutHelper.secondWalk;\nvar sep = _layoutHelper.separation;\nvar radialCoordinate = _layoutHelper.radialCoordinate;\nvar getViewRect = _layoutHelper.getViewRect;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel, api) {\n ecModel.eachSeriesByType('tree', function (seriesModel) {\n commonLayout(seriesModel, api);\n });\n}\n\nfunction commonLayout(seriesModel, api) {\n var layoutInfo = getViewRect(seriesModel, api);\n seriesModel.layoutInfo = layoutInfo;\n var layout = seriesModel.get('layout');\n var width = 0;\n var height = 0;\n var separation = null;\n\n if (layout === 'radial') {\n width = 2 * Math.PI;\n height = Math.min(layoutInfo.height, layoutInfo.width) / 2;\n separation = sep(function (node1, node2) {\n return (node1.parentNode === node2.parentNode ? 1 : 2) / node1.depth;\n });\n } else {\n width = layoutInfo.width;\n height = layoutInfo.height;\n separation = sep();\n }\n\n var virtualRoot = seriesModel.getData().tree.root;\n var realRoot = virtualRoot.children[0];\n\n if (realRoot) {\n init(virtualRoot);\n eachAfter(realRoot, firstWalk, separation);\n virtualRoot.hierNode.modifier = -realRoot.hierNode.prelim;\n eachBefore(realRoot, secondWalk);\n var left = realRoot;\n var right = realRoot;\n var bottom = realRoot;\n eachBefore(realRoot, function (node) {\n var x = node.getLayout().x;\n\n if (x < left.getLayout().x) {\n left = node;\n }\n\n if (x > right.getLayout().x) {\n right = node;\n }\n\n if (node.depth > bottom.depth) {\n bottom = node;\n }\n });\n var delta = left === right ? 1 : separation(left, right) / 2;\n var tx = delta - left.getLayout().x;\n var kx = 0;\n var ky = 0;\n var coorX = 0;\n var coorY = 0;\n\n if (layout === 'radial') {\n kx = width / (right.getLayout().x + delta + tx); // here we use (node.depth - 1), bucause the real root's depth is 1\n\n ky = height / (bottom.depth - 1 || 1);\n eachBefore(realRoot, function (node) {\n coorX = (node.getLayout().x + tx) * kx;\n coorY = (node.depth - 1) * ky;\n var finalCoor = radialCoordinate(coorX, coorY);\n node.setLayout({\n x: finalCoor.x,\n y: finalCoor.y,\n rawX: coorX,\n rawY: coorY\n }, true);\n });\n } else {\n var orient = seriesModel.getOrient();\n\n if (orient === 'RL' || orient === 'LR') {\n ky = height / (right.getLayout().x + delta + tx);\n kx = width / (bottom.depth - 1 || 1);\n eachBefore(realRoot, function (node) {\n coorY = (node.getLayout().x + tx) * ky;\n coorX = orient === 'LR' ? (node.depth - 1) * kx : width - (node.depth - 1) * kx;\n node.setLayout({\n x: coorX,\n y: coorY\n }, true);\n });\n } else if (orient === 'TB' || orient === 'BT') {\n kx = width / (right.getLayout().x + delta + tx);\n ky = height / (bottom.depth - 1 || 1);\n eachBefore(realRoot, function (node) {\n coorX = (node.getLayout().x + tx) * kx;\n coorY = orient === 'TB' ? (node.depth - 1) * ky : height - (node.depth - 1) * ky;\n node.setLayout({\n x: coorX,\n y: coorY\n }, true);\n });\n }\n }\n }\n}\n\nmodule.exports = _default;","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../util/model\");\n\nvar ComponentModel = require(\"./Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * ECharts option manager\n *\n * @module {echarts/model/OptionManager}\n */\nvar each = zrUtil.each;\nvar clone = zrUtil.clone;\nvar map = zrUtil.map;\nvar merge = zrUtil.merge;\nvar QUERY_REG = /^(min|max)?(.+)$/;\n/**\n * TERM EXPLANATIONS:\n *\n * [option]:\n *\n * An object that contains definitions of components. For example:\n * var option = {\n * title: {...},\n * legend: {...},\n * visualMap: {...},\n * series: [\n * {data: [...]},\n * {data: [...]},\n * ...\n * ]\n * };\n *\n * [rawOption]:\n *\n * An object input to echarts.setOption. 'rawOption' may be an\n * 'option', or may be an object contains multi-options. For example:\n * var option = {\n * baseOption: {\n * title: {...},\n * legend: {...},\n * series: [\n * {data: [...]},\n * {data: [...]},\n * ...\n * ]\n * },\n * timeline: {...},\n * options: [\n * {title: {...}, series: {data: [...]}},\n * {title: {...}, series: {data: [...]}},\n * ...\n * ],\n * media: [\n * {\n * query: {maxWidth: 320},\n * option: {series: {x: 20}, visualMap: {show: false}}\n * },\n * {\n * query: {minWidth: 320, maxWidth: 720},\n * option: {series: {x: 500}, visualMap: {show: true}}\n * },\n * {\n * option: {series: {x: 1200}, visualMap: {show: true}}\n * }\n * ]\n * };\n *\n * @alias module:echarts/model/OptionManager\n * @param {module:echarts/ExtensionAPI} api\n */\n\nfunction OptionManager(api) {\n /**\n * @private\n * @type {module:echarts/ExtensionAPI}\n */\n this._api = api;\n /**\n * @private\n * @type {Array.}\n */\n\n this._timelineOptions = [];\n /**\n * @private\n * @type {Array.}\n */\n\n this._mediaList = [];\n /**\n * @private\n * @type {Object}\n */\n\n this._mediaDefault;\n /**\n * -1, means default.\n * empty means no media.\n * @private\n * @type {Array.}\n */\n\n this._currentMediaIndices = [];\n /**\n * @private\n * @type {Object}\n */\n\n this._optionBackup;\n /**\n * @private\n * @type {Object}\n */\n\n this._newBaseOption;\n} // timeline.notMerge is not supported in ec3. Firstly there is rearly\n// case that notMerge is needed. Secondly supporting 'notMerge' requires\n// rawOption cloned and backuped when timeline changed, which does no\n// good to performance. What's more, that both timeline and setOption\n// method supply 'notMerge' brings complex and some problems.\n// Consider this case:\n// (step1) chart.setOption({timeline: {notMerge: false}, ...}, false);\n// (step2) chart.setOption({timeline: {notMerge: true}, ...}, false);\n\n\nOptionManager.prototype = {\n constructor: OptionManager,\n\n /**\n * @public\n * @param {Object} rawOption Raw option.\n * @param {module:echarts/model/Global} ecModel\n * @param {Array.} optionPreprocessorFuncs\n * @return {Object} Init option\n */\n setOption: function (rawOption, optionPreprocessorFuncs) {\n if (rawOption) {\n // That set dat primitive is dangerous if user reuse the data when setOption again.\n zrUtil.each(modelUtil.normalizeToArray(rawOption.series), function (series) {\n series && series.data && zrUtil.isTypedArray(series.data) && zrUtil.setAsPrimitive(series.data);\n });\n } // Caution: some series modify option data, if do not clone,\n // it should ensure that the repeat modify correctly\n // (create a new object when modify itself).\n\n\n rawOption = clone(rawOption); // FIXME\n // 如果 timeline options 或者 media 中设置了某个属性,而baseOption中没有设置,则进行警告。\n\n var oldOptionBackup = this._optionBackup;\n var newParsedOption = parseRawOption.call(this, rawOption, optionPreprocessorFuncs, !oldOptionBackup);\n this._newBaseOption = newParsedOption.baseOption; // For setOption at second time (using merge mode);\n\n if (oldOptionBackup) {\n // Only baseOption can be merged.\n mergeOption(oldOptionBackup.baseOption, newParsedOption.baseOption); // For simplicity, timeline options and media options do not support merge,\n // that is, if you `setOption` twice and both has timeline options, the latter\n // timeline opitons will not be merged to the formers, but just substitude them.\n\n if (newParsedOption.timelineOptions.length) {\n oldOptionBackup.timelineOptions = newParsedOption.timelineOptions;\n }\n\n if (newParsedOption.mediaList.length) {\n oldOptionBackup.mediaList = newParsedOption.mediaList;\n }\n\n if (newParsedOption.mediaDefault) {\n oldOptionBackup.mediaDefault = newParsedOption.mediaDefault;\n }\n } else {\n this._optionBackup = newParsedOption;\n }\n },\n\n /**\n * @param {boolean} isRecreate\n * @return {Object}\n */\n mountOption: function (isRecreate) {\n var optionBackup = this._optionBackup; // TODO\n // 如果没有reset功能则不clone。\n\n this._timelineOptions = map(optionBackup.timelineOptions, clone);\n this._mediaList = map(optionBackup.mediaList, clone);\n this._mediaDefault = clone(optionBackup.mediaDefault);\n this._currentMediaIndices = [];\n return clone(isRecreate // this._optionBackup.baseOption, which is created at the first `setOption`\n // called, and is merged into every new option by inner method `mergeOption`\n // each time `setOption` called, can be only used in `isRecreate`, because\n // its reliability is under suspicion. In other cases option merge is\n // performed by `model.mergeOption`.\n ? optionBackup.baseOption : this._newBaseOption);\n },\n\n /**\n * @param {module:echarts/model/Global} ecModel\n * @return {Object}\n */\n getTimelineOption: function (ecModel) {\n var option;\n var timelineOptions = this._timelineOptions;\n\n if (timelineOptions.length) {\n // getTimelineOption can only be called after ecModel inited,\n // so we can get currentIndex from timelineModel.\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel) {\n option = clone(timelineOptions[timelineModel.getCurrentIndex()], true);\n }\n }\n\n return option;\n },\n\n /**\n * @param {module:echarts/model/Global} ecModel\n * @return {Array.}\n */\n getMediaOption: function (ecModel) {\n var ecWidth = this._api.getWidth();\n\n var ecHeight = this._api.getHeight();\n\n var mediaList = this._mediaList;\n var mediaDefault = this._mediaDefault;\n var indices = [];\n var result = []; // No media defined.\n\n if (!mediaList.length && !mediaDefault) {\n return result;\n } // Multi media may be applied, the latter defined media has higher priority.\n\n\n for (var i = 0, len = mediaList.length; i < len; i++) {\n if (applyMediaQuery(mediaList[i].query, ecWidth, ecHeight)) {\n indices.push(i);\n }\n } // FIXME\n // 是否mediaDefault应该强制用户设置,否则可能修改不能回归。\n\n\n if (!indices.length && mediaDefault) {\n indices = [-1];\n }\n\n if (indices.length && !indicesEquals(indices, this._currentMediaIndices)) {\n result = map(indices, function (index) {\n return clone(index === -1 ? mediaDefault.option : mediaList[index].option);\n });\n } // Otherwise return nothing.\n\n\n this._currentMediaIndices = indices;\n return result;\n }\n};\n\nfunction parseRawOption(rawOption, optionPreprocessorFuncs, isNew) {\n var timelineOptions = [];\n var mediaList = [];\n var mediaDefault;\n var baseOption; // Compatible with ec2.\n\n var timelineOpt = rawOption.timeline;\n\n if (rawOption.baseOption) {\n baseOption = rawOption.baseOption;\n } // For timeline\n\n\n if (timelineOpt || rawOption.options) {\n baseOption = baseOption || {};\n timelineOptions = (rawOption.options || []).slice();\n } // For media query\n\n\n if (rawOption.media) {\n baseOption = baseOption || {};\n var media = rawOption.media;\n each(media, function (singleMedia) {\n if (singleMedia && singleMedia.option) {\n if (singleMedia.query) {\n mediaList.push(singleMedia);\n } else if (!mediaDefault) {\n // Use the first media default.\n mediaDefault = singleMedia;\n }\n }\n });\n } // For normal option\n\n\n if (!baseOption) {\n baseOption = rawOption;\n } // Set timelineOpt to baseOption in ec3,\n // which is convenient for merge option.\n\n\n if (!baseOption.timeline) {\n baseOption.timeline = timelineOpt;\n } // Preprocess.\n\n\n each([baseOption].concat(timelineOptions).concat(zrUtil.map(mediaList, function (media) {\n return media.option;\n })), function (option) {\n each(optionPreprocessorFuncs, function (preProcess) {\n preProcess(option, isNew);\n });\n });\n return {\n baseOption: baseOption,\n timelineOptions: timelineOptions,\n mediaDefault: mediaDefault,\n mediaList: mediaList\n };\n}\n/**\n * @see \n * Support: width, height, aspectRatio\n * Can use max or min as prefix.\n */\n\n\nfunction applyMediaQuery(query, ecWidth, ecHeight) {\n var realMap = {\n width: ecWidth,\n height: ecHeight,\n aspectratio: ecWidth / ecHeight // lowser case for convenientce.\n\n };\n var applicatable = true;\n zrUtil.each(query, function (value, attr) {\n var matched = attr.match(QUERY_REG);\n\n if (!matched || !matched[1] || !matched[2]) {\n return;\n }\n\n var operator = matched[1];\n var realAttr = matched[2].toLowerCase();\n\n if (!compare(realMap[realAttr], value, operator)) {\n applicatable = false;\n }\n });\n return applicatable;\n}\n\nfunction compare(real, expect, operator) {\n if (operator === 'min') {\n return real >= expect;\n } else if (operator === 'max') {\n return real <= expect;\n } else {\n // Equals\n return real === expect;\n }\n}\n\nfunction indicesEquals(indices1, indices2) {\n // indices is always order by asc and has only finite number.\n return indices1.join(',') === indices2.join(',');\n}\n/**\n * Consider case:\n * `chart.setOption(opt1);`\n * Then user do some interaction like dataZoom, dataView changing.\n * `chart.setOption(opt2);`\n * Then user press 'reset button' in toolbox.\n *\n * After doing that all of the interaction effects should be reset, the\n * chart should be the same as the result of invoke\n * `chart.setOption(opt1); chart.setOption(opt2);`.\n *\n * Although it is not able ensure that\n * `chart.setOption(opt1); chart.setOption(opt2);` is equivalents to\n * `chart.setOption(merge(opt1, opt2));` exactly,\n * this might be the only simple way to implement that feature.\n *\n * MEMO: We've considered some other approaches:\n * 1. Each model handle its self restoration but not uniform treatment.\n * (Too complex in logic and error-prone)\n * 2. Use a shadow ecModel. (Performace expensive)\n */\n\n\nfunction mergeOption(oldOption, newOption) {\n newOption = newOption || {};\n each(newOption, function (newCptOpt, mainType) {\n if (newCptOpt == null) {\n return;\n }\n\n var oldCptOpt = oldOption[mainType];\n\n if (!ComponentModel.hasClass(mainType)) {\n oldOption[mainType] = merge(oldCptOpt, newCptOpt, true);\n } else {\n newCptOpt = modelUtil.normalizeToArray(newCptOpt);\n oldCptOpt = modelUtil.normalizeToArray(oldCptOpt);\n var mapResult = modelUtil.mappingToExists(oldCptOpt, newCptOpt);\n oldOption[mainType] = map(mapResult, function (item) {\n return item.option && item.exist ? merge(item.exist, item.option, true) : item.exist || item.option;\n });\n }\n });\n}\n\nvar _default = OptionManager;\nmodule.exports = _default;","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var Path = require(\"../Path\");\n\nvar _subPixelOptimize = require(\"../helper/subPixelOptimize\");\n\nvar subPixelOptimizeLine = _subPixelOptimize.subPixelOptimizeLine;\n\n/**\n * 直线\n * @module zrender/graphic/shape/Line\n */\n// Avoid create repeatly.\nvar subPixelOptimizeOutputShape = {};\n\nvar _default = Path.extend({\n type: 'line',\n shape: {\n // Start point\n x1: 0,\n y1: 0,\n // End point\n x2: 0,\n y2: 0,\n percent: 1\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n var x1;\n var y1;\n var x2;\n var y2;\n\n if (this.subPixelOptimize) {\n subPixelOptimizeLine(subPixelOptimizeOutputShape, shape, this.style);\n x1 = subPixelOptimizeOutputShape.x1;\n y1 = subPixelOptimizeOutputShape.y1;\n x2 = subPixelOptimizeOutputShape.x2;\n y2 = subPixelOptimizeOutputShape.y2;\n } else {\n x1 = shape.x1;\n y1 = shape.y1;\n x2 = shape.x2;\n y2 = shape.y2;\n }\n\n var percent = shape.percent;\n\n if (percent === 0) {\n return;\n }\n\n ctx.moveTo(x1, y1);\n\n if (percent < 1) {\n x2 = x1 * (1 - percent) + x2 * percent;\n y2 = y1 * (1 - percent) + y2 * percent;\n }\n\n ctx.lineTo(x2, y2);\n },\n\n /**\n * Get point at percent\n * @param {number} percent\n * @return {Array.}\n */\n pointAt: function (p) {\n var shape = this.shape;\n return [shape.x1 * (1 - p) + shape.x2 * p, shape.y1 * (1 - p) + shape.y2 * p];\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.scatter',\n dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n brushSelector: 'point',\n getProgressive: function () {\n var progressive = this.option.progressive;\n\n if (progressive == null) {\n // PENDING\n return this.option.large ? 5e3 : this.get('progressive');\n }\n\n return progressive;\n },\n getProgressiveThreshold: function () {\n var progressiveThreshold = this.option.progressiveThreshold;\n\n if (progressiveThreshold == null) {\n // PENDING\n return this.option.large ? 1e4 : this.get('progressiveThreshold');\n }\n\n return progressiveThreshold;\n },\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Polar coordinate system\n // polarIndex: 0,\n // Geo coordinate system\n // geoIndex: 0,\n // symbol: null, // 图形类型\n symbolSize: 10,\n // 图形大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2\n // symbolRotate: null, // 图形旋转控制\n large: false,\n // Available when large is true\n largeThreshold: 2000,\n // cursor: null,\n // label: {\n // show: false\n // distance: 5,\n // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为\n // 'inside'|'left'|'right'|'top'|'bottom'\n // 默认使用全局文本样式,详见TEXTSTYLE\n // },\n itemStyle: {\n opacity: 0.8 // color: 各异\n\n },\n // If clip the overflow graphics\n // Works on cartesian / polar series\n clip: true // progressive: null\n\n }\n});\n\nmodule.exports = _default;","// TODO Draggable for group\n// FIXME Draggable on element which has parent rotation or scale\nfunction Draggable() {\n this.on('mousedown', this._dragStart, this);\n this.on('mousemove', this._drag, this);\n this.on('mouseup', this._dragEnd, this); // `mosuemove` and `mouseup` can be continue to fire when dragging.\n // See [Drag outside] in `Handler.js`. So we do not need to trigger\n // `_dragEnd` when globalout. That would brings better user experience.\n // this.on('globalout', this._dragEnd, this);\n // this._dropTarget = null;\n // this._draggingTarget = null;\n // this._x = 0;\n // this._y = 0;\n}\n\nDraggable.prototype = {\n constructor: Draggable,\n _dragStart: function (e) {\n var draggingTarget = e.target; // Find if there is draggable in the ancestor\n\n while (draggingTarget && !draggingTarget.draggable) {\n draggingTarget = draggingTarget.parent;\n }\n\n if (draggingTarget) {\n this._draggingTarget = draggingTarget;\n draggingTarget.dragging = true;\n this._x = e.offsetX;\n this._y = e.offsetY;\n this.dispatchToElement(param(draggingTarget, e), 'dragstart', e.event);\n }\n },\n _drag: function (e) {\n var draggingTarget = this._draggingTarget;\n\n if (draggingTarget) {\n var x = e.offsetX;\n var y = e.offsetY;\n var dx = x - this._x;\n var dy = y - this._y;\n this._x = x;\n this._y = y;\n draggingTarget.drift(dx, dy, e);\n this.dispatchToElement(param(draggingTarget, e), 'drag', e.event);\n var dropTarget = this.findHover(x, y, draggingTarget).target;\n var lastDropTarget = this._dropTarget;\n this._dropTarget = dropTarget;\n\n if (draggingTarget !== dropTarget) {\n if (lastDropTarget && dropTarget !== lastDropTarget) {\n this.dispatchToElement(param(lastDropTarget, e), 'dragleave', e.event);\n }\n\n if (dropTarget && dropTarget !== lastDropTarget) {\n this.dispatchToElement(param(dropTarget, e), 'dragenter', e.event);\n }\n }\n }\n },\n _dragEnd: function (e) {\n var draggingTarget = this._draggingTarget;\n\n if (draggingTarget) {\n draggingTarget.dragging = false;\n }\n\n this.dispatchToElement(param(draggingTarget, e), 'dragend', e.event);\n\n if (this._dropTarget) {\n this.dispatchToElement(param(this._dropTarget, e), 'drop', e.event);\n }\n\n this._draggingTarget = null;\n this._dropTarget = null;\n }\n};\n\nfunction param(target, e) {\n return {\n target: target,\n topTarget: e && e.topTarget\n };\n}\n\nvar _default = Draggable;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// var PI2 = Math.PI * 2;\nvar RADIAN = Math.PI / 180;\n\nfunction _default(seriesType, ecModel, api, payload) {\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n var center = seriesModel.get('center');\n var radius = seriesModel.get('radius');\n\n if (!zrUtil.isArray(radius)) {\n radius = [0, radius];\n }\n\n if (!zrUtil.isArray(center)) {\n center = [center, center];\n }\n\n var width = api.getWidth();\n var height = api.getHeight();\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], width);\n var cy = parsePercent(center[1], height);\n var r0 = parsePercent(radius[0], size / 2);\n var r = parsePercent(radius[1], size / 2);\n var startAngle = -seriesModel.get('startAngle') * RADIAN;\n var minAngle = seriesModel.get('minAngle') * RADIAN;\n var virtualRoot = seriesModel.getData().tree.root;\n var treeRoot = seriesModel.getViewRoot();\n var rootDepth = treeRoot.depth;\n var sort = seriesModel.get('sort');\n\n if (sort != null) {\n initChildren(treeRoot, sort);\n }\n\n var validDataCount = 0;\n zrUtil.each(treeRoot.children, function (child) {\n !isNaN(child.getValue()) && validDataCount++;\n });\n var sum = treeRoot.getValue(); // Sum may be 0\n\n var unitRadian = Math.PI / (sum || validDataCount) * 2;\n var renderRollupNode = treeRoot.depth > 0;\n var levels = treeRoot.height - (renderRollupNode ? -1 : 1);\n var rPerLevel = (r - r0) / (levels || 1);\n var clockwise = seriesModel.get('clockwise');\n var stillShowZeroSum = seriesModel.get('stillShowZeroSum'); // In the case some sector angle is smaller than minAngle\n // var restAngle = PI2;\n // var valueSumLargerThanMinAngle = 0;\n\n var dir = clockwise ? 1 : -1;\n /**\n * Render a tree\n * @return increased angle\n */\n\n var renderNode = function (node, startAngle) {\n if (!node) {\n return;\n }\n\n var endAngle = startAngle; // Render self\n\n if (node !== virtualRoot) {\n // Tree node is virtual, so it doesn't need to be drawn\n var value = node.getValue();\n var angle = sum === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;\n\n if (angle < minAngle) {\n angle = minAngle; // restAngle -= minAngle;\n } // else {\n // valueSumLargerThanMinAngle += value;\n // }\n\n\n endAngle = startAngle + dir * angle;\n var depth = node.depth - rootDepth - (renderRollupNode ? -1 : 1);\n var rStart = r0 + rPerLevel * depth;\n var rEnd = r0 + rPerLevel * (depth + 1);\n var itemModel = node.getModel();\n\n if (itemModel.get('r0') != null) {\n rStart = parsePercent(itemModel.get('r0'), size / 2);\n }\n\n if (itemModel.get('r') != null) {\n rEnd = parsePercent(itemModel.get('r'), size / 2);\n }\n\n node.setLayout({\n angle: angle,\n startAngle: startAngle,\n endAngle: endAngle,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: rStart,\n r: rEnd\n });\n } // Render children\n\n\n if (node.children && node.children.length) {\n // currentAngle = startAngle;\n var siblingAngle = 0;\n zrUtil.each(node.children, function (node) {\n siblingAngle += renderNode(node, startAngle + siblingAngle);\n });\n }\n\n return endAngle - startAngle;\n }; // Virtual root node for roll up\n\n\n if (renderRollupNode) {\n var rStart = r0;\n var rEnd = r0 + rPerLevel;\n var angle = Math.PI * 2;\n virtualRoot.setLayout({\n angle: angle,\n startAngle: startAngle,\n endAngle: startAngle + angle,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: rStart,\n r: rEnd\n });\n }\n\n renderNode(treeRoot, startAngle);\n });\n}\n/**\n * Init node children by order and update visual\n *\n * @param {TreeNode} node root node\n * @param {boolean} isAsc if is in ascendant order\n */\n\n\nfunction initChildren(node, isAsc) {\n var children = node.children || [];\n node.children = sort(children, isAsc); // Init children recursively\n\n if (children.length) {\n zrUtil.each(node.children, function (child) {\n initChildren(child, isAsc);\n });\n }\n}\n/**\n * Sort children nodes\n *\n * @param {TreeNode[]} children children of node to be sorted\n * @param {string | function | null} sort sort method\n * See SunburstSeries.js for details.\n */\n\n\nfunction sort(children, sortOrder) {\n if (typeof sortOrder === 'function') {\n return children.sort(sortOrder);\n } else {\n var isAsc = sortOrder === 'asc';\n return children.sort(function (a, b) {\n var diff = (a.getValue() - b.getValue()) * (isAsc ? 1 : -1);\n return diff === 0 ? (a.dataIndex - b.dataIndex) * (isAsc ? -1 : 1) : diff;\n });\n }\n}\n\nmodule.exports = _default;","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar axisPointerModelHelper = require(\"./axisPointer/modelHelper\");\n\nvar axisTrigger = require(\"./axisPointer/axisTrigger\");\n\nrequire(\"./axisPointer/AxisPointerModel\");\n\nrequire(\"./axisPointer/AxisPointerView\");\n\nrequire(\"./axisPointer/CartesianAxisPointer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// CartesianAxisPointer is not supposed to be required here. But consider\n// echarts.simple.js and online build tooltip, which only require gridSimple,\n// CartesianAxisPointer should be able to required somewhere.\necharts.registerPreprocessor(function (option) {\n // Always has a global axisPointerModel for default setting.\n if (option) {\n (!option.axisPointer || option.axisPointer.length === 0) && (option.axisPointer = {});\n var link = option.axisPointer.link; // Normalize to array to avoid object mergin. But if link\n // is not set, remain null/undefined, otherwise it will\n // override existent link setting.\n\n if (link && !zrUtil.isArray(link)) {\n option.axisPointer.link = [link];\n }\n }\n}); // This process should proformed after coordinate systems created\n// and series data processed. So put it on statistic processing stage.\n\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, function (ecModel, api) {\n // Build axisPointerModel, mergin tooltip.axisPointer model for each axis.\n // allAxesInfo should be updated when setOption performed.\n ecModel.getComponent('axisPointer').coordSysAxesInfo = axisPointerModelHelper.collect(ecModel, api);\n}); // Broadcast to all views.\n\necharts.registerAction({\n type: 'updateAxisPointer',\n event: 'updateAxisPointer',\n update: ':updateAxisPointer'\n}, axisTrigger);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/component/visualMap/VisualMapModel} visualMapModel\\\n * @param {module:echarts/ExtensionAPI} api\n * @param {Array.} itemSize always [short, long]\n * @return {string} 'left' or 'right' or 'top' or 'bottom'\n */\nfunction getItemAlign(visualMapModel, api, itemSize) {\n var modelOption = visualMapModel.option;\n var itemAlign = modelOption.align;\n\n if (itemAlign != null && itemAlign !== 'auto') {\n return itemAlign;\n } // Auto decision align.\n\n\n var ecSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var realIndex = modelOption.orient === 'horizontal' ? 1 : 0;\n var paramsSet = [['left', 'right', 'width'], ['top', 'bottom', 'height']];\n var reals = paramsSet[realIndex];\n var fakeValue = [0, null, 10];\n var layoutInput = {};\n\n for (var i = 0; i < 3; i++) {\n layoutInput[paramsSet[1 - realIndex][i]] = fakeValue[i];\n layoutInput[reals[i]] = i === 2 ? itemSize[0] : modelOption[reals[i]];\n }\n\n var rParam = [['x', 'width', 3], ['y', 'height', 0]][realIndex];\n var rect = getLayoutRect(layoutInput, ecSize, modelOption.padding);\n return reals[(rect.margin[rParam[2]] || 0) + rect[rParam[0]] + rect[rParam[1]] * 0.5 < ecSize[rParam[1]] * 0.5 ? 0 : 1];\n}\n/**\n * Prepare dataIndex for outside usage, where dataIndex means rawIndex, and\n * dataIndexInside means filtered index.\n */\n\n\nfunction makeHighDownBatch(batch, visualMapModel) {\n zrUtil.each(batch || [], function (batchItem) {\n if (batchItem.dataIndex != null) {\n batchItem.dataIndexInside = batchItem.dataIndex;\n batchItem.dataIndex = null;\n }\n\n batchItem.highlightKey = 'visualMap' + (visualMapModel ? visualMapModel.componentIndex : '');\n });\n return batch;\n}\n\nexports.getItemAlign = getItemAlign;\nexports.makeHighDownBatch = makeHighDownBatch;","var Displayable = require(\"./Displayable\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar pathContain = require(\"../contain/path\");\n\nvar Pattern = require(\"./Pattern\");\n\nvar getCanvasPattern = Pattern.prototype.getCanvasPattern;\nvar abs = Math.abs;\nvar pathProxyForDraw = new PathProxy(true);\n/**\n * @alias module:zrender/graphic/Path\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\n\nfunction Path(opts) {\n Displayable.call(this, opts);\n /**\n * @type {module:zrender/core/PathProxy}\n * @readOnly\n */\n\n this.path = null;\n}\n\nPath.prototype = {\n constructor: Path,\n type: 'path',\n __dirtyPath: true,\n strokeContainThreshold: 5,\n // This item default to be false. But in map series in echarts,\n // in order to improve performance, it should be set to true,\n // so the shorty segment won't draw.\n segmentIgnoreThreshold: 0,\n\n /**\n * See `module:zrender/src/graphic/helper/subPixelOptimize`.\n * @type {boolean}\n */\n subPixelOptimize: false,\n brush: function (ctx, prevEl) {\n var style = this.style;\n var path = this.path || pathProxyForDraw;\n var hasStroke = style.hasStroke();\n var hasFill = style.hasFill();\n var fill = style.fill;\n var stroke = style.stroke;\n var hasFillGradient = hasFill && !!fill.colorStops;\n var hasStrokeGradient = hasStroke && !!stroke.colorStops;\n var hasFillPattern = hasFill && !!fill.image;\n var hasStrokePattern = hasStroke && !!stroke.image;\n style.bind(ctx, this, prevEl);\n this.setTransform(ctx);\n\n if (this.__dirty) {\n var rect; // Update gradient because bounding rect may changed\n\n if (hasFillGradient) {\n rect = rect || this.getBoundingRect();\n this._fillGradient = style.getGradient(ctx, fill, rect);\n }\n\n if (hasStrokeGradient) {\n rect = rect || this.getBoundingRect();\n this._strokeGradient = style.getGradient(ctx, stroke, rect);\n }\n } // Use the gradient or pattern\n\n\n if (hasFillGradient) {\n // PENDING If may have affect the state\n ctx.fillStyle = this._fillGradient;\n } else if (hasFillPattern) {\n ctx.fillStyle = getCanvasPattern.call(fill, ctx);\n }\n\n if (hasStrokeGradient) {\n ctx.strokeStyle = this._strokeGradient;\n } else if (hasStrokePattern) {\n ctx.strokeStyle = getCanvasPattern.call(stroke, ctx);\n }\n\n var lineDash = style.lineDash;\n var lineDashOffset = style.lineDashOffset;\n var ctxLineDash = !!ctx.setLineDash; // Update path sx, sy\n\n var scale = this.getGlobalScale();\n path.setScale(scale[0], scale[1], this.segmentIgnoreThreshold); // Proxy context\n // Rebuild path in following 2 cases\n // 1. Path is dirty\n // 2. Path needs javascript implemented lineDash stroking.\n // In this case, lineDash information will not be saved in PathProxy\n\n if (this.__dirtyPath || lineDash && !ctxLineDash && hasStroke) {\n path.beginPath(ctx); // Setting line dash before build path\n\n if (lineDash && !ctxLineDash) {\n path.setLineDash(lineDash);\n path.setLineDashOffset(lineDashOffset);\n }\n\n this.buildPath(path, this.shape, false); // Clear path dirty flag\n\n if (this.path) {\n this.__dirtyPath = false;\n }\n } else {\n // Replay path building\n ctx.beginPath();\n this.path.rebuildPath(ctx);\n }\n\n if (hasFill) {\n if (style.fillOpacity != null) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.fillOpacity * style.opacity;\n path.fill(ctx);\n ctx.globalAlpha = originalGlobalAlpha;\n } else {\n path.fill(ctx);\n }\n }\n\n if (lineDash && ctxLineDash) {\n ctx.setLineDash(lineDash);\n ctx.lineDashOffset = lineDashOffset;\n }\n\n if (hasStroke) {\n if (style.strokeOpacity != null) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.strokeOpacity * style.opacity;\n path.stroke(ctx);\n ctx.globalAlpha = originalGlobalAlpha;\n } else {\n path.stroke(ctx);\n }\n }\n\n if (lineDash && ctxLineDash) {\n // PENDING\n // Remove lineDash\n ctx.setLineDash([]);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n // When bundling path, some shape may decide if use moveTo to begin a new subpath or closePath\n // Like in circle\n buildPath: function (ctx, shapeCfg, inBundle) {},\n createPathProxy: function () {\n this.path = new PathProxy();\n },\n getBoundingRect: function () {\n var rect = this._rect;\n var style = this.style;\n var needsUpdateRect = !rect;\n\n if (needsUpdateRect) {\n var path = this.path;\n\n if (!path) {\n // Create path on demand.\n path = this.path = new PathProxy();\n }\n\n if (this.__dirtyPath) {\n path.beginPath();\n this.buildPath(path, this.shape, false);\n }\n\n rect = path.getBoundingRect();\n }\n\n this._rect = rect;\n\n if (style.hasStroke()) {\n // Needs update rect with stroke lineWidth when\n // 1. Element changes scale or lineWidth\n // 2. Shape is changed\n var rectWithStroke = this._rectWithStroke || (this._rectWithStroke = rect.clone());\n\n if (this.__dirty || needsUpdateRect) {\n rectWithStroke.copy(rect); // FIXME Must after updateTransform\n\n var w = style.lineWidth; // PENDING, Min line width is needed when line is horizontal or vertical\n\n var lineScale = style.strokeNoScale ? this.getLineScale() : 1; // Only add extra hover lineWidth when there are no fill\n\n if (!style.hasFill()) {\n w = Math.max(w, this.strokeContainThreshold || 4);\n } // Consider line width\n // Line scale can't be 0;\n\n\n if (lineScale > 1e-10) {\n rectWithStroke.width += w / lineScale;\n rectWithStroke.height += w / lineScale;\n rectWithStroke.x -= w / lineScale / 2;\n rectWithStroke.y -= w / lineScale / 2;\n }\n } // Return rect with stroke\n\n\n return rectWithStroke;\n }\n\n return rect;\n },\n contain: function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n var style = this.style;\n x = localPos[0];\n y = localPos[1];\n\n if (rect.contain(x, y)) {\n var pathData = this.path.data;\n\n if (style.hasStroke()) {\n var lineWidth = style.lineWidth;\n var lineScale = style.strokeNoScale ? this.getLineScale() : 1; // Line scale can't be 0;\n\n if (lineScale > 1e-10) {\n // Only add extra hover lineWidth when there are no fill\n if (!style.hasFill()) {\n lineWidth = Math.max(lineWidth, this.strokeContainThreshold);\n }\n\n if (pathContain.containStroke(pathData, lineWidth / lineScale, x, y)) {\n return true;\n }\n }\n }\n\n if (style.hasFill()) {\n return pathContain.contain(pathData, x, y);\n }\n }\n\n return false;\n },\n\n /**\n * @param {boolean} dirtyPath\n */\n dirty: function (dirtyPath) {\n if (dirtyPath == null) {\n dirtyPath = true;\n } // Only mark dirty, not mark clean\n\n\n if (dirtyPath) {\n this.__dirtyPath = dirtyPath;\n this._rect = null;\n }\n\n this.__dirty = this.__dirtyText = true;\n this.__zr && this.__zr.refresh(); // Used as a clipping path\n\n if (this.__clipTarget) {\n this.__clipTarget.dirty();\n }\n },\n\n /**\n * Alias for animate('shape')\n * @param {boolean} loop\n */\n animateShape: function (loop) {\n return this.animate('shape', loop);\n },\n // Overwrite attrKV\n attrKV: function (key, value) {\n // FIXME\n if (key === 'shape') {\n this.setShape(value);\n this.__dirtyPath = true;\n this._rect = null;\n } else {\n Displayable.prototype.attrKV.call(this, key, value);\n }\n },\n\n /**\n * @param {Object|string} key\n * @param {*} value\n */\n setShape: function (key, value) {\n var shape = this.shape; // Path from string may not have shape\n\n if (shape) {\n if (zrUtil.isObject(key)) {\n for (var name in key) {\n if (key.hasOwnProperty(name)) {\n shape[name] = key[name];\n }\n }\n } else {\n shape[key] = value;\n }\n\n this.dirty(true);\n }\n\n return this;\n },\n getLineScale: function () {\n var m = this.transform; // Get the line scale.\n // Determinant of `m` means how much the area is enlarged by the\n // transformation. So its square root can be used as a scale factor\n // for width.\n\n return m && abs(m[0] - 1) > 1e-10 && abs(m[3] - 1) > 1e-10 ? Math.sqrt(abs(m[0] * m[3] - m[2] * m[1])) : 1;\n }\n};\n/**\n * 扩展一个 Path element, 比如星形,圆等。\n * Extend a path element\n * @param {Object} props\n * @param {string} props.type Path type\n * @param {Function} props.init Initialize\n * @param {Function} props.buildPath Overwrite buildPath method\n * @param {Object} [props.style] Extended default style config\n * @param {Object} [props.shape] Extended default shape config\n */\n\nPath.extend = function (defaults) {\n var Sub = function (opts) {\n Path.call(this, opts);\n\n if (defaults.style) {\n // Extend default style\n this.style.extendFrom(defaults.style, false);\n } // Extend default shape\n\n\n var defaultShape = defaults.shape;\n\n if (defaultShape) {\n this.shape = this.shape || {};\n var thisShape = this.shape;\n\n for (var name in defaultShape) {\n if (!thisShape.hasOwnProperty(name) && defaultShape.hasOwnProperty(name)) {\n thisShape[name] = defaultShape[name];\n }\n }\n }\n\n defaults.init && defaults.init.call(this, opts);\n };\n\n zrUtil.inherits(Sub, Path); // FIXME 不能 extend position, rotation 等引用对象\n\n for (var name in defaults) {\n // Extending prototype values and methods\n if (name !== 'style' && name !== 'shape') {\n Sub.prototype[name] = defaults[name];\n }\n }\n\n return Sub;\n};\n\nzrUtil.inherits(Path, Displayable);\nvar _default = Path;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar Cartesian = require(\"./Cartesian\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction Cartesian2D(name) {\n Cartesian.call(this, name);\n}\n\nCartesian2D.prototype = {\n constructor: Cartesian2D,\n type: 'cartesian2d',\n\n /**\n * @type {Array.}\n * @readOnly\n */\n dimensions: ['x', 'y'],\n\n /**\n * Base axis will be used on stacking.\n *\n * @return {module:echarts/coord/cartesian/Axis2D}\n */\n getBaseAxis: function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n },\n\n /**\n * If contain point\n * @param {Array.} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var axisX = this.getAxis('x');\n var axisY = this.getAxis('y');\n return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n },\n\n /**\n * If contain data\n * @param {Array.} data\n * @return {boolean}\n */\n containData: function (data) {\n return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n },\n\n /**\n * @param {Array.} data\n * @param {Array.} out\n * @return {Array.}\n */\n dataToPoint: function (data, reserved, out) {\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out = out || [];\n out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(data[0]));\n out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(data[1]));\n return out;\n },\n\n /**\n * @param {Array.} data\n * @param {Array.} out\n * @return {Array.}\n */\n clampData: function (data, out) {\n var xScale = this.getAxis('x').scale;\n var yScale = this.getAxis('y').scale;\n var xAxisExtent = xScale.getExtent();\n var yAxisExtent = yScale.getExtent();\n var x = xScale.parse(data[0]);\n var y = yScale.parse(data[1]);\n out = out || [];\n out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n return out;\n },\n\n /**\n * @param {Array.} point\n * @param {Array.} out\n * @return {Array.}\n */\n pointToData: function (point, out) {\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out = out || [];\n out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]));\n out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]));\n return out;\n },\n\n /**\n * Get other axis\n * @param {module:echarts/coord/cartesian/Axis2D} axis\n */\n getOtherAxis: function (axis) {\n return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n },\n\n /**\n * Get rect area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n * @return {BoundingRect}\n */\n getArea: function () {\n var xExtent = this.getAxis('x').getGlobalExtent();\n var yExtent = this.getAxis('y').getGlobalExtent();\n var x = Math.min(xExtent[0], xExtent[1]);\n var y = Math.min(yExtent[0], yExtent[1]);\n var width = Math.max(xExtent[0], xExtent[1]) - x;\n var height = Math.max(yExtent[0], yExtent[1]) - y;\n var rect = new BoundingRect(x, y, width, height);\n return rect;\n }\n};\nzrUtil.inherits(Cartesian2D, Cartesian);\nvar _default = Cartesian2D;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar helper = require(\"./helper\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar asc = numberUtil.asc;\n/**\n * Operate single axis.\n * One axis can only operated by one axis operator.\n * Different dataZoomModels may be defined to operate the same axis.\n * (i.e. 'inside' data zoom and 'slider' data zoom components)\n * So dataZoomModels share one axisProxy in that case.\n *\n * @class\n */\n\nvar AxisProxy = function (dimName, axisIndex, dataZoomModel, ecModel) {\n /**\n * @private\n * @type {string}\n */\n this._dimName = dimName;\n /**\n * @private\n */\n\n this._axisIndex = axisIndex;\n /**\n * @private\n * @type {Array.}\n */\n\n this._valueWindow;\n /**\n * @private\n * @type {Array.}\n */\n\n this._percentWindow;\n /**\n * @private\n * @type {Array.}\n */\n\n this._dataExtent;\n /**\n * {minSpan, maxSpan, minValueSpan, maxValueSpan}\n * @private\n * @type {Object}\n */\n\n this._minMaxSpan;\n /**\n * @readOnly\n * @type {module: echarts/model/Global}\n */\n\n this.ecModel = ecModel;\n /**\n * @private\n * @type {module: echarts/component/dataZoom/DataZoomModel}\n */\n\n this._dataZoomModel = dataZoomModel; // /**\n // * @readOnly\n // * @private\n // */\n // this.hasSeriesStacked;\n};\n\nAxisProxy.prototype = {\n constructor: AxisProxy,\n\n /**\n * Whether the axisProxy is hosted by dataZoomModel.\n *\n * @public\n * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel\n * @return {boolean}\n */\n hostedBy: function (dataZoomModel) {\n return this._dataZoomModel === dataZoomModel;\n },\n\n /**\n * @return {Array.} Value can only be NaN or finite value.\n */\n getDataValueWindow: function () {\n return this._valueWindow.slice();\n },\n\n /**\n * @return {Array.}\n */\n getDataPercentWindow: function () {\n return this._percentWindow.slice();\n },\n\n /**\n * @public\n * @param {number} axisIndex\n * @return {Array} seriesModels\n */\n getTargetSeriesModels: function () {\n var seriesModels = [];\n var ecModel = this.ecModel;\n ecModel.eachSeries(function (seriesModel) {\n if (helper.isCoordSupported(seriesModel.get('coordinateSystem'))) {\n var dimName = this._dimName;\n var axisModel = ecModel.queryComponents({\n mainType: dimName + 'Axis',\n index: seriesModel.get(dimName + 'AxisIndex'),\n id: seriesModel.get(dimName + 'AxisId')\n })[0];\n\n if (this._axisIndex === (axisModel && axisModel.componentIndex)) {\n seriesModels.push(seriesModel);\n }\n }\n }, this);\n return seriesModels;\n },\n getAxisModel: function () {\n return this.ecModel.getComponent(this._dimName + 'Axis', this._axisIndex);\n },\n getOtherAxisModel: function () {\n var axisDim = this._dimName;\n var ecModel = this.ecModel;\n var axisModel = this.getAxisModel();\n var isCartesian = axisDim === 'x' || axisDim === 'y';\n var otherAxisDim;\n var coordSysIndexName;\n\n if (isCartesian) {\n coordSysIndexName = 'gridIndex';\n otherAxisDim = axisDim === 'x' ? 'y' : 'x';\n } else {\n coordSysIndexName = 'polarIndex';\n otherAxisDim = axisDim === 'angle' ? 'radius' : 'angle';\n }\n\n var foundOtherAxisModel;\n ecModel.eachComponent(otherAxisDim + 'Axis', function (otherAxisModel) {\n if ((otherAxisModel.get(coordSysIndexName) || 0) === (axisModel.get(coordSysIndexName) || 0)) {\n foundOtherAxisModel = otherAxisModel;\n }\n });\n return foundOtherAxisModel;\n },\n getMinMaxSpan: function () {\n return zrUtil.clone(this._minMaxSpan);\n },\n\n /**\n * Only calculate by given range and this._dataExtent, do not change anything.\n *\n * @param {Object} opt\n * @param {number} [opt.start]\n * @param {number} [opt.end]\n * @param {number} [opt.startValue]\n * @param {number} [opt.endValue]\n */\n calculateDataWindow: function (opt) {\n var dataExtent = this._dataExtent;\n var axisModel = this.getAxisModel();\n var scale = axisModel.axis.scale;\n\n var rangePropMode = this._dataZoomModel.getRangePropMode();\n\n var percentExtent = [0, 100];\n var percentWindow = [];\n var valueWindow = [];\n var hasPropModeValue;\n each(['start', 'end'], function (prop, idx) {\n var boundPercent = opt[prop];\n var boundValue = opt[prop + 'Value']; // Notice: dataZoom is based either on `percentProp` ('start', 'end') or\n // on `valueProp` ('startValue', 'endValue'). (They are based on the data extent\n // but not min/max of axis, which will be calculated by data window then).\n // The former one is suitable for cases that a dataZoom component controls multiple\n // axes with different unit or extent, and the latter one is suitable for accurate\n // zoom by pixel (e.g., in dataZoomSelect).\n // we use `getRangePropMode()` to mark which prop is used. `rangePropMode` is updated\n // only when setOption or dispatchAction, otherwise it remains its original value.\n // (Why not only record `percentProp` and always map to `valueProp`? Because\n // the map `valueProp` -> `percentProp` -> `valueProp` probably not the original\n // `valueProp`. consider two axes constrolled by one dataZoom. They have different\n // data extent. All of values that are overflow the `dataExtent` will be calculated\n // to percent '100%').\n\n if (rangePropMode[idx] === 'percent') {\n boundPercent == null && (boundPercent = percentExtent[idx]); // Use scale.parse to math round for category or time axis.\n\n boundValue = scale.parse(numberUtil.linearMap(boundPercent, percentExtent, dataExtent));\n } else {\n hasPropModeValue = true;\n boundValue = boundValue == null ? dataExtent[idx] : scale.parse(boundValue); // Calculating `percent` from `value` may be not accurate, because\n // This calculation can not be inversed, because all of values that\n // are overflow the `dataExtent` will be calculated to percent '100%'\n\n boundPercent = numberUtil.linearMap(boundValue, dataExtent, percentExtent);\n } // valueWindow[idx] = round(boundValue);\n // percentWindow[idx] = round(boundPercent);\n\n\n valueWindow[idx] = boundValue;\n percentWindow[idx] = boundPercent;\n });\n asc(valueWindow);\n asc(percentWindow); // The windows from user calling of `dispatchAction` might be out of the extent,\n // or do not obey the `min/maxSpan`, `min/maxValueSpan`. But we dont restrict window\n // by `zoomLock` here, because we see `zoomLock` just as a interaction constraint,\n // where API is able to initialize/modify the window size even though `zoomLock`\n // specified.\n\n var spans = this._minMaxSpan;\n hasPropModeValue ? restrictSet(valueWindow, percentWindow, dataExtent, percentExtent, false) : restrictSet(percentWindow, valueWindow, percentExtent, dataExtent, true);\n\n function restrictSet(fromWindow, toWindow, fromExtent, toExtent, toValue) {\n var suffix = toValue ? 'Span' : 'ValueSpan';\n sliderMove(0, fromWindow, fromExtent, 'all', spans['min' + suffix], spans['max' + suffix]);\n\n for (var i = 0; i < 2; i++) {\n toWindow[i] = numberUtil.linearMap(fromWindow[i], fromExtent, toExtent, true);\n toValue && (toWindow[i] = scale.parse(toWindow[i]));\n }\n }\n\n return {\n valueWindow: valueWindow,\n percentWindow: percentWindow\n };\n },\n\n /**\n * Notice: reset should not be called before series.restoreData() called,\n * so it is recommanded to be called in \"process stage\" but not \"model init\n * stage\".\n *\n * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel\n */\n reset: function (dataZoomModel) {\n if (dataZoomModel !== this._dataZoomModel) {\n return;\n }\n\n var targetSeries = this.getTargetSeriesModels(); // Culculate data window and data extent, and record them.\n\n this._dataExtent = calculateDataExtent(this, this._dimName, targetSeries); // this.hasSeriesStacked = false;\n // each(targetSeries, function (series) {\n // var data = series.getData();\n // var dataDim = data.mapDimension(this._dimName);\n // var stackedDimension = data.getCalculationInfo('stackedDimension');\n // if (stackedDimension && stackedDimension === dataDim) {\n // this.hasSeriesStacked = true;\n // }\n // }, this);\n // `calculateDataWindow` uses min/maxSpan.\n\n setMinMaxSpan(this);\n var dataWindow = this.calculateDataWindow(dataZoomModel.settledOption);\n this._valueWindow = dataWindow.valueWindow;\n this._percentWindow = dataWindow.percentWindow; // Update axis setting then.\n\n setAxisModel(this);\n },\n\n /**\n * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel\n */\n restore: function (dataZoomModel) {\n if (dataZoomModel !== this._dataZoomModel) {\n return;\n }\n\n this._valueWindow = this._percentWindow = null;\n setAxisModel(this, true);\n },\n\n /**\n * @param {module: echarts/component/dataZoom/DataZoomModel} dataZoomModel\n */\n filterData: function (dataZoomModel, api) {\n if (dataZoomModel !== this._dataZoomModel) {\n return;\n }\n\n var axisDim = this._dimName;\n var seriesModels = this.getTargetSeriesModels();\n var filterMode = dataZoomModel.get('filterMode');\n var valueWindow = this._valueWindow;\n\n if (filterMode === 'none') {\n return;\n } // FIXME\n // Toolbox may has dataZoom injected. And if there are stacked bar chart\n // with NaN data, NaN will be filtered and stack will be wrong.\n // So we need to force the mode to be set empty.\n // In fect, it is not a big deal that do not support filterMode-'filter'\n // when using toolbox#dataZoom, utill tooltip#dataZoom support \"single axis\n // selection\" some day, which might need \"adapt to data extent on the\n // otherAxis\", which is disabled by filterMode-'empty'.\n // But currently, stack has been fixed to based on value but not index,\n // so this is not an issue any more.\n // var otherAxisModel = this.getOtherAxisModel();\n // if (dataZoomModel.get('$fromToolbox')\n // && otherAxisModel\n // && otherAxisModel.hasSeriesStacked\n // ) {\n // filterMode = 'empty';\n // }\n // TODO\n // filterMode 'weakFilter' and 'empty' is not optimized for huge data yet.\n\n\n each(seriesModels, function (seriesModel) {\n var seriesData = seriesModel.getData();\n var dataDims = seriesData.mapDimension(axisDim, true);\n\n if (!dataDims.length) {\n return;\n }\n\n if (filterMode === 'weakFilter') {\n seriesData.filterSelf(function (dataIndex) {\n var leftOut;\n var rightOut;\n var hasValue;\n\n for (var i = 0; i < dataDims.length; i++) {\n var value = seriesData.get(dataDims[i], dataIndex);\n var thisHasValue = !isNaN(value);\n var thisLeftOut = value < valueWindow[0];\n var thisRightOut = value > valueWindow[1];\n\n if (thisHasValue && !thisLeftOut && !thisRightOut) {\n return true;\n }\n\n thisHasValue && (hasValue = true);\n thisLeftOut && (leftOut = true);\n thisRightOut && (rightOut = true);\n } // If both left out and right out, do not filter.\n\n\n return hasValue && leftOut && rightOut;\n });\n } else {\n each(dataDims, function (dim) {\n if (filterMode === 'empty') {\n seriesModel.setData(seriesData = seriesData.map(dim, function (value) {\n return !isInWindow(value) ? NaN : value;\n }));\n } else {\n var range = {};\n range[dim] = valueWindow; // console.time('select');\n\n seriesData.selectRange(range); // console.timeEnd('select');\n }\n });\n }\n\n each(dataDims, function (dim) {\n seriesData.setApproximateExtent(valueWindow, dim);\n });\n });\n\n function isInWindow(value) {\n return value >= valueWindow[0] && value <= valueWindow[1];\n }\n }\n};\n\nfunction calculateDataExtent(axisProxy, axisDim, seriesModels) {\n var dataExtent = [Infinity, -Infinity];\n each(seriesModels, function (seriesModel) {\n var seriesData = seriesModel.getData();\n\n if (seriesData) {\n each(seriesData.mapDimension(axisDim, true), function (dim) {\n var seriesExtent = seriesData.getApproximateExtent(dim);\n seriesExtent[0] < dataExtent[0] && (dataExtent[0] = seriesExtent[0]);\n seriesExtent[1] > dataExtent[1] && (dataExtent[1] = seriesExtent[1]);\n });\n }\n });\n\n if (dataExtent[1] < dataExtent[0]) {\n dataExtent = [NaN, NaN];\n } // It is important to get \"consistent\" extent when more then one axes is\n // controlled by a `dataZoom`, otherwise those axes will not be synchronized\n // when zooming. But it is difficult to know what is \"consistent\", considering\n // axes have different type or even different meanings (For example, two\n // time axes are used to compare data of the same date in different years).\n // So basically dataZoom just obtains extent by series.data (in category axis\n // extent can be obtained from axis.data).\n // Nevertheless, user can set min/max/scale on axes to make extent of axes\n // consistent.\n\n\n fixExtentByAxis(axisProxy, dataExtent);\n return dataExtent;\n}\n\nfunction fixExtentByAxis(axisProxy, dataExtent) {\n var axisModel = axisProxy.getAxisModel();\n var min = axisModel.getMin(true); // For category axis, if min/max/scale are not set, extent is determined\n // by axis.data by default.\n\n var isCategoryAxis = axisModel.get('type') === 'category';\n var axisDataLen = isCategoryAxis && axisModel.getCategories().length;\n\n if (min != null && min !== 'dataMin' && typeof min !== 'function') {\n dataExtent[0] = min;\n } else if (isCategoryAxis) {\n dataExtent[0] = axisDataLen > 0 ? 0 : NaN;\n }\n\n var max = axisModel.getMax(true);\n\n if (max != null && max !== 'dataMax' && typeof max !== 'function') {\n dataExtent[1] = max;\n } else if (isCategoryAxis) {\n dataExtent[1] = axisDataLen > 0 ? axisDataLen - 1 : NaN;\n }\n\n if (!axisModel.get('scale', true)) {\n dataExtent[0] > 0 && (dataExtent[0] = 0);\n dataExtent[1] < 0 && (dataExtent[1] = 0);\n } // For value axis, if min/max/scale are not set, we just use the extent obtained\n // by series data, which may be a little different from the extent calculated by\n // `axisHelper.getScaleExtent`. But the different just affects the experience a\n // little when zooming. So it will not be fixed until some users require it strongly.\n\n\n return dataExtent;\n}\n\nfunction setAxisModel(axisProxy, isRestore) {\n var axisModel = axisProxy.getAxisModel();\n var percentWindow = axisProxy._percentWindow;\n var valueWindow = axisProxy._valueWindow;\n\n if (!percentWindow) {\n return;\n } // [0, 500]: arbitrary value, guess axis extent.\n\n\n var precision = numberUtil.getPixelPrecision(valueWindow, [0, 500]);\n precision = Math.min(precision, 20); // isRestore or isFull\n\n var useOrigin = isRestore || percentWindow[0] === 0 && percentWindow[1] === 100;\n axisModel.setRange(useOrigin ? null : +valueWindow[0].toFixed(precision), useOrigin ? null : +valueWindow[1].toFixed(precision));\n}\n\nfunction setMinMaxSpan(axisProxy) {\n var minMaxSpan = axisProxy._minMaxSpan = {};\n var dataZoomModel = axisProxy._dataZoomModel;\n var dataExtent = axisProxy._dataExtent;\n each(['min', 'max'], function (minMax) {\n var percentSpan = dataZoomModel.get(minMax + 'Span');\n var valueSpan = dataZoomModel.get(minMax + 'ValueSpan');\n valueSpan != null && (valueSpan = axisProxy.getAxisModel().axis.scale.parse(valueSpan)); // minValueSpan and maxValueSpan has higher priority than minSpan and maxSpan\n\n if (valueSpan != null) {\n percentSpan = numberUtil.linearMap(dataExtent[0] + valueSpan, dataExtent, [0, 100], true);\n } else if (percentSpan != null) {\n valueSpan = numberUtil.linearMap(percentSpan, [0, 100], dataExtent, true) - dataExtent[0];\n }\n\n minMaxSpan[minMax + 'Span'] = percentSpan;\n minMaxSpan[minMax + 'ValueSpan'] = valueSpan;\n });\n}\n\nvar _default = AxisProxy;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.gaugeConfig = void 0;\nvar gaugeConfig = {\n /**\n * @description Whether to display this gauge\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Legend name\n * @type {String}\n * @default name = ''\n */\n name: '',\n\n /**\n * @description Radius of gauge\n * @type {String|Number}\n * @default radius = '60%'\n * @example radius = '60%' | 100\n */\n radius: '60%',\n\n /**\n * @description Center point of gauge\n * @type {Array}\n * @default center = ['50%','50%']\n * @example center = ['50%','50%'] | [100, 100]\n */\n center: ['50%', '50%'],\n\n /**\n * @description Gauge start angle\n * @type {Number}\n * @default startAngle = -(Math.PI / 4) * 5\n * @example startAngle = -Math.PI\n */\n startAngle: -(Math.PI / 4) * 5,\n\n /**\n * @description Gauge end angle\n * @type {Number}\n * @default endAngle = Math.PI / 4\n * @example endAngle = 0\n */\n endAngle: Math.PI / 4,\n\n /**\n * @description Gauge min value\n * @type {Number}\n * @default min = 0\n */\n min: 0,\n\n /**\n * @description Gauge max value\n * @type {Number}\n * @default max = 100\n */\n max: 100,\n\n /**\n * @description Gauge split number\n * @type {Number}\n * @default splitNum = 5\n */\n splitNum: 5,\n\n /**\n * @description Gauge arc line width\n * @type {Number}\n * @default arcLineWidth = 15\n */\n arcLineWidth: 15,\n\n /**\n * @description Gauge chart data\n * @type {Array}\n * @default data = []\n */\n data: [],\n\n /**\n * @description Data item arc default style configuration\n * @type {Object}\n * @default dataItemStyle = {Configuration Of Class Style}\n */\n dataItemStyle: {},\n\n /**\n * @description Axis tick configuration\n * @type {Object}\n */\n axisTick: {\n /**\n * @description Whether to display axis tick\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis tick length\n * @type {Number}\n * @default tickLength = 6\n */\n tickLength: 6,\n\n /**\n * @description Axis tick default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#999',\n lineWidth: 1\n }\n },\n\n /**\n * @description Axis label configuration\n * @type {Object}\n */\n axisLabel: {\n /**\n * @description Whether to display axis label\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Axis label data (Can be calculated automatically)\n * @type {Array}\n * @default data = [Number...]\n */\n data: [],\n\n /**\n * @description Axis label formatter\n * @type {String|Function}\n * @default formatter = null\n * @example formatter = '{value}%'\n * @example formatter = (labelItem) => (labelItem.value)\n */\n formatter: null,\n\n /**\n * @description Axis label gap between label and axis tick\n * @type {String|Function}\n * @default labelGap = 5\n */\n labelGap: 5,\n\n /**\n * @description Axis label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {}\n },\n\n /**\n * @description Gauge pointer configuration\n * @type {Object}\n */\n pointer: {\n /**\n * @description Whether to display pointer\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Pointer value index of data\n * @type {Number}\n * @default valueIndex = 0 (pointer.value = data[0].value)\n */\n valueIndex: 0,\n\n /**\n * @description Pointer default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n scale: [1, 1],\n fill: '#fb7293'\n }\n },\n\n /**\n * @description Data item arc detail configuration\n * @type {Object}\n */\n details: {\n /**\n * @description Whether to display details\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Details formatter\n * @type {String|Function}\n * @default formatter = null\n * @example formatter = '{value}%'\n * @example formatter = '{name}%'\n * @example formatter = (dataItem) => (dataItem.value)\n */\n formatter: null,\n\n /**\n * @description Details position offset\n * @type {Array}\n * @default offset = [0, 0]\n * @example offset = [10, 10]\n */\n offset: [0, 0],\n\n /**\n * @description Value fractional precision\n * @type {Number}\n * @default valueToFixed = 0\n */\n valueToFixed: 0,\n\n /**\n * @description Details position\n * @type {String}\n * @default position = 'center'\n * @example position = 'start' | 'center' | 'end'\n */\n position: 'center',\n\n /**\n * @description Details default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fontSize: 20,\n fontWeight: 'bold',\n textAlign: 'center',\n textBaseline: 'middle'\n }\n },\n\n /**\n * @description Gauge background arc configuration\n * @type {Object}\n */\n backgroundArc: {\n /**\n * @description Whether to display background arc\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Background arc default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n stroke: '#e0e0e0'\n }\n },\n\n /**\n * @description Gauge chart render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = 10\n */\n rLevel: 10,\n\n /**\n * @description Gauge animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description Gauge animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrame: 50\n};\nexports.gaugeConfig = gaugeConfig;","exports.f = require('./_wks');\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @return {string} If large mode changed, return string 'reset';\n */\nfunction _default() {\n var inner = makeInner();\n return function (seriesModel) {\n var fields = inner(seriesModel);\n var pipelineContext = seriesModel.pipelineContext;\n var originalLarge = fields.large;\n var originalProgressive = fields.progressiveRender; // FIXME: if the planner works on a filtered series, `pipelineContext` does not\n // exists. See #11611 . Probably we need to modify this structure, see the comment\n // on `performRawSeries` in `Schedular.js`.\n\n var large = fields.large = pipelineContext && pipelineContext.large;\n var progressive = fields.progressiveRender = pipelineContext && pipelineContext.progressiveRender;\n return !!(originalLarge ^ large || originalProgressive ^ progressive) && 'reset';\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./gridSimple\");\n\nrequire(\"./axisPointer/CartesianAxisPointer\");\n\nrequire(\"./axisPointer\");","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Model = require(\"../../model/Model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar curry = zrUtil.curry; // Build axisPointerModel, mergin tooltip.axisPointer model for each axis.\n// allAxesInfo should be updated when setOption performed.\n\nfunction collect(ecModel, api) {\n var result = {\n /**\n * key: makeKey(axis.model)\n * value: {\n * axis,\n * coordSys,\n * axisPointerModel,\n * triggerTooltip,\n * involveSeries,\n * snap,\n * seriesModels,\n * seriesDataCount\n * }\n */\n axesInfo: {},\n seriesInvolved: false,\n\n /**\n * key: makeKey(coordSys.model)\n * value: Object: key makeKey(axis.model), value: axisInfo\n */\n coordSysAxesInfo: {},\n coordSysMap: {}\n };\n collectAxesInfo(result, ecModel, api); // Check seriesInvolved for performance, in case too many series in some chart.\n\n result.seriesInvolved && collectSeriesInfo(result, ecModel);\n return result;\n}\n\nfunction collectAxesInfo(result, ecModel, api) {\n var globalTooltipModel = ecModel.getComponent('tooltip');\n var globalAxisPointerModel = ecModel.getComponent('axisPointer'); // links can only be set on global.\n\n var linksOption = globalAxisPointerModel.get('link', true) || [];\n var linkGroups = []; // Collect axes info.\n\n each(api.getCoordinateSystems(), function (coordSys) {\n // Some coordinate system do not support axes, like geo.\n if (!coordSys.axisPointerEnabled) {\n return;\n }\n\n var coordSysKey = makeKey(coordSys.model);\n var axesInfoInCoordSys = result.coordSysAxesInfo[coordSysKey] = {};\n result.coordSysMap[coordSysKey] = coordSys; // Set tooltip (like 'cross') is a convienent way to show axisPointer\n // for user. So we enable seting tooltip on coordSys model.\n\n var coordSysModel = coordSys.model;\n var baseTooltipModel = coordSysModel.getModel('tooltip', globalTooltipModel);\n each(coordSys.getAxes(), curry(saveTooltipAxisInfo, false, null)); // If axis tooltip used, choose tooltip axis for each coordSys.\n // Notice this case: coordSys is `grid` but not `cartesian2D` here.\n\n if (coordSys.getTooltipAxes && globalTooltipModel // If tooltip.showContent is set as false, tooltip will not\n // show but axisPointer will show as normal.\n && baseTooltipModel.get('show')) {\n // Compatible with previous logic. But series.tooltip.trigger: 'axis'\n // or series.data[n].tooltip.trigger: 'axis' are not support any more.\n var triggerAxis = baseTooltipModel.get('trigger') === 'axis';\n var cross = baseTooltipModel.get('axisPointer.type') === 'cross';\n var tooltipAxes = coordSys.getTooltipAxes(baseTooltipModel.get('axisPointer.axis'));\n\n if (triggerAxis || cross) {\n each(tooltipAxes.baseAxes, curry(saveTooltipAxisInfo, cross ? 'cross' : true, triggerAxis));\n }\n\n if (cross) {\n each(tooltipAxes.otherAxes, curry(saveTooltipAxisInfo, 'cross', false));\n }\n } // fromTooltip: true | false | 'cross'\n // triggerTooltip: true | false | null\n\n\n function saveTooltipAxisInfo(fromTooltip, triggerTooltip, axis) {\n var axisPointerModel = axis.model.getModel('axisPointer', globalAxisPointerModel);\n var axisPointerShow = axisPointerModel.get('show');\n\n if (!axisPointerShow || axisPointerShow === 'auto' && !fromTooltip && !isHandleTrigger(axisPointerModel)) {\n return;\n }\n\n if (triggerTooltip == null) {\n triggerTooltip = axisPointerModel.get('triggerTooltip');\n }\n\n axisPointerModel = fromTooltip ? makeAxisPointerModel(axis, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) : axisPointerModel;\n var snap = axisPointerModel.get('snap');\n var key = makeKey(axis.model);\n var involveSeries = triggerTooltip || snap || axis.type === 'category'; // If result.axesInfo[key] exist, override it (tooltip has higher priority).\n\n var axisInfo = result.axesInfo[key] = {\n key: key,\n axis: axis,\n coordSys: coordSys,\n axisPointerModel: axisPointerModel,\n triggerTooltip: triggerTooltip,\n involveSeries: involveSeries,\n snap: snap,\n useHandle: isHandleTrigger(axisPointerModel),\n seriesModels: []\n };\n axesInfoInCoordSys[key] = axisInfo;\n result.seriesInvolved |= involveSeries;\n var groupIndex = getLinkGroupIndex(linksOption, axis);\n\n if (groupIndex != null) {\n var linkGroup = linkGroups[groupIndex] || (linkGroups[groupIndex] = {\n axesInfo: {}\n });\n linkGroup.axesInfo[key] = axisInfo;\n linkGroup.mapper = linksOption[groupIndex].mapper;\n axisInfo.linkGroup = linkGroup;\n }\n }\n });\n}\n\nfunction makeAxisPointerModel(axis, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) {\n var tooltipAxisPointerModel = baseTooltipModel.getModel('axisPointer');\n var volatileOption = {};\n each(['type', 'snap', 'lineStyle', 'shadowStyle', 'label', 'animation', 'animationDurationUpdate', 'animationEasingUpdate', 'z'], function (field) {\n volatileOption[field] = zrUtil.clone(tooltipAxisPointerModel.get(field));\n }); // category axis do not auto snap, otherwise some tick that do not\n // has value can not be hovered. value/time/log axis default snap if\n // triggered from tooltip and trigger tooltip.\n\n volatileOption.snap = axis.type !== 'category' && !!triggerTooltip; // Compatibel with previous behavior, tooltip axis do not show label by default.\n // Only these properties can be overrided from tooltip to axisPointer.\n\n if (tooltipAxisPointerModel.get('type') === 'cross') {\n volatileOption.type = 'line';\n }\n\n var labelOption = volatileOption.label || (volatileOption.label = {}); // Follow the convention, do not show label when triggered by tooltip by default.\n\n labelOption.show == null && (labelOption.show = false);\n\n if (fromTooltip === 'cross') {\n // When 'cross', both axes show labels.\n var tooltipAxisPointerLabelShow = tooltipAxisPointerModel.get('label.show');\n labelOption.show = tooltipAxisPointerLabelShow != null ? tooltipAxisPointerLabelShow : true; // If triggerTooltip, this is a base axis, which should better not use cross style\n // (cross style is dashed by default)\n\n if (!triggerTooltip) {\n var crossStyle = volatileOption.lineStyle = tooltipAxisPointerModel.get('crossStyle');\n crossStyle && zrUtil.defaults(labelOption, crossStyle.textStyle);\n }\n }\n\n return axis.model.getModel('axisPointer', new Model(volatileOption, globalAxisPointerModel, ecModel));\n}\n\nfunction collectSeriesInfo(result, ecModel) {\n // Prepare data for axis trigger\n ecModel.eachSeries(function (seriesModel) {\n // Notice this case: this coordSys is `cartesian2D` but not `grid`.\n var coordSys = seriesModel.coordinateSystem;\n var seriesTooltipTrigger = seriesModel.get('tooltip.trigger', true);\n var seriesTooltipShow = seriesModel.get('tooltip.show', true);\n\n if (!coordSys || seriesTooltipTrigger === 'none' || seriesTooltipTrigger === false || seriesTooltipTrigger === 'item' || seriesTooltipShow === false || seriesModel.get('axisPointer.show', true) === false) {\n return;\n }\n\n each(result.coordSysAxesInfo[makeKey(coordSys.model)], function (axisInfo) {\n var axis = axisInfo.axis;\n\n if (coordSys.getAxis(axis.dim) === axis) {\n axisInfo.seriesModels.push(seriesModel);\n axisInfo.seriesDataCount == null && (axisInfo.seriesDataCount = 0);\n axisInfo.seriesDataCount += seriesModel.getData().count();\n }\n });\n }, this);\n}\n/**\n * For example:\n * {\n * axisPointer: {\n * links: [{\n * xAxisIndex: [2, 4],\n * yAxisIndex: 'all'\n * }, {\n * xAxisId: ['a5', 'a7'],\n * xAxisName: 'xxx'\n * }]\n * }\n * }\n */\n\n\nfunction getLinkGroupIndex(linksOption, axis) {\n var axisModel = axis.model;\n var dim = axis.dim;\n\n for (var i = 0; i < linksOption.length; i++) {\n var linkOption = linksOption[i] || {};\n\n if (checkPropInLink(linkOption[dim + 'AxisId'], axisModel.id) || checkPropInLink(linkOption[dim + 'AxisIndex'], axisModel.componentIndex) || checkPropInLink(linkOption[dim + 'AxisName'], axisModel.name)) {\n return i;\n }\n }\n}\n\nfunction checkPropInLink(linkPropValue, axisPropValue) {\n return linkPropValue === 'all' || zrUtil.isArray(linkPropValue) && zrUtil.indexOf(linkPropValue, axisPropValue) >= 0 || linkPropValue === axisPropValue;\n}\n\nfunction fixValue(axisModel) {\n var axisInfo = getAxisInfo(axisModel);\n\n if (!axisInfo) {\n return;\n }\n\n var axisPointerModel = axisInfo.axisPointerModel;\n var scale = axisInfo.axis.scale;\n var option = axisPointerModel.option;\n var status = axisPointerModel.get('status');\n var value = axisPointerModel.get('value'); // Parse init value for category and time axis.\n\n if (value != null) {\n value = scale.parse(value);\n }\n\n var useHandle = isHandleTrigger(axisPointerModel); // If `handle` used, `axisPointer` will always be displayed, so value\n // and status should be initialized.\n\n if (status == null) {\n option.status = useHandle ? 'show' : 'hide';\n }\n\n var extent = scale.getExtent().slice();\n extent[0] > extent[1] && extent.reverse();\n\n if ( // Pick a value on axis when initializing.\n value == null // If both `handle` and `dataZoom` are used, value may be out of axis extent,\n // where we should re-pick a value to keep `handle` displaying normally.\n || value > extent[1]) {\n // Make handle displayed on the end of the axis when init, which looks better.\n value = extent[1];\n }\n\n if (value < extent[0]) {\n value = extent[0];\n }\n\n option.value = value;\n\n if (useHandle) {\n option.status = axisInfo.axis.scale.isBlank() ? 'hide' : 'show';\n }\n}\n\nfunction getAxisInfo(axisModel) {\n var coordSysAxesInfo = (axisModel.ecModel.getComponent('axisPointer') || {}).coordSysAxesInfo;\n return coordSysAxesInfo && coordSysAxesInfo.axesInfo[makeKey(axisModel)];\n}\n\nfunction getAxisPointerModel(axisModel) {\n var axisInfo = getAxisInfo(axisModel);\n return axisInfo && axisInfo.axisPointerModel;\n}\n\nfunction isHandleTrigger(axisPointerModel) {\n return !!axisPointerModel.get('handle.show');\n}\n/**\n * @param {module:echarts/model/Model} model\n * @return {string} unique key\n */\n\n\nfunction makeKey(model) {\n return model.type + '||' + model.id;\n}\n\nexports.collect = collect;\nexports.fixValue = fixValue;\nexports.getAxisInfo = getAxisInfo;\nexports.getAxisPointerModel = getAxisPointerModel;\nexports.makeKey = makeKey;","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Uint8ClampedArray */\nvar GRADIENT_LEVELS = 256;\n/**\n * Heatmap Chart\n *\n * @class\n */\n\nfunction Heatmap() {\n var canvas = zrUtil.createCanvas();\n this.canvas = canvas;\n this.blurSize = 30;\n this.pointSize = 20;\n this.maxOpacity = 1;\n this.minOpacity = 0;\n this._gradientPixels = {};\n}\n\nHeatmap.prototype = {\n /**\n * Renders Heatmap and returns the rendered canvas\n * @param {Array} data array of data, each has x, y, value\n * @param {number} width canvas width\n * @param {number} height canvas height\n */\n update: function (data, width, height, normalize, colorFunc, isInRange) {\n var brush = this._getBrush();\n\n var gradientInRange = this._getGradient(data, colorFunc, 'inRange');\n\n var gradientOutOfRange = this._getGradient(data, colorFunc, 'outOfRange');\n\n var r = this.pointSize + this.blurSize;\n var canvas = this.canvas;\n var ctx = canvas.getContext('2d');\n var len = data.length;\n canvas.width = width;\n canvas.height = height;\n\n for (var i = 0; i < len; ++i) {\n var p = data[i];\n var x = p[0];\n var y = p[1];\n var value = p[2]; // calculate alpha using value\n\n var alpha = normalize(value); // draw with the circle brush with alpha\n\n ctx.globalAlpha = alpha;\n ctx.drawImage(brush, x - r, y - r);\n }\n\n if (!canvas.width || !canvas.height) {\n // Avoid \"Uncaught DOMException: Failed to execute 'getImageData' on\n // 'CanvasRenderingContext2D': The source height is 0.\"\n return canvas;\n } // colorize the canvas using alpha value and set with gradient\n\n\n var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);\n var pixels = imageData.data;\n var offset = 0;\n var pixelLen = pixels.length;\n var minOpacity = this.minOpacity;\n var maxOpacity = this.maxOpacity;\n var diffOpacity = maxOpacity - minOpacity;\n\n while (offset < pixelLen) {\n var alpha = pixels[offset + 3] / 256;\n var gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS - 1)) * 4; // Simple optimize to ignore the empty data\n\n if (alpha > 0) {\n var gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange; // Any alpha > 0 will be mapped to [minOpacity, maxOpacity]\n\n alpha > 0 && (alpha = alpha * diffOpacity + minOpacity);\n pixels[offset++] = gradient[gradientOffset];\n pixels[offset++] = gradient[gradientOffset + 1];\n pixels[offset++] = gradient[gradientOffset + 2];\n pixels[offset++] = gradient[gradientOffset + 3] * alpha * 256;\n } else {\n offset += 4;\n }\n }\n\n ctx.putImageData(imageData, 0, 0);\n return canvas;\n },\n\n /**\n * get canvas of a black circle brush used for canvas to draw later\n * @private\n * @returns {Object} circle brush canvas\n */\n _getBrush: function () {\n var brushCanvas = this._brushCanvas || (this._brushCanvas = zrUtil.createCanvas()); // set brush size\n\n var r = this.pointSize + this.blurSize;\n var d = r * 2;\n brushCanvas.width = d;\n brushCanvas.height = d;\n var ctx = brushCanvas.getContext('2d');\n ctx.clearRect(0, 0, d, d); // in order to render shadow without the distinct circle,\n // draw the distinct circle in an invisible place,\n // and use shadowOffset to draw shadow in the center of the canvas\n\n ctx.shadowOffsetX = d;\n ctx.shadowBlur = this.blurSize; // draw the shadow in black, and use alpha and shadow blur to generate\n // color in color map\n\n ctx.shadowColor = '#000'; // draw circle in the left to the canvas\n\n ctx.beginPath();\n ctx.arc(-r, r, this.pointSize, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n return brushCanvas;\n },\n\n /**\n * get gradient color map\n * @private\n */\n _getGradient: function (data, colorFunc, state) {\n var gradientPixels = this._gradientPixels;\n var pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));\n var color = [0, 0, 0, 0];\n var off = 0;\n\n for (var i = 0; i < 256; i++) {\n colorFunc[state](i / 255, true, color);\n pixelsSingleState[off++] = color[0];\n pixelsSingleState[off++] = color[1];\n pixelsSingleState[off++] = color[2];\n pixelsSingleState[off++] = color[3];\n }\n\n return pixelsSingleState;\n }\n};\nvar _default = Heatmap;\nmodule.exports = _default;","var _event = require(\"../core/event\");\n\nvar addEventListener = _event.addEventListener;\nvar removeEventListener = _event.removeEventListener;\nvar normalizeEvent = _event.normalizeEvent;\nvar getNativeEvent = _event.getNativeEvent;\n\nvar zrUtil = require(\"../core/util\");\n\nvar Eventful = require(\"../mixin/Eventful\");\n\nvar env = require(\"../core/env\");\n\n/* global document */\nvar TOUCH_CLICK_DELAY = 300;\nvar globalEventSupported = env.domSupported;\n\nvar localNativeListenerNames = function () {\n var mouseHandlerNames = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'];\n var touchHandlerNames = ['touchstart', 'touchend', 'touchmove'];\n var pointerEventNameMap = {\n pointerdown: 1,\n pointerup: 1,\n pointermove: 1,\n pointerout: 1\n };\n var pointerHandlerNames = zrUtil.map(mouseHandlerNames, function (name) {\n var nm = name.replace('mouse', 'pointer');\n return pointerEventNameMap.hasOwnProperty(nm) ? nm : name;\n });\n return {\n mouse: mouseHandlerNames,\n touch: touchHandlerNames,\n pointer: pointerHandlerNames\n };\n}();\n\nvar globalNativeListenerNames = {\n mouse: ['mousemove', 'mouseup'],\n pointer: ['pointermove', 'pointerup']\n};\n\nfunction eventNameFix(name) {\n return name === 'mousewheel' && env.browser.firefox ? 'DOMMouseScroll' : name;\n}\n\nfunction isPointerFromTouch(event) {\n var pointerType = event.pointerType;\n return pointerType === 'pen' || pointerType === 'touch';\n} // function useMSGuesture(handlerProxy, event) {\n// return isPointerFromTouch(event) && !!handlerProxy._msGesture;\n// }\n// function onMSGestureChange(proxy, event) {\n// if (event.translationX || event.translationY) {\n// // mousemove is carried by MSGesture to reduce the sensitivity.\n// proxy.handler.dispatchToElement(event.target, 'mousemove', event);\n// }\n// if (event.scale !== 1) {\n// event.pinchX = event.offsetX;\n// event.pinchY = event.offsetY;\n// event.pinchScale = event.scale;\n// proxy.handler.dispatchToElement(event.target, 'pinch', event);\n// }\n// }\n\n/**\n * Prevent mouse event from being dispatched after Touch Events action\n * @see \n * 1. Mobile browsers dispatch mouse events 300ms after touchend.\n * 2. Chrome for Android dispatch mousedown for long-touch about 650ms\n * Result: Blocking Mouse Events for 700ms.\n *\n * @param {DOMHandlerScope} scope\n */\n\n\nfunction setTouchTimer(scope) {\n scope.touching = true;\n\n if (scope.touchTimer != null) {\n clearTimeout(scope.touchTimer);\n scope.touchTimer = null;\n }\n\n scope.touchTimer = setTimeout(function () {\n scope.touching = false;\n scope.touchTimer = null;\n }, 700);\n} // Mark touch, which is useful in distinguish touch and\n// mouse event in upper applicatoin.\n\n\nfunction markTouch(event) {\n event && (event.zrByTouch = true);\n} // function markTriggeredFromLocal(event) {\n// event && (event.__zrIsFromLocal = true);\n// }\n// function isTriggeredFromLocal(instance, event) {\n// return !!(event && event.__zrIsFromLocal);\n// }\n\n\nfunction normalizeGlobalEvent(instance, event) {\n // offsetX, offsetY still need to be calculated. They are necessary in the event\n // handlers of the upper applications. Set `true` to force calculate them.\n return normalizeEvent(instance.dom, new FakeGlobalEvent(instance, event), true);\n}\n/**\n * Detect whether the given el is in `painterRoot`.\n */\n\n\nfunction isLocalEl(instance, el) {\n var elTmp = el;\n var isLocal = false;\n\n while (elTmp && elTmp.nodeType !== 9 && !(isLocal = elTmp.domBelongToZr || elTmp !== el && elTmp === instance.painterRoot)) {\n elTmp = elTmp.parentNode;\n }\n\n return isLocal;\n}\n/**\n * Make a fake event but not change the original event,\n * becuase the global event probably be used by other\n * listeners not belonging to zrender.\n * @class\n */\n\n\nfunction FakeGlobalEvent(instance, event) {\n this.type = event.type;\n this.target = this.currentTarget = instance.dom;\n this.pointerType = event.pointerType; // Necessray for the force calculation of zrX, zrY\n\n this.clientX = event.clientX;\n this.clientY = event.clientY; // Because we do not mount global listeners to touch events,\n // we do not copy `targetTouches` and `changedTouches` here.\n}\n\nvar fakeGlobalEventProto = FakeGlobalEvent.prototype; // we make the default methods on the event do nothing,\n// otherwise it is dangerous. See more details in\n// [Drag outside] in `Handler.js`.\n\nfakeGlobalEventProto.stopPropagation = fakeGlobalEventProto.stopImmediatePropagation = fakeGlobalEventProto.preventDefault = zrUtil.noop;\n/**\n * Local DOM Handlers\n * @this {HandlerProxy}\n */\n\nvar localDOMHandlers = {\n mousedown: function (event) {\n event = normalizeEvent(this.dom, event);\n this._mayPointerCapture = [event.zrX, event.zrY];\n this.trigger('mousedown', event);\n },\n mousemove: function (event) {\n event = normalizeEvent(this.dom, event);\n var downPoint = this._mayPointerCapture;\n\n if (downPoint && (event.zrX !== downPoint[0] || event.zrY !== downPoint[1])) {\n togglePointerCapture(this, true);\n }\n\n this.trigger('mousemove', event);\n },\n mouseup: function (event) {\n event = normalizeEvent(this.dom, event);\n togglePointerCapture(this, false);\n this.trigger('mouseup', event);\n },\n mouseout: function (event) {\n event = normalizeEvent(this.dom, event); // Similarly to the browser did on `document` and touch event,\n // `globalout` will be delayed to final pointer cature release.\n\n if (this._pointerCapturing) {\n event.zrEventControl = 'no_globalout';\n } // There might be some doms created by upper layer application\n // at the same level of painter.getViewportRoot() (e.g., tooltip\n // dom created by echarts), where 'globalout' event should not\n // be triggered when mouse enters these doms. (But 'mouseout'\n // should be triggered at the original hovered element as usual).\n\n\n var element = event.toElement || event.relatedTarget;\n event.zrIsToLocalDOM = isLocalEl(this, element);\n this.trigger('mouseout', event);\n },\n touchstart: function (event) {\n // Default mouse behaviour should not be disabled here.\n // For example, page may needs to be slided.\n event = normalizeEvent(this.dom, event);\n markTouch(event);\n this._lastTouchMoment = new Date();\n this.handler.processGesture(event, 'start'); // For consistent event listener for both touch device and mouse device,\n // we simulate \"mouseover-->mousedown\" in touch device. So we trigger\n // `mousemove` here (to trigger `mouseover` inside), and then trigger\n // `mousedown`.\n\n localDOMHandlers.mousemove.call(this, event);\n localDOMHandlers.mousedown.call(this, event);\n },\n touchmove: function (event) {\n event = normalizeEvent(this.dom, event);\n markTouch(event);\n this.handler.processGesture(event, 'change'); // Mouse move should always be triggered no matter whether\n // there is gestrue event, because mouse move and pinch may\n // be used at the same time.\n\n localDOMHandlers.mousemove.call(this, event);\n },\n touchend: function (event) {\n event = normalizeEvent(this.dom, event);\n markTouch(event);\n this.handler.processGesture(event, 'end');\n localDOMHandlers.mouseup.call(this, event); // Do not trigger `mouseout` here, in spite of `mousemove`(`mouseover`) is\n // triggered in `touchstart`. This seems to be illogical, but by this mechanism,\n // we can conveniently implement \"hover style\" in both PC and touch device just\n // by listening to `mouseover` to add \"hover style\" and listening to `mouseout`\n // to remove \"hover style\" on an element, without any additional code for\n // compatibility. (`mouseout` will not be triggered in `touchend`, so \"hover\n // style\" will remain for user view)\n // click event should always be triggered no matter whether\n // there is gestrue event. System click can not be prevented.\n\n if (+new Date() - this._lastTouchMoment < TOUCH_CLICK_DELAY) {\n localDOMHandlers.click.call(this, event);\n }\n },\n pointerdown: function (event) {\n localDOMHandlers.mousedown.call(this, event); // if (useMSGuesture(this, event)) {\n // this._msGesture.addPointer(event.pointerId);\n // }\n },\n pointermove: function (event) {\n // FIXME\n // pointermove is so sensitive that it always triggered when\n // tap(click) on touch screen, which affect some judgement in\n // upper application. So, we dont support mousemove on MS touch\n // device yet.\n if (!isPointerFromTouch(event)) {\n localDOMHandlers.mousemove.call(this, event);\n }\n },\n pointerup: function (event) {\n localDOMHandlers.mouseup.call(this, event);\n },\n pointerout: function (event) {\n // pointerout will be triggered when tap on touch screen\n // (IE11+/Edge on MS Surface) after click event triggered,\n // which is inconsistent with the mousout behavior we defined\n // in touchend. So we unify them.\n // (check localDOMHandlers.touchend for detailed explanation)\n if (!isPointerFromTouch(event)) {\n localDOMHandlers.mouseout.call(this, event);\n }\n }\n};\n/**\n * Othere DOM UI Event handlers for zr dom.\n * @this {HandlerProxy}\n */\n\nzrUtil.each(['click', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {\n localDOMHandlers[name] = function (event) {\n event = normalizeEvent(this.dom, event);\n this.trigger(name, event);\n };\n});\n/**\n * DOM UI Event handlers for global page.\n *\n * [Caution]:\n * those handlers should both support in capture phase and bubble phase!\n *\n * @this {HandlerProxy}\n */\n\nvar globalDOMHandlers = {\n pointermove: function (event) {\n // FIXME\n // pointermove is so sensitive that it always triggered when\n // tap(click) on touch screen, which affect some judgement in\n // upper application. So, we dont support mousemove on MS touch\n // device yet.\n if (!isPointerFromTouch(event)) {\n globalDOMHandlers.mousemove.call(this, event);\n }\n },\n pointerup: function (event) {\n globalDOMHandlers.mouseup.call(this, event);\n },\n mousemove: function (event) {\n this.trigger('mousemove', event);\n },\n mouseup: function (event) {\n var pointerCaptureReleasing = this._pointerCapturing;\n togglePointerCapture(this, false);\n this.trigger('mouseup', event);\n\n if (pointerCaptureReleasing) {\n event.zrEventControl = 'only_globalout';\n this.trigger('mouseout', event);\n }\n }\n};\n/**\n * @param {HandlerProxy} instance\n * @param {DOMHandlerScope} scope\n */\n\nfunction mountLocalDOMEventListeners(instance, scope) {\n var domHandlers = scope.domHandlers;\n\n if (env.pointerEventsSupported) {\n // Only IE11+/Edge\n // 1. On devices that both enable touch and mouse (e.g., MS Surface and lenovo X240),\n // IE11+/Edge do not trigger touch event, but trigger pointer event and mouse event\n // at the same time.\n // 2. On MS Surface, it probablely only trigger mousedown but no mouseup when tap on\n // screen, which do not occurs in pointer event.\n // So we use pointer event to both detect touch gesture and mouse behavior.\n zrUtil.each(localNativeListenerNames.pointer, function (nativeEventName) {\n mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n // markTriggeredFromLocal(event);\n domHandlers[nativeEventName].call(instance, event);\n });\n }); // FIXME\n // Note: MS Gesture require CSS touch-action set. But touch-action is not reliable,\n // which does not prevent defuault behavior occasionally (which may cause view port\n // zoomed in but use can not zoom it back). And event.preventDefault() does not work.\n // So we have to not to use MSGesture and not to support touchmove and pinch on MS\n // touch screen. And we only support click behavior on MS touch screen now.\n // MS Gesture Event is only supported on IE11+/Edge and on Windows 8+.\n // We dont support touch on IE on win7.\n // See \n // if (typeof MSGesture === 'function') {\n // (this._msGesture = new MSGesture()).target = dom; // jshint ignore:line\n // dom.addEventListener('MSGestureChange', onMSGestureChange);\n // }\n } else {\n if (env.touchEventsSupported) {\n zrUtil.each(localNativeListenerNames.touch, function (nativeEventName) {\n mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n // markTriggeredFromLocal(event);\n domHandlers[nativeEventName].call(instance, event);\n setTouchTimer(scope);\n });\n }); // Handler of 'mouseout' event is needed in touch mode, which will be mounted below.\n // addEventListener(root, 'mouseout', this._mouseoutHandler);\n } // 1. Considering some devices that both enable touch and mouse event (like on MS Surface\n // and lenovo X240, @see #2350), we make mouse event be always listened, otherwise\n // mouse event can not be handle in those devices.\n // 2. On MS Surface, Chrome will trigger both touch event and mouse event. How to prevent\n // mouseevent after touch event triggered, see `setTouchTimer`.\n\n\n zrUtil.each(localNativeListenerNames.mouse, function (nativeEventName) {\n mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n event = getNativeEvent(event);\n\n if (!scope.touching) {\n // markTriggeredFromLocal(event);\n domHandlers[nativeEventName].call(instance, event);\n }\n });\n });\n }\n}\n/**\n * @param {HandlerProxy} instance\n * @param {DOMHandlerScope} scope\n */\n\n\nfunction mountGlobalDOMEventListeners(instance, scope) {\n // Only IE11+/Edge. See the comment in `mountLocalDOMEventListeners`.\n if (env.pointerEventsSupported) {\n zrUtil.each(globalNativeListenerNames.pointer, mount);\n } // Touch event has implemented \"drag outside\" so we do not mount global listener for touch event.\n // (see https://www.w3.org/TR/touch-events/#the-touchmove-event)\n // We do not consider \"both-support-touch-and-mouse device\" for this feature (see the comment of\n // `mountLocalDOMEventListeners`) to avoid bugs util some requirements come.\n else if (!env.touchEventsSupported) {\n zrUtil.each(globalNativeListenerNames.mouse, mount);\n }\n\n function mount(nativeEventName) {\n function nativeEventListener(event) {\n event = getNativeEvent(event); // See the reason in [Drag outside] in `Handler.js`\n // This checking supports both `useCapture` or not.\n // PENDING: if there is performance issue in some devices,\n // we probably can not use `useCapture` and change a easier\n // to judes whether local (mark).\n\n if (!isLocalEl(instance, event.target)) {\n event = normalizeGlobalEvent(instance, event);\n scope.domHandlers[nativeEventName].call(instance, event);\n }\n }\n\n mountSingleDOMEventListener(scope, nativeEventName, nativeEventListener, {\n capture: true\n } // See [Drag Outside] in `Handler.js`\n );\n }\n}\n\nfunction mountSingleDOMEventListener(scope, nativeEventName, listener, opt) {\n scope.mounted[nativeEventName] = listener;\n scope.listenerOpts[nativeEventName] = opt;\n addEventListener(scope.domTarget, eventNameFix(nativeEventName), listener, opt);\n}\n\nfunction unmountDOMEventListeners(scope) {\n var mounted = scope.mounted;\n\n for (var nativeEventName in mounted) {\n if (mounted.hasOwnProperty(nativeEventName)) {\n removeEventListener(scope.domTarget, eventNameFix(nativeEventName), mounted[nativeEventName], scope.listenerOpts[nativeEventName]);\n }\n }\n\n scope.mounted = {};\n}\n/**\n * See [Drag Outside] in `Handler.js`.\n * @implement\n * @param {boolean} isPointerCapturing Should never be `null`/`undefined`.\n * `true`: start to capture pointer if it is not capturing.\n * `false`: end the capture if it is capturing.\n */\n\n\nfunction togglePointerCapture(instance, isPointerCapturing) {\n instance._mayPointerCapture = null;\n\n if (globalEventSupported && instance._pointerCapturing ^ isPointerCapturing) {\n instance._pointerCapturing = isPointerCapturing;\n var globalHandlerScope = instance._globalHandlerScope;\n isPointerCapturing ? mountGlobalDOMEventListeners(instance, globalHandlerScope) : unmountDOMEventListeners(globalHandlerScope);\n }\n}\n/**\n * @inner\n * @class\n */\n\n\nfunction DOMHandlerScope(domTarget, domHandlers) {\n this.domTarget = domTarget;\n this.domHandlers = domHandlers; // Key: eventName, value: mounted handler funcitons.\n // Used for unmount.\n\n this.mounted = {};\n this.listenerOpts = {};\n this.touchTimer = null;\n this.touching = false;\n}\n/**\n * @public\n * @class\n */\n\n\nfunction HandlerDomProxy(dom, painterRoot) {\n Eventful.call(this);\n this.dom = dom;\n this.painterRoot = painterRoot;\n this._localHandlerScope = new DOMHandlerScope(dom, localDOMHandlers);\n\n if (globalEventSupported) {\n this._globalHandlerScope = new DOMHandlerScope(document, globalDOMHandlers);\n }\n /**\n * @type {boolean}\n */\n\n\n this._pointerCapturing = false;\n /**\n * @type {Array.} [x, y] or null.\n */\n\n this._mayPointerCapture = null;\n mountLocalDOMEventListeners(this, this._localHandlerScope);\n}\n\nvar handlerDomProxyProto = HandlerDomProxy.prototype;\n\nhandlerDomProxyProto.dispose = function () {\n unmountDOMEventListeners(this._localHandlerScope);\n\n if (globalEventSupported) {\n unmountDOMEventListeners(this._globalHandlerScope);\n }\n};\n\nhandlerDomProxyProto.setCursor = function (cursorStyle) {\n this.dom.style && (this.dom.style.cursor = cursorStyle || 'default');\n};\n\nzrUtil.mixin(HandlerDomProxy, Eventful);\nvar _default = HandlerDomProxy;\nmodule.exports = _default;","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n var processedMapType = {};\n ecModel.eachSeriesByType('map', function (mapSeries) {\n var mapType = mapSeries.getMapType();\n\n if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {\n return;\n }\n\n var mapSymbolOffsets = {};\n zrUtil.each(mapSeries.seriesGroup, function (subMapSeries) {\n var geo = subMapSeries.coordinateSystem;\n var data = subMapSeries.originalData;\n\n if (subMapSeries.get('showLegendSymbol') && ecModel.getComponent('legend')) {\n data.each(data.mapDimension('value'), function (value, idx) {\n var name = data.getName(idx);\n var region = geo.getRegion(name); // If input series.data is [11, 22, '-'/null/undefined, 44],\n // it will be filled with NaN: [11, 22, NaN, 44] and NaN will\n // not be drawn. So here must validate if value is NaN.\n\n if (!region || isNaN(value)) {\n return;\n }\n\n var offset = mapSymbolOffsets[name] || 0;\n var point = geo.dataToPoint(region.center);\n mapSymbolOffsets[name] = offset + 1;\n data.setItemLayout(idx, {\n point: point,\n offset: offset\n });\n });\n }\n }); // Show label of those region not has legendSymbol(which is offset 0)\n\n var data = mapSeries.getData();\n data.each(function (idx) {\n var name = data.getName(idx);\n var layout = data.getItemLayout(idx) || {};\n layout.showLabel = !mapSymbolOffsets[name];\n data.setItemLayout(idx, layout);\n });\n processedMapType[mapType] = true;\n });\n}\n\nmodule.exports = _default;","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Cartesian coordinate system\n * @module echarts/coord/Cartesian\n *\n */\nfunction dimAxisMapper(dim) {\n return this._axes[dim];\n}\n/**\n * @alias module:echarts/coord/Cartesian\n * @constructor\n */\n\n\nvar Cartesian = function (name) {\n this._axes = {};\n this._dimList = [];\n /**\n * @type {string}\n */\n\n this.name = name || '';\n};\n\nCartesian.prototype = {\n constructor: Cartesian,\n type: 'cartesian',\n\n /**\n * Get axis\n * @param {number|string} dim\n * @return {module:echarts/coord/Cartesian~Axis}\n */\n getAxis: function (dim) {\n return this._axes[dim];\n },\n\n /**\n * Get axes list\n * @return {Array.}\n */\n getAxes: function () {\n return zrUtil.map(this._dimList, dimAxisMapper, this);\n },\n\n /**\n * Get axes list by given scale type\n */\n getAxesByScale: function (scaleType) {\n scaleType = scaleType.toLowerCase();\n return zrUtil.filter(this.getAxes(), function (axis) {\n return axis.scale.type === scaleType;\n });\n },\n\n /**\n * Add axis\n * @param {module:echarts/coord/Cartesian.Axis}\n */\n addAxis: function (axis) {\n var dim = axis.dim;\n this._axes[dim] = axis;\n\n this._dimList.push(dim);\n },\n\n /**\n * Convert data to coord in nd space\n * @param {Array.|Object.} val\n * @return {Array.|Object.}\n */\n dataToCoord: function (val) {\n return this._dataCoordConvert(val, 'dataToCoord');\n },\n\n /**\n * Convert coord in nd space to data\n * @param {Array.|Object.} val\n * @return {Array.|Object.}\n */\n coordToData: function (val) {\n return this._dataCoordConvert(val, 'coordToData');\n },\n _dataCoordConvert: function (input, method) {\n var dimList = this._dimList;\n var output = input instanceof Array ? [] : {};\n\n for (var i = 0; i < dimList.length; i++) {\n var dim = dimList[i];\n var axis = this._axes[dim];\n output[dim] = axis[method](input[dim]);\n }\n\n return output;\n }\n};\nvar _default = Cartesian;\nmodule.exports = _default;","\"use strict\";\n\nexports.__esModule = true;\nfunction _broadcast(componentName, eventName, params) {\n this.$children.forEach(function (child) {\n var name = child.$options.componentName;\n\n if (name === componentName) {\n child.$emit.apply(child, [eventName].concat(params));\n } else {\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\nexports.default = {\n methods: {\n dispatch: function dispatch(componentName, eventName, params) {\n var parent = this.$parent || this.$root;\n var name = parent.$options.componentName;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.componentName;\n }\n }\n if (parent) {\n parent.$emit.apply(parent, [eventName].concat(params));\n }\n },\n broadcast: function broadcast(componentName, eventName, params) {\n _broadcast.call(this, componentName, eventName, params);\n }\n }\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createGraphFromNodeEdge = require(\"../helper/createGraphFromNodeEdge\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar Model = require(\"../../model/Model\");\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar SankeySeries = SeriesModel.extend({\n type: 'series.sankey',\n layoutInfo: null,\n levelModels: null,\n\n /**\n * Init a graph data structure from data in option series\n *\n * @param {Object} option the object used to config echarts view\n * @return {module:echarts/data/List} storage initial data\n */\n getInitialData: function (option, ecModel) {\n var links = option.edges || option.links;\n var nodes = option.data || option.nodes;\n var levels = option.levels;\n var levelModels = this.levelModels = {};\n\n for (var i = 0; i < levels.length; i++) {\n if (levels[i].depth != null && levels[i].depth >= 0) {\n levelModels[levels[i].depth] = new Model(levels[i], this, ecModel);\n } else {}\n }\n\n if (nodes && links) {\n var graph = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);\n return graph.data;\n }\n\n function beforeLink(nodeData, edgeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n model.customizeGetParent(function (path) {\n var parentModel = this.parentModel;\n var nodeDepth = parentModel.getData().getItemLayout(idx).depth;\n var levelModel = parentModel.levelModels[nodeDepth];\n return levelModel || this.parentModel;\n });\n return model;\n });\n edgeData.wrapMethod('getItemModel', function (model, idx) {\n model.customizeGetParent(function (path) {\n var parentModel = this.parentModel;\n var edge = parentModel.getGraph().getEdgeByIndex(idx);\n var depth = edge.node1.getLayout().depth;\n var levelModel = parentModel.levelModels[depth];\n return levelModel || this.parentModel;\n });\n return model;\n });\n }\n },\n setNodePosition: function (dataIndex, localPosition) {\n var dataItem = this.option.data[dataIndex];\n dataItem.localX = localPosition[0];\n dataItem.localY = localPosition[1];\n },\n\n /**\n * Return the graphic data structure\n *\n * @return {module:echarts/data/Graph} graphic data structure\n */\n getGraph: function () {\n return this.getData().graph;\n },\n\n /**\n * Get edge data of graphic data structure\n *\n * @return {module:echarts/data/List} data structure of list\n */\n getEdgeData: function () {\n return this.getGraph().edgeData;\n },\n\n /**\n * @override\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType) {\n // dataType === 'node' or empty do not show tooltip by default\n if (dataType === 'edge') {\n var params = this.getDataParams(dataIndex, dataType);\n var rawDataOpt = params.data;\n var html = rawDataOpt.source + ' -- ' + rawDataOpt.target;\n\n if (params.value) {\n html += ' : ' + params.value;\n }\n\n return encodeHTML(html);\n } else if (dataType === 'node') {\n var node = this.getGraph().getNodeByIndex(dataIndex);\n var value = node.getLayout().value;\n var name = this.getDataParams(dataIndex, dataType).data.name;\n\n if (value) {\n var html = name + ' : ' + value;\n }\n\n return encodeHTML(html);\n }\n\n return SankeySeries.superCall(this, 'formatTooltip', dataIndex, multipleSeries);\n },\n optionUpdated: function () {\n var option = this.option;\n\n if (option.focusNodeAdjacency === true) {\n option.focusNodeAdjacency = 'allEdges';\n }\n },\n // Override Series.getDataParams()\n getDataParams: function (dataIndex, dataType) {\n var params = SankeySeries.superCall(this, 'getDataParams', dataIndex, dataType);\n\n if (params.value == null && dataType === 'node') {\n var node = this.getGraph().getNodeByIndex(dataIndex);\n var nodeValue = node.getLayout().value;\n params.value = nodeValue;\n }\n\n return params;\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n layout: null,\n // The position of the whole view\n left: '5%',\n top: '5%',\n right: '20%',\n bottom: '5%',\n // Value can be 'vertical'\n orient: 'horizontal',\n // The dx of the node\n nodeWidth: 20,\n // The vertical distance between two nodes\n nodeGap: 8,\n // Control if the node can move or not\n draggable: true,\n // Value can be 'inEdges', 'outEdges', 'allEdges', true (the same as 'allEdges').\n focusNodeAdjacency: false,\n // The number of iterations to change the position of the node\n layoutIterations: 32,\n label: {\n show: true,\n position: 'right',\n color: '#000',\n fontSize: 12\n },\n levels: [],\n // Value can be 'left' or 'right'\n nodeAlign: 'justify',\n itemStyle: {\n borderWidth: 1,\n borderColor: '#333'\n },\n lineStyle: {\n color: '#314656',\n opacity: 0.2,\n curveness: 0.5\n },\n emphasis: {\n label: {\n show: true\n },\n lineStyle: {\n opacity: 0.5\n }\n },\n animationEasing: 'linear',\n animationDuration: 1000\n }\n});\nvar _default = SankeySeries;\nmodule.exports = _default;","require('./_set-species')('Array');\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"../coord/geo/GeoModel\");\n\nrequire(\"../coord/geo/geoCreator\");\n\nrequire(\"./geo/GeoView\");\n\nrequire(\"../action/geoRoam\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction makeAction(method, actionInfo) {\n actionInfo.update = 'updateView';\n echarts.registerAction(actionInfo, function (payload, ecModel) {\n var selected = {};\n ecModel.eachComponent({\n mainType: 'geo',\n query: payload\n }, function (geoModel) {\n geoModel[method](payload.name);\n var geo = geoModel.coordinateSystem;\n zrUtil.each(geo.regions, function (region) {\n selected[region.name] = geoModel.isSelected(region.name) || false;\n });\n });\n return {\n selected: selected,\n name: payload.name\n };\n });\n}\n\nmakeAction('toggleSelected', {\n type: 'geoToggleSelect',\n event: 'geoselectchanged'\n});\nmakeAction('select', {\n type: 'geoSelect',\n event: 'geoselected'\n});\nmakeAction('unSelect', {\n type: 'geoUnSelect',\n event: 'geounselected'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar layout = require(\"../../util/layout\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (24*60*60*1000)\nvar PROXIMATE_ONE_DAY = 86400000;\n/**\n * Calendar\n *\n * @constructor\n *\n * @param {Object} calendarModel calendarModel\n * @param {Object} ecModel ecModel\n * @param {Object} api api\n */\n\nfunction Calendar(calendarModel, ecModel, api) {\n this._model = calendarModel;\n}\n\nCalendar.prototype = {\n constructor: Calendar,\n type: 'calendar',\n dimensions: ['time', 'value'],\n // Required in createListFromData\n getDimensionsInfo: function () {\n return [{\n name: 'time',\n type: 'time'\n }, 'value'];\n },\n getRangeInfo: function () {\n return this._rangeInfo;\n },\n getModel: function () {\n return this._model;\n },\n getRect: function () {\n return this._rect;\n },\n getCellWidth: function () {\n return this._sw;\n },\n getCellHeight: function () {\n return this._sh;\n },\n getOrient: function () {\n return this._orient;\n },\n\n /**\n * getFirstDayOfWeek\n *\n * @example\n * 0 : start at Sunday\n * 1 : start at Monday\n *\n * @return {number}\n */\n getFirstDayOfWeek: function () {\n return this._firstDayOfWeek;\n },\n\n /**\n * get date info\n *\n * @param {string|number} date date\n * @return {Object}\n * {\n * y: string, local full year, eg., '1940',\n * m: string, local month, from '01' ot '12',\n * d: string, local date, from '01' to '31' (if exists),\n * day: It is not date.getDay(). It is the location of the cell in a week, from 0 to 6,\n * time: timestamp,\n * formatedDate: string, yyyy-MM-dd,\n * date: original date object.\n * }\n */\n getDateInfo: function (date) {\n date = numberUtil.parseDate(date);\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? '0' + m : m;\n var d = date.getDate();\n d = d < 10 ? '0' + d : d;\n var day = date.getDay();\n day = Math.abs((day + 7 - this.getFirstDayOfWeek()) % 7);\n return {\n y: y,\n m: m,\n d: d,\n day: day,\n time: date.getTime(),\n formatedDate: y + '-' + m + '-' + d,\n date: date\n };\n },\n getNextNDay: function (date, n) {\n n = n || 0;\n\n if (n === 0) {\n return this.getDateInfo(date);\n }\n\n date = new Date(this.getDateInfo(date).time);\n date.setDate(date.getDate() + n);\n return this.getDateInfo(date);\n },\n update: function (ecModel, api) {\n this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay');\n this._orient = this._model.get('orient');\n this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0;\n this._rangeInfo = this._getRangeInfo(this._initRangeOption());\n var weeks = this._rangeInfo.weeks || 1;\n var whNames = ['width', 'height'];\n\n var cellSize = this._model.get('cellSize').slice();\n\n var layoutParams = this._model.getBoxLayoutParams();\n\n var cellNumbers = this._orient === 'horizontal' ? [weeks, 7] : [7, weeks];\n zrUtil.each([0, 1], function (idx) {\n if (cellSizeSpecified(cellSize, idx)) {\n layoutParams[whNames[idx]] = cellSize[idx] * cellNumbers[idx];\n }\n });\n var whGlobal = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var calendarRect = this._rect = layout.getLayoutRect(layoutParams, whGlobal);\n zrUtil.each([0, 1], function (idx) {\n if (!cellSizeSpecified(cellSize, idx)) {\n cellSize[idx] = calendarRect[whNames[idx]] / cellNumbers[idx];\n }\n });\n\n function cellSizeSpecified(cellSize, idx) {\n return cellSize[idx] != null && cellSize[idx] !== 'auto';\n }\n\n this._sw = cellSize[0];\n this._sh = cellSize[1];\n },\n\n /**\n * Convert a time data(time, value) item to (x, y) point.\n *\n * @override\n * @param {Array|number} data data\n * @param {boolean} [clamp=true] out of range\n * @return {Array} point\n */\n dataToPoint: function (data, clamp) {\n zrUtil.isArray(data) && (data = data[0]);\n clamp == null && (clamp = true);\n var dayInfo = this.getDateInfo(data);\n var range = this._rangeInfo;\n var date = dayInfo.formatedDate; // if not in range return [NaN, NaN]\n\n if (clamp && !(dayInfo.time >= range.start.time && dayInfo.time < range.end.time + PROXIMATE_ONE_DAY)) {\n return [NaN, NaN];\n }\n\n var week = dayInfo.day;\n\n var nthWeek = this._getRangeInfo([range.start.time, date]).nthWeek;\n\n if (this._orient === 'vertical') {\n return [this._rect.x + week * this._sw + this._sw / 2, this._rect.y + nthWeek * this._sh + this._sh / 2];\n }\n\n return [this._rect.x + nthWeek * this._sw + this._sw / 2, this._rect.y + week * this._sh + this._sh / 2];\n },\n\n /**\n * Convert a (x, y) point to time data\n *\n * @override\n * @param {string} point point\n * @return {string} data\n */\n pointToData: function (point) {\n var date = this.pointToDate(point);\n return date && date.time;\n },\n\n /**\n * Convert a time date item to (x, y) four point.\n *\n * @param {Array} data date[0] is date\n * @param {boolean} [clamp=true] out of range\n * @return {Object} point\n */\n dataToRect: function (data, clamp) {\n var point = this.dataToPoint(data, clamp);\n return {\n contentShape: {\n x: point[0] - (this._sw - this._lineWidth) / 2,\n y: point[1] - (this._sh - this._lineWidth) / 2,\n width: this._sw - this._lineWidth,\n height: this._sh - this._lineWidth\n },\n center: point,\n tl: [point[0] - this._sw / 2, point[1] - this._sh / 2],\n tr: [point[0] + this._sw / 2, point[1] - this._sh / 2],\n br: [point[0] + this._sw / 2, point[1] + this._sh / 2],\n bl: [point[0] - this._sw / 2, point[1] + this._sh / 2]\n };\n },\n\n /**\n * Convert a (x, y) point to time date\n *\n * @param {Array} point point\n * @return {Object} date\n */\n pointToDate: function (point) {\n var nthX = Math.floor((point[0] - this._rect.x) / this._sw) + 1;\n var nthY = Math.floor((point[1] - this._rect.y) / this._sh) + 1;\n var range = this._rangeInfo.range;\n\n if (this._orient === 'vertical') {\n return this._getDateByWeeksAndDay(nthY, nthX - 1, range);\n }\n\n return this._getDateByWeeksAndDay(nthX, nthY - 1, range);\n },\n\n /**\n * @inheritDoc\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @inheritDoc\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * initRange\n *\n * @private\n * @return {Array} [start, end]\n */\n _initRangeOption: function () {\n var range = this._model.get('range');\n\n var rg = range;\n\n if (zrUtil.isArray(rg) && rg.length === 1) {\n rg = rg[0];\n }\n\n if (/^\\d{4}$/.test(rg)) {\n range = [rg + '-01-01', rg + '-12-31'];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}$/.test(rg)) {\n var start = this.getDateInfo(rg);\n var firstDay = start.date;\n firstDay.setMonth(firstDay.getMonth() + 1);\n var end = this.getNextNDay(firstDay, -1);\n range = [start.formatedDate, end.formatedDate];\n }\n\n if (/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(rg)) {\n range = [rg, rg];\n }\n\n var tmp = this._getRangeInfo(range);\n\n if (tmp.start.time > tmp.end.time) {\n range.reverse();\n }\n\n return range;\n },\n\n /**\n * range info\n *\n * @private\n * @param {Array} range range ['2017-01-01', '2017-07-08']\n * If range[0] > range[1], they will not be reversed.\n * @return {Object} obj\n */\n _getRangeInfo: function (range) {\n range = [this.getDateInfo(range[0]), this.getDateInfo(range[1])];\n var reversed;\n\n if (range[0].time > range[1].time) {\n reversed = true;\n range.reverse();\n }\n\n var allDay = Math.floor(range[1].time / PROXIMATE_ONE_DAY) - Math.floor(range[0].time / PROXIMATE_ONE_DAY) + 1; // Consider case1 (#11677 #10430):\n // Set the system timezone as \"UK\", set the range to `['2016-07-01', '2016-12-31']`\n // Consider case2:\n // Firstly set system timezone as \"Time Zone: America/Toronto\",\n // ```\n // var first = new Date(1478412000000 - 3600 * 1000 * 2.5);\n // var second = new Date(1478412000000);\n // var allDays = Math.floor(second / ONE_DAY) - Math.floor(first / ONE_DAY) + 1;\n // ```\n // will get wrong result because of DST. So we should fix it.\n\n var date = new Date(range[0].time);\n var startDateNum = date.getDate();\n var endDateNum = range[1].date.getDate();\n date.setDate(startDateNum + allDay - 1); // The bias can not over a month, so just compare date.\n\n var dateNum = date.getDate();\n\n if (dateNum !== endDateNum) {\n var sign = date.getTime() - range[1].time > 0 ? 1 : -1;\n\n while ((dateNum = date.getDate()) !== endDateNum && (date.getTime() - range[1].time) * sign > 0) {\n allDay -= sign;\n date.setDate(dateNum - sign);\n }\n }\n\n var weeks = Math.floor((allDay + range[0].day + 6) / 7);\n var nthWeek = reversed ? -weeks + 1 : weeks - 1;\n reversed && range.reverse();\n return {\n range: [range[0].formatedDate, range[1].formatedDate],\n start: range[0],\n end: range[1],\n allDay: allDay,\n weeks: weeks,\n // From 0.\n nthWeek: nthWeek,\n fweek: range[0].day,\n lweek: range[1].day\n };\n },\n\n /**\n * get date by nthWeeks and week day in range\n *\n * @private\n * @param {number} nthWeek the week\n * @param {number} day the week day\n * @param {Array} range [d1, d2]\n * @return {Object}\n */\n _getDateByWeeksAndDay: function (nthWeek, day, range) {\n var rangeInfo = this._getRangeInfo(range);\n\n if (nthWeek > rangeInfo.weeks || nthWeek === 0 && day < rangeInfo.fweek || nthWeek === rangeInfo.weeks && day > rangeInfo.lweek) {\n return false;\n }\n\n var nthDay = (nthWeek - 1) * 7 - rangeInfo.fweek + day;\n var date = new Date(rangeInfo.start.time);\n date.setDate(rangeInfo.start.d + nthDay);\n return this.getDateInfo(date);\n }\n};\nCalendar.dimensions = Calendar.prototype.dimensions;\nCalendar.getDimensionsInfo = Calendar.prototype.getDimensionsInfo;\n\nCalendar.create = function (ecModel, api) {\n var calendarList = [];\n ecModel.eachComponent('calendar', function (calendarModel) {\n var calendar = new Calendar(calendarModel, ecModel, api);\n calendarList.push(calendar);\n calendarModel.coordinateSystem = calendar;\n });\n ecModel.eachSeries(function (calendarSeries) {\n if (calendarSeries.get('coordinateSystem') === 'calendar') {\n // Inject coordinate system\n calendarSeries.coordinateSystem = calendarList[calendarSeries.get('calendarIndex') || 0];\n }\n });\n return calendarList;\n};\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var calendarModel = finder.calendarModel;\n var seriesModel = finder.seriesModel;\n var coordSys = calendarModel ? calendarModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nCoordinateSystem.register('calendar', Calendar);\nvar _default = Calendar;\nmodule.exports = _default;","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _color = require(\"@jiaminghi/color\");\n\nvar _util = require(\"../plugin/util\");\n\n/**\r\n * @description Class Style\r\n * @param {Object} style Style configuration\r\n * @return {Style} Instance of Style\r\n */\nvar Style = function Style(style) {\n (0, _classCallCheck2[\"default\"])(this, Style);\n this.colorProcessor(style);\n var defaultStyle = {\n /**\r\n * @description Rgba value of graph fill color\r\n * @type {Array}\r\n * @default fill = [0, 0, 0, 1]\r\n */\n fill: [0, 0, 0, 1],\n\n /**\r\n * @description Rgba value of graph stroke color\r\n * @type {Array}\r\n * @default stroke = [0, 0, 0, 1]\r\n */\n stroke: [0, 0, 0, 0],\n\n /**\r\n * @description Opacity of graph\r\n * @type {Number}\r\n * @default opacity = 1\r\n */\n opacity: 1,\n\n /**\r\n * @description LineCap of Ctx\r\n * @type {String}\r\n * @default lineCap = null\r\n * @example lineCap = 'butt'|'round'|'square'\r\n */\n lineCap: null,\n\n /**\r\n * @description Linejoin of Ctx\r\n * @type {String}\r\n * @default lineJoin = null\r\n * @example lineJoin = 'round'|'bevel'|'miter'\r\n */\n lineJoin: null,\n\n /**\r\n * @description LineDash of Ctx\r\n * @type {Array}\r\n * @default lineDash = null\r\n * @example lineDash = [10, 10]\r\n */\n lineDash: null,\n\n /**\r\n * @description LineDashOffset of Ctx\r\n * @type {Number}\r\n * @default lineDashOffset = null\r\n * @example lineDashOffset = 10\r\n */\n lineDashOffset: null,\n\n /**\r\n * @description ShadowBlur of Ctx\r\n * @type {Number}\r\n * @default shadowBlur = 0\r\n */\n shadowBlur: 0,\n\n /**\r\n * @description Rgba value of graph shadow color\r\n * @type {Array}\r\n * @default shadowColor = [0, 0, 0, 0]\r\n */\n shadowColor: [0, 0, 0, 0],\n\n /**\r\n * @description ShadowOffsetX of Ctx\r\n * @type {Number}\r\n * @default shadowOffsetX = 0\r\n */\n shadowOffsetX: 0,\n\n /**\r\n * @description ShadowOffsetY of Ctx\r\n * @type {Number}\r\n * @default shadowOffsetY = 0\r\n */\n shadowOffsetY: 0,\n\n /**\r\n * @description LineWidth of Ctx\r\n * @type {Number}\r\n * @default lineWidth = 0\r\n */\n lineWidth: 0,\n\n /**\r\n * @description Center point of the graph\r\n * @type {Array}\r\n * @default graphCenter = null\r\n * @example graphCenter = [10, 10]\r\n */\n graphCenter: null,\n\n /**\r\n * @description Graph scale\r\n * @type {Array}\r\n * @default scale = null\r\n * @example scale = [1.5, 1.5]\r\n */\n scale: null,\n\n /**\r\n * @description Graph rotation degree\r\n * @type {Number}\r\n * @default rotate = null\r\n * @example rotate = 10\r\n */\n rotate: null,\n\n /**\r\n * @description Graph translate distance\r\n * @type {Array}\r\n * @default translate = null\r\n * @example translate = [10, 10]\r\n */\n translate: null,\n\n /**\r\n * @description Cursor status when hover\r\n * @type {String}\r\n * @default hoverCursor = 'pointer'\r\n * @example hoverCursor = 'default'|'pointer'|'auto'|'crosshair'|'move'|'wait'|...\r\n */\n hoverCursor: 'pointer',\n\n /**\r\n * @description Font style of Ctx\r\n * @type {String}\r\n * @default fontStyle = 'normal'\r\n * @example fontStyle = 'normal'|'italic'|'oblique'\r\n */\n fontStyle: 'normal',\n\n /**\r\n * @description Font varient of Ctx\r\n * @type {String}\r\n * @default fontVarient = 'normal'\r\n * @example fontVarient = 'normal'|'small-caps'\r\n */\n fontVarient: 'normal',\n\n /**\r\n * @description Font weight of Ctx\r\n * @type {String|Number}\r\n * @default fontWeight = 'normal'\r\n * @example fontWeight = 'normal'|'bold'|'bolder'|'lighter'|Number\r\n */\n fontWeight: 'normal',\n\n /**\r\n * @description Font size of Ctx\r\n * @type {Number}\r\n * @default fontSize = 10\r\n */\n fontSize: 10,\n\n /**\r\n * @description Font family of Ctx\r\n * @type {String}\r\n * @default fontFamily = 'Arial'\r\n */\n fontFamily: 'Arial',\n\n /**\r\n * @description TextAlign of Ctx\r\n * @type {String}\r\n * @default textAlign = 'center'\r\n * @example textAlign = 'start'|'end'|'left'|'right'|'center'\r\n */\n textAlign: 'center',\n\n /**\r\n * @description TextBaseline of Ctx\r\n * @type {String}\r\n * @default textBaseline = 'middle'\r\n * @example textBaseline = 'top'|'bottom'|'middle'|'alphabetic'|'hanging'\r\n */\n textBaseline: 'middle',\n\n /**\r\n * @description The color used to create the gradient\r\n * @type {Array}\r\n * @default gradientColor = null\r\n * @example gradientColor = ['#000', '#111', '#222']\r\n */\n gradientColor: null,\n\n /**\r\n * @description Gradient type\r\n * @type {String}\r\n * @default gradientType = 'linear'\r\n * @example gradientType = 'linear' | 'radial'\r\n */\n gradientType: 'linear',\n\n /**\r\n * @description Gradient params\r\n * @type {Array}\r\n * @default gradientParams = null\r\n * @example gradientParams = [x0, y0, x1, y1] (Linear Gradient)\r\n * @example gradientParams = [x0, y0, r0, x1, y1, r1] (Radial Gradient)\r\n */\n gradientParams: null,\n\n /**\r\n * @description When to use gradients\r\n * @type {String}\r\n * @default gradientWith = 'stroke'\r\n * @example gradientWith = 'stroke' | 'fill'\r\n */\n gradientWith: 'stroke',\n\n /**\r\n * @description Gradient color stops\r\n * @type {String}\r\n * @default gradientStops = 'auto'\r\n * @example gradientStops = 'auto' | [0, .2, .3, 1]\r\n */\n gradientStops: 'auto',\n\n /**\r\n * @description Extended color that supports animation transition\r\n * @type {Array|Object}\r\n * @default colors = null\r\n * @example colors = ['#000', '#111', '#222', 'red' ]\r\n * @example colors = { a: '#000', b: '#111' }\r\n */\n colors: null\n };\n Object.assign(this, defaultStyle, style);\n};\n/**\r\n * @description Set colors to rgba value\r\n * @param {Object} style style config\r\n * @param {Boolean} reverse Whether to perform reverse operation\r\n * @return {Undefined} Void\r\n */\n\n\nexports[\"default\"] = Style;\n\nStyle.prototype.colorProcessor = function (style) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var processor = reverse ? _color.getColorFromRgbValue : _color.getRgbaValue;\n var colorProcessorKeys = ['fill', 'stroke', 'shadowColor'];\n var allKeys = Object.keys(style);\n var colorKeys = allKeys.filter(function (key) {\n return colorProcessorKeys.find(function (k) {\n return k === key;\n });\n });\n colorKeys.forEach(function (key) {\n return style[key] = processor(style[key]);\n });\n var gradientColor = style.gradientColor,\n colors = style.colors;\n if (gradientColor) style.gradientColor = gradientColor.map(function (c) {\n return processor(c);\n });\n\n if (colors) {\n var colorsKeys = Object.keys(colors);\n colorsKeys.forEach(function (key) {\n return colors[key] = processor(colors[key]);\n });\n }\n};\n/**\r\n * @description Init graph style\r\n * @param {Object} ctx Context of canvas\r\n * @return {Undefined} Void\r\n */\n\n\nStyle.prototype.initStyle = function (ctx) {\n initTransform(ctx, this);\n initGraphStyle(ctx, this);\n initGradient(ctx, this);\n};\n/**\r\n * @description Init canvas transform\r\n * @param {Object} ctx Context of canvas\r\n * @param {Style} style Instance of Style\r\n * @return {Undefined} Void\r\n */\n\n\nfunction initTransform(ctx, style) {\n ctx.save();\n var graphCenter = style.graphCenter,\n rotate = style.rotate,\n scale = style.scale,\n translate = style.translate;\n if (!(graphCenter instanceof Array)) return;\n ctx.translate.apply(ctx, (0, _toConsumableArray2[\"default\"])(graphCenter));\n if (rotate) ctx.rotate(rotate * Math.PI / 180);\n if (scale instanceof Array) ctx.scale.apply(ctx, (0, _toConsumableArray2[\"default\"])(scale));\n if (translate) ctx.translate.apply(ctx, (0, _toConsumableArray2[\"default\"])(translate));\n ctx.translate(-graphCenter[0], -graphCenter[1]);\n}\n\nvar autoSetStyleKeys = ['lineCap', 'lineJoin', 'lineDashOffset', 'shadowOffsetX', 'shadowOffsetY', 'lineWidth', 'textAlign', 'textBaseline'];\n/**\r\n * @description Set the style of canvas ctx\r\n * @param {Object} ctx Context of canvas\r\n * @param {Style} style Instance of Style\r\n * @return {Undefined} Void\r\n */\n\nfunction initGraphStyle(ctx, style) {\n var fill = style.fill,\n stroke = style.stroke,\n shadowColor = style.shadowColor,\n opacity = style.opacity;\n autoSetStyleKeys.forEach(function (key) {\n if (key || typeof key === 'number') ctx[key] = style[key];\n });\n fill = (0, _toConsumableArray2[\"default\"])(fill);\n stroke = (0, _toConsumableArray2[\"default\"])(stroke);\n shadowColor = (0, _toConsumableArray2[\"default\"])(shadowColor);\n fill[3] *= opacity;\n stroke[3] *= opacity;\n shadowColor[3] *= opacity;\n ctx.fillStyle = (0, _color.getColorFromRgbValue)(fill);\n ctx.strokeStyle = (0, _color.getColorFromRgbValue)(stroke);\n ctx.shadowColor = (0, _color.getColorFromRgbValue)(shadowColor);\n var lineDash = style.lineDash,\n shadowBlur = style.shadowBlur;\n\n if (lineDash) {\n lineDash = lineDash.map(function (v) {\n return v >= 0 ? v : 0;\n });\n ctx.setLineDash(lineDash);\n }\n\n if (typeof shadowBlur === 'number') ctx.shadowBlur = shadowBlur > 0 ? shadowBlur : 0.001;\n var fontStyle = style.fontStyle,\n fontVarient = style.fontVarient,\n fontWeight = style.fontWeight,\n fontSize = style.fontSize,\n fontFamily = style.fontFamily;\n ctx.font = fontStyle + ' ' + fontVarient + ' ' + fontWeight + ' ' + fontSize + 'px' + ' ' + fontFamily;\n}\n/**\r\n * @description Set the gradient color of canvas ctx\r\n * @param {Object} ctx Context of canvas\r\n * @param {Style} style Instance of Style\r\n * @return {Undefined} Void\r\n */\n\n\nfunction initGradient(ctx, style) {\n if (!gradientValidator(style)) return;\n var gradientColor = style.gradientColor,\n gradientParams = style.gradientParams,\n gradientType = style.gradientType,\n gradientWith = style.gradientWith,\n gradientStops = style.gradientStops,\n opacity = style.opacity;\n gradientColor = gradientColor.map(function (color) {\n var colorOpacity = color[3] * opacity;\n var clonedColor = (0, _toConsumableArray2[\"default\"])(color);\n clonedColor[3] = colorOpacity;\n return clonedColor;\n });\n gradientColor = gradientColor.map(function (c) {\n return (0, _color.getColorFromRgbValue)(c);\n });\n if (gradientStops === 'auto') gradientStops = getAutoColorStops(gradientColor);\n var gradient = ctx[\"create\".concat(gradientType.slice(0, 1).toUpperCase() + gradientType.slice(1), \"Gradient\")].apply(ctx, (0, _toConsumableArray2[\"default\"])(gradientParams));\n gradientStops.forEach(function (stop, i) {\n return gradient.addColorStop(stop, gradientColor[i]);\n });\n ctx[\"\".concat(gradientWith, \"Style\")] = gradient;\n}\n/**\r\n * @description Check if the gradient configuration is legal\r\n * @param {Style} style Instance of Style\r\n * @return {Boolean} Check Result\r\n */\n\n\nfunction gradientValidator(style) {\n var gradientColor = style.gradientColor,\n gradientParams = style.gradientParams,\n gradientType = style.gradientType,\n gradientWith = style.gradientWith,\n gradientStops = style.gradientStops;\n if (!gradientColor || !gradientParams) return false;\n\n if (gradientColor.length === 1) {\n console.warn('The gradient needs to provide at least two colors');\n return false;\n }\n\n if (gradientType !== 'linear' && gradientType !== 'radial') {\n console.warn('GradientType only supports linear or radial, current value is ' + gradientType);\n return false;\n }\n\n var gradientParamsLength = gradientParams.length;\n\n if (gradientType === 'linear' && gradientParamsLength !== 4 || gradientType === 'radial' && gradientParamsLength !== 6) {\n console.warn('The expected length of gradientParams is ' + (gradientType === 'linear' ? '4' : '6'));\n return false;\n }\n\n if (gradientWith !== 'fill' && gradientWith !== 'stroke') {\n console.warn('GradientWith only supports fill or stroke, current value is ' + gradientWith);\n return false;\n }\n\n if (gradientStops !== 'auto' && !(gradientStops instanceof Array)) {\n console.warn(\"gradientStops only supports 'auto' or Number Array ([0, .5, 1]), current value is \" + gradientStops);\n return false;\n }\n\n return true;\n}\n/**\r\n * @description Get a uniform gradient color stop\r\n * @param {Array} color Gradient color\r\n * @return {Array} Gradient color stop\r\n */\n\n\nfunction getAutoColorStops(color) {\n var stopGap = 1 / (color.length - 1);\n return color.map(function (foo, i) {\n return stopGap * i;\n });\n}\n/**\r\n * @description Restore canvas ctx transform\r\n * @param {Object} ctx Context of canvas\r\n * @return {Undefined} Void\r\n */\n\n\nStyle.prototype.restoreTransform = function (ctx) {\n ctx.restore();\n};\n/**\r\n * @description Update style data\r\n * @param {Object} change Changed data\r\n * @return {Undefined} Void\r\n */\n\n\nStyle.prototype.update = function (change) {\n this.colorProcessor(change);\n Object.assign(this, change);\n};\n/**\r\n * @description Get the current style configuration\r\n * @return {Object} Style configuration\r\n */\n\n\nStyle.prototype.getStyle = function () {\n var clonedStyle = (0, _util.deepClone)(this, true);\n this.colorProcessor(clonedStyle, true);\n return clonedStyle;\n};","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export');\nvar $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (1) [Caution]: the logic is correct based on the premises:\n// data processing stage is blocked in stream.\n// See \n// (2) Only register once when import repeatly.\n// Should be executed after series filtered and before stack calculation.\nfunction _default(ecModel) {\n var stackInfoMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var stack = seriesModel.get('stack'); // Compatibal: when `stack` is set as '', do not stack.\n\n if (stack) {\n var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);\n var data = seriesModel.getData();\n var stackInfo = {\n // Used for calculate axis extent automatically.\n stackResultDimension: data.getCalculationInfo('stackResultDimension'),\n stackedOverDimension: data.getCalculationInfo('stackedOverDimension'),\n stackedDimension: data.getCalculationInfo('stackedDimension'),\n stackedByDimension: data.getCalculationInfo('stackedByDimension'),\n isStackedByIndex: data.getCalculationInfo('isStackedByIndex'),\n data: data,\n seriesModel: seriesModel\n }; // If stacked on axis that do not support data stack.\n\n if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {\n return;\n }\n\n stackInfoList.length && data.setCalculationInfo('stackedOnSeries', stackInfoList[stackInfoList.length - 1].seriesModel);\n stackInfoList.push(stackInfo);\n }\n });\n stackInfoMap.each(calculateStack);\n}\n\nfunction calculateStack(stackInfoList) {\n each(stackInfoList, function (targetStackInfo, idxInStack) {\n var resultVal = [];\n var resultNaN = [NaN, NaN];\n var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];\n var targetData = targetStackInfo.data;\n var isStackedByIndex = targetStackInfo.isStackedByIndex; // Should not write on raw data, because stack series model list changes\n // depending on legend selection.\n\n var newData = targetData.map(dims, function (v0, v1, dataIndex) {\n var sum = targetData.get(targetStackInfo.stackedDimension, dataIndex); // Consider `connectNulls` of line area, if value is NaN, stackedOver\n // should also be NaN, to draw a appropriate belt area.\n\n if (isNaN(sum)) {\n return resultNaN;\n }\n\n var byValue;\n var stackedDataRawIndex;\n\n if (isStackedByIndex) {\n stackedDataRawIndex = targetData.getRawIndex(dataIndex);\n } else {\n byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);\n } // If stackOver is NaN, chart view will render point on value start.\n\n\n var stackedOver = NaN;\n\n for (var j = idxInStack - 1; j >= 0; j--) {\n var stackInfo = stackInfoList[j]; // Has been optimized by inverted indices on `stackedByDimension`.\n\n if (!isStackedByIndex) {\n stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);\n }\n\n if (stackedDataRawIndex >= 0) {\n var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex); // Considering positive stack, negative stack and empty data\n\n if (sum >= 0 && val > 0 || // Positive stack\n sum <= 0 && val < 0 // Negative stack\n ) {\n sum += val;\n stackedOver = val;\n break;\n }\n }\n }\n\n resultVal[0] = sum;\n resultVal[1] = stackedOver;\n return resultVal;\n });\n targetData.hostModel.setData(newData); // Update for consequent calculation\n\n targetStackInfo.data = newData;\n });\n}\n\nmodule.exports = _default;","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./legend/LegendModel\");\n\nrequire(\"./legend/legendAction\");\n\nrequire(\"./legend/LegendView\");\n\nvar legendFilter = require(\"./legend/legendFilter\");\n\nvar Component = require(\"../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Do not contain scrollable legend, for sake of file size.\n// Series Filter\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);\nComponent.registerSubTypeDefaulter('legend', function () {\n // Default 'plain' when no type specified.\n return 'plain';\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @payload\n * @property {number} [seriesIndex]\n * @property {string} [seriesId]\n * @property {string} [seriesName]\n * @property {number} [dataIndex]\n */\necharts.registerAction({\n type: 'focusNodeAdjacency',\n event: 'focusNodeAdjacency',\n update: 'series:focusNodeAdjacency'\n}, function () {});\n/**\n * @payload\n * @property {number} [seriesIndex]\n * @property {string} [seriesId]\n * @property {string} [seriesName]\n */\n\necharts.registerAction({\n type: 'unfocusNodeAdjacency',\n event: 'unfocusNodeAdjacency',\n update: 'series:unfocusNodeAdjacency'\n}, function () {});","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var util = require(\"./core/util\");\n\nvar vec2 = require(\"./core/vector\");\n\nvar Draggable = require(\"./mixin/Draggable\");\n\nvar Eventful = require(\"./mixin/Eventful\");\n\nvar eventTool = require(\"./core/event\");\n\nvar GestureMgr = require(\"./core/GestureMgr\");\n\n/**\n * [The interface between `Handler` and `HandlerProxy`]:\n *\n * The default `HandlerProxy` only support the common standard web environment\n * (e.g., standalone browser, headless browser, embed browser in mobild APP, ...).\n * But `HandlerProxy` can be replaced to support more non-standard environment\n * (e.g., mini app), or to support more feature that the default `HandlerProxy`\n * not provided (like echarts-gl did).\n * So the interface between `Handler` and `HandlerProxy` should be stable. Do not\n * make break changes util inevitable. The interface include the public methods\n * of `Handler` and the events listed in `handlerNames` below, by which `HandlerProxy`\n * drives `Handler`.\n */\n\n/**\n * [Drag outside]:\n *\n * That is, triggering `mousemove` and `mouseup` event when the pointer is out of the\n * zrender area when dragging. That is important for the improvement of the user experience\n * when dragging something near the boundary without being terminated unexpectedly.\n *\n * We originally consider to introduce new events like `pagemovemove` and `pagemouseup`\n * to resolve this issue. But some drawbacks of it is described in\n * https://github.com/ecomfe/zrender/pull/536#issuecomment-560286899\n *\n * Instead, we referenced the specifications:\n * https://www.w3.org/TR/touch-events/#the-touchmove-event\n * https://www.w3.org/TR/2014/WD-DOM-Level-3-Events-20140925/#event-type-mousemove\n * where the the mousemove/touchmove can be continue to fire if the user began a drag\n * operation and the pointer has left the boundary. (for the mouse event, browsers\n * only do it on `document` and when the pointer has left the boundary of the browser.)\n *\n * So the default `HandlerProxy` supports this feature similarly: if it is in the dragging\n * state (see `pointerCapture` in `HandlerProxy`), the `mousemove` and `mouseup` continue\n * to fire until release the pointer. That is implemented by listen to those event on\n * `document`.\n * If we implement some other `HandlerProxy` only for touch device, that would be easier.\n * The touch event support this feature by default.\n *\n * Note:\n * There might be some cases that the mouse event can not be\n * received on `document`. For example,\n * (A) `useCapture` is not supported and some user defined event listeners on the ancestor\n * of zr dom throw Error .\n * (B) `useCapture` is not supported Some user defined event listeners on the ancestor of\n * zr dom call `stopPropagation`.\n * In these cases, the `mousemove` event might be keep triggered event\n * if the mouse is released. We try to reduce the side-effect in those cases.\n * That is, do nothing (especially, `findHover`) in those cases. See `isOutsideBoundary`.\n *\n * Note:\n * If `HandlerProxy` listens to `document` with `useCapture`, `HandlerProxy` needs to\n * make sure `stopPropagation` and `preventDefault` doing nothing if and only if the event\n * target is not zrender dom. Becuase it is dangerous to enable users to call them in\n * `document` capture phase to prevent the propagation to any listener of the webpage.\n * But they are needed to work when the pointer inside the zrender dom.\n */\nvar SILENT = 'silent';\n\nfunction makeEventPacket(eveType, targetInfo, event) {\n return {\n type: eveType,\n event: event,\n // target can only be an element that is not silent.\n target: targetInfo.target,\n // topTarget can be a silent element.\n topTarget: targetInfo.topTarget,\n cancelBubble: false,\n offsetX: event.zrX,\n offsetY: event.zrY,\n gestureEvent: event.gestureEvent,\n pinchX: event.pinchX,\n pinchY: event.pinchY,\n pinchScale: event.pinchScale,\n wheelDelta: event.zrDelta,\n zrByTouch: event.zrByTouch,\n which: event.which,\n stop: stopEvent\n };\n}\n\nfunction stopEvent() {\n eventTool.stop(this.event);\n}\n\nfunction EmptyProxy() {}\n\nEmptyProxy.prototype.dispose = function () {};\n\nvar handlerNames = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'];\n/**\n * @alias module:zrender/Handler\n * @constructor\n * @extends module:zrender/mixin/Eventful\n * @param {module:zrender/Storage} storage Storage instance.\n * @param {module:zrender/Painter} painter Painter instance.\n * @param {module:zrender/dom/HandlerProxy} proxy HandlerProxy instance.\n * @param {HTMLElement} painterRoot painter.root (not painter.getViewportRoot()).\n */\n\nvar Handler = function (storage, painter, proxy, painterRoot) {\n Eventful.call(this);\n this.storage = storage;\n this.painter = painter;\n this.painterRoot = painterRoot;\n proxy = proxy || new EmptyProxy();\n /**\n * Proxy of event. can be Dom, WebGLSurface, etc.\n */\n\n this.proxy = null;\n /**\n * {target, topTarget, x, y}\n * @private\n * @type {Object}\n */\n\n this._hovered = {};\n /**\n * @private\n * @type {Date}\n */\n\n this._lastTouchMoment;\n /**\n * @private\n * @type {number}\n */\n\n this._lastX;\n /**\n * @private\n * @type {number}\n */\n\n this._lastY;\n /**\n * @private\n * @type {module:zrender/core/GestureMgr}\n */\n\n this._gestureMgr;\n Draggable.call(this);\n this.setHandlerProxy(proxy);\n};\n\nHandler.prototype = {\n constructor: Handler,\n setHandlerProxy: function (proxy) {\n if (this.proxy) {\n this.proxy.dispose();\n }\n\n if (proxy) {\n util.each(handlerNames, function (name) {\n proxy.on && proxy.on(name, this[name], this);\n }, this); // Attach handler\n\n proxy.handler = this;\n }\n\n this.proxy = proxy;\n },\n mousemove: function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var lastHovered = this._hovered;\n var lastHoveredTarget = lastHovered.target; // If lastHoveredTarget is removed from zr (detected by '__zr') by some API call\n // (like 'setOption' or 'dispatchAction') in event handlers, we should find\n // lastHovered again here. Otherwise 'mouseout' can not be triggered normally.\n // See #6198.\n\n if (lastHoveredTarget && !lastHoveredTarget.__zr) {\n lastHovered = this.findHover(lastHovered.x, lastHovered.y);\n lastHoveredTarget = lastHovered.target;\n }\n\n var hovered = this._hovered = isOutside ? {\n x: x,\n y: y\n } : this.findHover(x, y);\n var hoveredTarget = hovered.target;\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default'); // Mouse out on previous hovered element\n\n if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(lastHovered, 'mouseout', event);\n } // Mouse moving on one element\n\n\n this.dispatchToElement(hovered, 'mousemove', event); // Mouse over on a new element\n\n if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(hovered, 'mouseover', event);\n }\n },\n mouseout: function (event) {\n var eventControl = event.zrEventControl;\n var zrIsToLocalDOM = event.zrIsToLocalDOM;\n\n if (eventControl !== 'only_globalout') {\n this.dispatchToElement(this._hovered, 'mouseout', event);\n }\n\n if (eventControl !== 'no_globalout') {\n // FIXME: if the pointer moving from the extra doms to realy \"outside\",\n // the `globalout` should have been triggered. But currently not.\n !zrIsToLocalDOM && this.trigger('globalout', {\n type: 'globalout',\n event: event\n });\n }\n },\n\n /**\n * Resize\n */\n resize: function (event) {\n this._hovered = {};\n },\n\n /**\n * Dispatch event\n * @param {string} eventName\n * @param {event=} eventArgs\n */\n dispatch: function (eventName, eventArgs) {\n var handler = this[eventName];\n handler && handler.call(this, eventArgs);\n },\n\n /**\n * Dispose\n */\n dispose: function () {\n this.proxy.dispose();\n this.storage = this.proxy = this.painter = null;\n },\n\n /**\n * 设置默认的cursor style\n * @param {string} [cursorStyle='default'] 例如 crosshair\n */\n setCursorStyle: function (cursorStyle) {\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(cursorStyle);\n },\n\n /**\n * 事件分发代理\n *\n * @private\n * @param {Object} targetInfo {target, topTarget} 目标图形元素\n * @param {string} eventName 事件名称\n * @param {Object} event 事件对象\n */\n dispatchToElement: function (targetInfo, eventName, event) {\n targetInfo = targetInfo || {};\n var el = targetInfo.target;\n\n if (el && el.silent) {\n return;\n }\n\n var eventHandler = 'on' + eventName;\n var eventPacket = makeEventPacket(eventName, targetInfo, event);\n\n while (el) {\n el[eventHandler] && (eventPacket.cancelBubble = el[eventHandler].call(el, eventPacket));\n el.trigger(eventName, eventPacket);\n el = el.parent;\n\n if (eventPacket.cancelBubble) {\n break;\n }\n }\n\n if (!eventPacket.cancelBubble) {\n // 冒泡到顶级 zrender 对象\n this.trigger(eventName, eventPacket); // 分发事件到用户自定义层\n // 用户有可能在全局 click 事件中 dispose,所以需要判断下 painter 是否存在\n\n this.painter && this.painter.eachOtherLayer(function (layer) {\n if (typeof layer[eventHandler] === 'function') {\n layer[eventHandler].call(layer, eventPacket);\n }\n\n if (layer.trigger) {\n layer.trigger(eventName, eventPacket);\n }\n });\n }\n },\n\n /**\n * @private\n * @param {number} x\n * @param {number} y\n * @param {module:zrender/graphic/Displayable} exclude\n * @return {model:zrender/Element}\n * @method\n */\n findHover: function (x, y, exclude) {\n var list = this.storage.getDisplayList();\n var out = {\n x: x,\n y: y\n };\n\n for (var i = list.length - 1; i >= 0; i--) {\n var hoverCheckResult;\n\n if (list[i] !== exclude // getDisplayList may include ignored item in VML mode\n && !list[i].ignore && (hoverCheckResult = isHover(list[i], x, y))) {\n !out.topTarget && (out.topTarget = list[i]);\n\n if (hoverCheckResult !== SILENT) {\n out.target = list[i];\n break;\n }\n }\n }\n\n return out;\n },\n processGesture: function (event, stage) {\n if (!this._gestureMgr) {\n this._gestureMgr = new GestureMgr();\n }\n\n var gestureMgr = this._gestureMgr;\n stage === 'start' && gestureMgr.clear();\n var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);\n stage === 'end' && gestureMgr.clear(); // Do not do any preventDefault here. Upper application do that if necessary.\n\n if (gestureInfo) {\n var type = gestureInfo.type;\n event.gestureEvent = type;\n this.dispatchToElement({\n target: gestureInfo.target\n }, type, gestureInfo.event);\n }\n }\n}; // Common handlers\n\nutil.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {\n Handler.prototype[name] = function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var hovered;\n var hoveredTarget;\n\n if (name !== 'mouseup' || !isOutside) {\n // Find hover again to avoid click event is dispatched manually. Or click is triggered without mouseover\n hovered = this.findHover(x, y);\n hoveredTarget = hovered.target;\n }\n\n if (name === 'mousedown') {\n this._downEl = hoveredTarget;\n this._downPoint = [event.zrX, event.zrY]; // In case click triggered before mouseup\n\n this._upEl = hoveredTarget;\n } else if (name === 'mouseup') {\n this._upEl = hoveredTarget;\n } else if (name === 'click') {\n if (this._downEl !== this._upEl // Original click event is triggered on the whole canvas element,\n // including the case that `mousedown` - `mousemove` - `mouseup`,\n // which should be filtered, otherwise it will bring trouble to\n // pan and zoom.\n || !this._downPoint // Arbitrary value\n || vec2.dist(this._downPoint, [event.zrX, event.zrY]) > 4) {\n return;\n }\n\n this._downPoint = null;\n }\n\n this.dispatchToElement(hovered, name, event);\n };\n});\n\nfunction isHover(displayable, x, y) {\n if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {\n var el = displayable;\n var isSilent;\n\n while (el) {\n // If clipped by ancestor.\n // FIXME: If clipPath has neither stroke nor fill,\n // el.clipPath.contain(x, y) will always return false.\n if (el.clipPath && !el.clipPath.contain(x, y)) {\n return false;\n }\n\n if (el.silent) {\n isSilent = true;\n }\n\n el = el.parent;\n }\n\n return isSilent ? SILENT : true;\n }\n\n return false;\n}\n/**\n * See [Drag outside].\n */\n\n\nfunction isOutsideBoundary(handlerInstance, x, y) {\n var painter = handlerInstance.painter;\n return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();\n}\n\nutil.mixin(Handler, Eventful);\nutil.mixin(Handler, Draggable);\nvar _default = Handler;\nmodule.exports = _default;","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar _simpleLayoutHelper = require(\"./simpleLayoutHelper\");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\nvar simpleLayoutEdge = _simpleLayoutHelper.simpleLayoutEdge;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel, api) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var layout = seriesModel.get('layout');\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n var data = seriesModel.getData();\n var dimensions = [];\n each(coordSys.dimensions, function (coordDim) {\n dimensions = dimensions.concat(data.mapDimension(coordDim, true));\n });\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var value = [];\n var hasValue = false;\n\n for (var i = 0; i < dimensions.length; i++) {\n var val = data.get(dimensions[i], dataIndex);\n\n if (!isNaN(val)) {\n hasValue = true;\n }\n\n value.push(val);\n }\n\n if (hasValue) {\n data.setItemLayout(dataIndex, coordSys.dataToPoint(value));\n } else {\n // Also {Array.}, not undefined to avoid if...else... statement\n data.setItemLayout(dataIndex, [NaN, NaN]);\n }\n }\n\n simpleLayoutEdge(data.graph, seriesModel);\n } else if (!layout || layout === 'none') {\n simpleLayout(seriesModel);\n }\n });\n}\n\nmodule.exports = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.isDef = isDef;\nexports.isKorean = isKorean;\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\nfunction isKorean(text) {\n var reg = /([(\\uAC00-\\uD7AF)|(\\u3130-\\u318F)])+/gi;\n return reg.test(text);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar magicTypeLang = lang.toolbox.magicType;\nvar INNER_STACK_KEYWORD = '__ec_magicType_stack__';\n\nfunction MagicType(model) {\n this.model = model;\n}\n\nMagicType.defaultOption = {\n show: true,\n type: [],\n // Icon group\n icon: {\n /* eslint-disable */\n line: 'M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4',\n bar: 'M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7',\n stack: 'M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z' // jshint ignore:line\n\n /* eslint-enable */\n\n },\n // `line`, `bar`, `stack`, `tiled`\n title: zrUtil.clone(magicTypeLang.title),\n option: {},\n seriesIndex: {}\n};\nvar proto = MagicType.prototype;\n\nproto.getIcons = function () {\n var model = this.model;\n var availableIcons = model.get('icon');\n var icons = {};\n zrUtil.each(model.get('type'), function (type) {\n if (availableIcons[type]) {\n icons[type] = availableIcons[type];\n }\n });\n return icons;\n};\n\nvar seriesOptGenreator = {\n 'line': function (seriesType, seriesId, seriesModel, model) {\n if (seriesType === 'bar') {\n return zrUtil.merge({\n id: seriesId,\n type: 'line',\n // Preserve data related option\n data: seriesModel.get('data'),\n stack: seriesModel.get('stack'),\n markPoint: seriesModel.get('markPoint'),\n markLine: seriesModel.get('markLine')\n }, model.get('option.line') || {}, true);\n }\n },\n 'bar': function (seriesType, seriesId, seriesModel, model) {\n if (seriesType === 'line') {\n return zrUtil.merge({\n id: seriesId,\n type: 'bar',\n // Preserve data related option\n data: seriesModel.get('data'),\n stack: seriesModel.get('stack'),\n markPoint: seriesModel.get('markPoint'),\n markLine: seriesModel.get('markLine')\n }, model.get('option.bar') || {}, true);\n }\n },\n 'stack': function (seriesType, seriesId, seriesModel, model) {\n var isStack = seriesModel.get('stack') === INNER_STACK_KEYWORD;\n\n if (seriesType === 'line' || seriesType === 'bar') {\n model.setIconStatus('stack', isStack ? 'normal' : 'emphasis');\n return zrUtil.merge({\n id: seriesId,\n stack: isStack ? '' : INNER_STACK_KEYWORD\n }, model.get('option.stack') || {}, true);\n }\n }\n};\nvar radioTypes = [['line', 'bar'], ['stack']];\n\nproto.onclick = function (ecModel, api, type) {\n var model = this.model;\n var seriesIndex = model.get('seriesIndex.' + type); // Not supported magicType\n\n if (!seriesOptGenreator[type]) {\n return;\n }\n\n var newOption = {\n series: []\n };\n\n var generateNewSeriesTypes = function (seriesModel) {\n var seriesType = seriesModel.subType;\n var seriesId = seriesModel.id;\n var newSeriesOpt = seriesOptGenreator[type](seriesType, seriesId, seriesModel, model);\n\n if (newSeriesOpt) {\n // PENDING If merge original option?\n zrUtil.defaults(newSeriesOpt, seriesModel.option);\n newOption.series.push(newSeriesOpt);\n } // Modify boundaryGap\n\n\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type === 'cartesian2d' && (type === 'line' || type === 'bar')) {\n var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n if (categoryAxis) {\n var axisDim = categoryAxis.dim;\n var axisType = axisDim + 'Axis';\n var axisModel = ecModel.queryComponents({\n mainType: axisType,\n index: seriesModel.get(name + 'Index'),\n id: seriesModel.get(name + 'Id')\n })[0];\n var axisIndex = axisModel.componentIndex;\n newOption[axisType] = newOption[axisType] || [];\n\n for (var i = 0; i <= axisIndex; i++) {\n newOption[axisType][axisIndex] = newOption[axisType][axisIndex] || {};\n }\n\n newOption[axisType][axisIndex].boundaryGap = type === 'bar';\n }\n }\n };\n\n zrUtil.each(radioTypes, function (radio) {\n if (zrUtil.indexOf(radio, type) >= 0) {\n zrUtil.each(radio, function (item) {\n model.setIconStatus(item, 'normal');\n });\n }\n });\n model.setIconStatus(type, 'emphasis');\n ecModel.eachComponent({\n mainType: 'series',\n query: seriesIndex == null ? null : {\n seriesIndex: seriesIndex\n }\n }, generateNewSeriesTypes);\n var newTitle; // Change title of stack\n\n if (type === 'stack') {\n var isStack = newOption.series && newOption.series[0] && newOption.series[0].stack === INNER_STACK_KEYWORD;\n newTitle = isStack ? zrUtil.merge({\n stack: magicTypeLang.title.tiled\n }, magicTypeLang.title) : zrUtil.clone(magicTypeLang.title);\n }\n\n api.dispatchAction({\n type: 'changeMagicType',\n currentType: type,\n newOption: newOption,\n newTitle: newTitle,\n featureName: 'magicType'\n });\n};\n\necharts.registerAction({\n type: 'changeMagicType',\n event: 'magicTypeChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n ecModel.mergeOption(payload.newOption);\n});\nfeatureManager.register('magicType', MagicType);\nvar _default = MagicType;\nmodule.exports = _default;","var env = require(\"../core/env\");\n\nvar urn = 'urn:schemas-microsoft-com:vml';\nvar win = typeof window === 'undefined' ? null : window;\nvar vmlInited = false;\nvar doc = win && win.document;\n\nfunction createNode(tagName) {\n return doCreateNode(tagName);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nvar doCreateNode;\n\nif (doc && !env.canvasSupported) {\n try {\n !doc.namespaces.zrvml && doc.namespaces.add('zrvml', urn);\n\n doCreateNode = function (tagName) {\n return doc.createElement('');\n };\n } catch (e) {\n doCreateNode = function (tagName) {\n return doc.createElement('<' + tagName + ' xmlns=\"' + urn + '\" class=\"zrvml\">');\n };\n }\n} // From raphael\n\n\nfunction initVML() {\n if (vmlInited || !doc) {\n return;\n }\n\n vmlInited = true;\n var styleSheets = doc.styleSheets;\n\n if (styleSheets.length < 31) {\n doc.createStyleSheet().addRule('.zrvml', 'behavior:url(#default#VML)');\n } else {\n // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx\n styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)');\n }\n}\n\nexports.doc = doc;\nexports.createNode = createNode;\nexports.initVML = initVML;","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (!legendModels || !legendModels.length) {\n return;\n }\n\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n var name = data.getName(idx); // If in any legend component the status is not selected.\n\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n };\n}\n\nmodule.exports = _default;","var Path = require(\"../Path\");\n\nvar polyHelper = require(\"../helper/poly\");\n\n/**\n * @module zrender/graphic/shape/Polyline\n */\nvar _default = Path.extend({\n type: 'polyline',\n shape: {\n points: null,\n smooth: false,\n smoothConstraint: null\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, false);\n }\n});\n\nmodule.exports = _default;","/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule normalizeWheel\n * @typechecks\n */\n\n'use strict';\n\nvar UserAgent_DEPRECATED = require('./UserAgent_DEPRECATED');\n\nvar isEventSupported = require('./isEventSupported');\n\n\n// Reasonable defaults\nvar PIXEL_STEP = 10;\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n\n/**\n * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is\n * complicated, thus this doc is long and (hopefully) detailed enough to answer\n * your questions.\n *\n * If you need to react to the mouse wheel in a predictable way, this code is\n * like your bestest friend. * hugs *\n *\n * As of today, there are 4 DOM event types you can listen to:\n *\n * 'wheel' -- Chrome(31+), FF(17+), IE(9+)\n * 'mousewheel' -- Chrome, IE(6+), Opera, Safari\n * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother!\n * 'DOMMouseScroll' -- FF(0.9.7+) since 2003\n *\n * So what to do? The is the best:\n *\n * normalizeWheel.getEventType();\n *\n * In your event callback, use this code to get sane interpretation of the\n * deltas. This code will return an object with properties:\n *\n * spinX -- normalized spin speed (use for zoom) - x plane\n * spinY -- \" - y plane\n * pixelX -- normalized distance (to pixels) - x plane\n * pixelY -- \" - y plane\n *\n * Wheel values are provided by the browser assuming you are using the wheel to\n * scroll a web page by a number of lines or pixels (or pages). Values can vary\n * significantly on different platforms and browsers, forgetting that you can\n * scroll at different speeds. Some devices (like trackpads) emit more events\n * at smaller increments with fine granularity, and some emit massive jumps with\n * linear speed or acceleration.\n *\n * This code does its best to normalize the deltas for you:\n *\n * - spin is trying to normalize how far the wheel was spun (or trackpad\n * dragged). This is super useful for zoom support where you want to\n * throw away the chunky scroll steps on the PC and make those equal to\n * the slow and smooth tiny steps on the Mac. Key data: This code tries to\n * resolve a single slow step on a wheel to 1.\n *\n * - pixel is normalizing the desired scroll delta in pixel units. You'll\n * get the crazy differences between browsers, but at least it'll be in\n * pixels!\n *\n * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This\n * should translate to positive value zooming IN, negative zooming OUT.\n * This matches the newer 'wheel' event.\n *\n * Why are there spinX, spinY (or pixels)?\n *\n * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn\n * with a mouse. It results in side-scrolling in the browser by default.\n *\n * - spinY is what you expect -- it's the classic axis of a mouse wheel.\n *\n * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and\n * probably is by browsers in conjunction with fancy 3D controllers .. but\n * you know.\n *\n * Implementation info:\n *\n * Examples of 'wheel' event if you scroll slowly (down) by one step with an\n * average mouse:\n *\n * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120)\n * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12)\n * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A)\n * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120)\n * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120)\n *\n * On the trackpad:\n *\n * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6)\n * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A)\n *\n * On other/older browsers.. it's more complicated as there can be multiple and\n * also missing delta values.\n *\n * The 'wheel' event is more standard:\n *\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents\n *\n * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and\n * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain\n * backward compatibility with older events. Those other values help us\n * better normalize spin speed. Example of what the browsers provide:\n *\n * | event.wheelDelta | event.detail\n * ------------------+------------------+--------------\n * Safari v5/OS X | -120 | 0\n * Safari v5/Win7 | -120 | 0\n * Chrome v17/OS X | -120 | 0\n * Chrome v17/Win7 | -120 | 0\n * IE9/Win7 | -120 | undefined\n * Firefox v4/OS X | undefined | 1\n * Firefox v4/Win7 | undefined | 3\n *\n */\nfunction normalizeWheel(/*object*/ event) /*object*/ {\n var sX = 0, sY = 0, // spinX, spinY\n pX = 0, pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in event) { sY = event.detail; }\n if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; }\n if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; }\n if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; }\n\n // side scrolling on FF with DOMMouseScroll\n if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in event) { pY = event.deltaY; }\n if ('deltaX' in event) { pX = event.deltaX; }\n\n if ((pX || pY) && event.deltaMode) {\n if (event.deltaMode == 1) { // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else { // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) { sX = (pX < 1) ? -1 : 1; }\n if (pY && !sY) { sY = (pY < 1) ? -1 : 1; }\n\n return { spinX : sX,\n spinY : sY,\n pixelX : pX,\n pixelY : pY };\n}\n\n\n/**\n * The best combination if you prefer spinX + spinY normalization. It favors\n * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with\n * 'wheel' event, making spin speed determination impossible.\n */\nnormalizeWheel.getEventType = function() /*string*/ {\n return (UserAgent_DEPRECATED.firefox())\n ? 'DOMMouseScroll'\n : (isEventSupported('wheel'))\n ? 'wheel'\n : 'mousewheel';\n};\n\nmodule.exports = normalizeWheel;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar globalListener = require(\"./globalListener\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisPointerView = echarts.extendComponentView({\n type: 'axisPointer',\n render: function (globalAxisPointerModel, ecModel, api) {\n var globalTooltipModel = ecModel.getComponent('tooltip');\n var triggerOn = globalAxisPointerModel.get('triggerOn') || globalTooltipModel && globalTooltipModel.get('triggerOn') || 'mousemove|click'; // Register global listener in AxisPointerView to enable\n // AxisPointerView to be independent to Tooltip.\n\n globalListener.register('axisPointer', api, function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none' && (currTrigger === 'leave' || triggerOn.indexOf(currTrigger) >= 0)) {\n dispatchAction({\n type: 'updateAxisPointer',\n currTrigger: currTrigger,\n x: e && e.offsetX,\n y: e && e.offsetY\n });\n }\n });\n },\n\n /**\n * @override\n */\n remove: function (ecModel, api) {\n globalListener.unregister(api.getZr(), 'axisPointer');\n AxisPointerView.superApply(this._model, 'remove', arguments);\n },\n\n /**\n * @override\n */\n dispose: function (ecModel, api) {\n globalListener.unregister('axisPointer', api);\n AxisPointerView.superApply(this._model, 'dispose', arguments);\n }\n});\nvar _default = AxisPointerView;\nmodule.exports = _default;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var Path = require(\"./Path\");\n\n// CompoundPath to improve performance\nvar _default = Path.extend({\n type: 'compound',\n shape: {\n paths: null\n },\n _updatePathDirty: function () {\n var dirtyPath = this.__dirtyPath;\n var paths = this.shape.paths;\n\n for (var i = 0; i < paths.length; i++) {\n // Mark as dirty if any subpath is dirty\n dirtyPath = dirtyPath || paths[i].__dirtyPath;\n }\n\n this.__dirtyPath = dirtyPath;\n this.__dirty = this.__dirty || dirtyPath;\n },\n beforeBrush: function () {\n this._updatePathDirty();\n\n var paths = this.shape.paths || [];\n var scale = this.getGlobalScale(); // Update path scale\n\n for (var i = 0; i < paths.length; i++) {\n if (!paths[i].path) {\n paths[i].createPathProxy();\n }\n\n paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);\n }\n },\n buildPath: function (ctx, shape) {\n var paths = shape.paths || [];\n\n for (var i = 0; i < paths.length; i++) {\n paths[i].buildPath(ctx, paths[i].shape, true);\n }\n },\n afterBrush: function () {\n var paths = this.shape.paths || [];\n\n for (var i = 0; i < paths.length; i++) {\n paths[i].__dirtyPath = false;\n }\n },\n getBoundingRect: function () {\n this._updatePathDirty();\n\n return Path.prototype.getBoundingRect.call(this);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar fixClipWithShadow = require(\"zrender/lib/graphic/helper/fixClipWithShadow\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Poly path support NaN point\nvar vec2Min = vec2.min;\nvar vec2Max = vec2.max;\nvar scaleAndAdd = vec2.scaleAndAdd;\nvar v2Copy = vec2.copy; // Temporary variable\n\nvar v = [];\nvar cp0 = [];\nvar cp1 = [];\n\nfunction isPointNull(p) {\n return isNaN(p[0]) || isNaN(p[1]);\n}\n\nfunction drawSegment(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n // if (smoothMonotone == null) {\n // if (isMono(points, 'x')) {\n // return drawMono(ctx, points, start, segLen, allLen,\n // dir, smoothMin, smoothMax, smooth, 'x', connectNulls);\n // }\n // else if (isMono(points, 'y')) {\n // return drawMono(ctx, points, start, segLen, allLen,\n // dir, smoothMin, smoothMax, smooth, 'y', connectNulls);\n // }\n // else {\n // return drawNonMono.apply(this, arguments);\n // }\n // }\n // else if (smoothMonotone !== 'none' && isMono(points, smoothMonotone)) {\n // return drawMono.apply(this, arguments);\n // }\n // else {\n // return drawNonMono.apply(this, arguments);\n // }\n if (smoothMonotone === 'none' || !smoothMonotone) {\n return drawNonMono.apply(this, arguments);\n } else {\n return drawMono.apply(this, arguments);\n }\n}\n/**\n * Check if points is in monotone.\n *\n * @param {number[][]} points Array of points which is in [x, y] form\n * @param {string} smoothMonotone 'x', 'y', or 'none', stating for which\n * dimension that is checking.\n * If is 'none', `drawNonMono` should be\n * called.\n * If is undefined, either being monotone\n * in 'x' or 'y' will call `drawMono`.\n */\n// function isMono(points, smoothMonotone) {\n// if (points.length <= 1) {\n// return true;\n// }\n// var dim = smoothMonotone === 'x' ? 0 : 1;\n// var last = points[0][dim];\n// var lastDiff = 0;\n// for (var i = 1; i < points.length; ++i) {\n// var diff = points[i][dim] - last;\n// if (!isNaN(diff) && !isNaN(lastDiff)\n// && diff !== 0 && lastDiff !== 0\n// && ((diff >= 0) !== (lastDiff >= 0))\n// ) {\n// return false;\n// }\n// if (!isNaN(diff) && diff !== 0) {\n// lastDiff = diff;\n// last = points[i][dim];\n// }\n// }\n// return true;\n// }\n\n/**\n * Draw smoothed line in monotone, in which only vertical or horizontal bezier\n * control points will be used. This should be used when points are monotone\n * either in x or y dimension.\n */\n\n\nfunction drawMono(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n var prevIdx = 0;\n var idx = start;\n\n for (var k = 0; k < segLen; k++) {\n var p = points[idx];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(p)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](p[0], p[1]);\n } else {\n if (smooth > 0) {\n var prevP = points[prevIdx];\n var dim = smoothMonotone === 'y' ? 1 : 0; // Length of control point to p, either in x or y, but not both\n\n var ctrlLen = (p[dim] - prevP[dim]) * smooth;\n v2Copy(cp0, prevP);\n cp0[dim] = prevP[dim] + ctrlLen;\n v2Copy(cp1, p);\n cp1[dim] = p[dim] - ctrlLen;\n ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]);\n } else {\n ctx.lineTo(p[0], p[1]);\n }\n }\n\n prevIdx = idx;\n idx += dir;\n }\n\n return k;\n}\n/**\n * Draw smoothed line in non-monotone, in may cause undesired curve in extreme\n * situations. This should be used when points are non-monotone neither in x or\n * y dimension.\n */\n\n\nfunction drawNonMono(ctx, points, start, segLen, allLen, dir, smoothMin, smoothMax, smooth, smoothMonotone, connectNulls) {\n var prevIdx = 0;\n var idx = start;\n\n for (var k = 0; k < segLen; k++) {\n var p = points[idx];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(p)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](p[0], p[1]);\n v2Copy(cp0, p);\n } else {\n if (smooth > 0) {\n var nextIdx = idx + dir;\n var nextP = points[nextIdx];\n\n if (connectNulls) {\n // Find next point not null\n while (nextP && isPointNull(points[nextIdx])) {\n nextIdx += dir;\n nextP = points[nextIdx];\n }\n }\n\n var ratioNextSeg = 0.5;\n var prevP = points[prevIdx];\n var nextP = points[nextIdx]; // Last point\n\n if (!nextP || isPointNull(nextP)) {\n v2Copy(cp1, p);\n } else {\n // If next data is null in not connect case\n if (isPointNull(nextP) && !connectNulls) {\n nextP = p;\n }\n\n vec2.sub(v, nextP, prevP);\n var lenPrevSeg;\n var lenNextSeg;\n\n if (smoothMonotone === 'x' || smoothMonotone === 'y') {\n var dim = smoothMonotone === 'x' ? 0 : 1;\n lenPrevSeg = Math.abs(p[dim] - prevP[dim]);\n lenNextSeg = Math.abs(p[dim] - nextP[dim]);\n } else {\n lenPrevSeg = vec2.dist(p, prevP);\n lenNextSeg = vec2.dist(p, nextP);\n } // Use ratio of seg length\n\n\n ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);\n scaleAndAdd(cp1, p, v, -smooth * (1 - ratioNextSeg));\n } // Smooth constraint\n\n\n vec2Min(cp0, cp0, smoothMax);\n vec2Max(cp0, cp0, smoothMin);\n vec2Min(cp1, cp1, smoothMax);\n vec2Max(cp1, cp1, smoothMin);\n ctx.bezierCurveTo(cp0[0], cp0[1], cp1[0], cp1[1], p[0], p[1]); // cp0 of next segment\n\n scaleAndAdd(cp0, p, v, smooth * ratioNextSeg);\n } else {\n ctx.lineTo(p[0], p[1]);\n }\n }\n\n prevIdx = idx;\n idx += dir;\n }\n\n return k;\n}\n\nfunction getBoundingBox(points, smoothConstraint) {\n var ptMin = [Infinity, Infinity];\n var ptMax = [-Infinity, -Infinity];\n\n if (smoothConstraint) {\n for (var i = 0; i < points.length; i++) {\n var pt = points[i];\n\n if (pt[0] < ptMin[0]) {\n ptMin[0] = pt[0];\n }\n\n if (pt[1] < ptMin[1]) {\n ptMin[1] = pt[1];\n }\n\n if (pt[0] > ptMax[0]) {\n ptMax[0] = pt[0];\n }\n\n if (pt[1] > ptMax[1]) {\n ptMax[1] = pt[1];\n }\n }\n }\n\n return {\n min: smoothConstraint ? ptMin : ptMax,\n max: smoothConstraint ? ptMax : ptMin\n };\n}\n\nvar Polyline = Path.extend({\n type: 'ec-polyline',\n shape: {\n points: [],\n smooth: 0,\n smoothConstraint: true,\n smoothMonotone: null,\n connectNulls: false\n },\n style: {\n fill: null,\n stroke: '#000'\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var points = shape.points;\n var i = 0;\n var len = points.length;\n var result = getBoundingBox(points, shape.smoothConstraint);\n\n if (shape.connectNulls) {\n // Must remove first and last null values avoid draw error in polygon\n for (; len > 0; len--) {\n if (!isPointNull(points[len - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i])) {\n break;\n }\n }\n }\n\n while (i < len) {\n i += drawSegment(ctx, points, i, len, len, 1, result.min, result.max, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;\n }\n }\n});\nvar Polygon = Path.extend({\n type: 'ec-polygon',\n shape: {\n points: [],\n // Offset between stacked base points and points\n stackedOnPoints: [],\n smooth: 0,\n stackedOnSmooth: 0,\n smoothConstraint: true,\n smoothMonotone: null,\n connectNulls: false\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var points = shape.points;\n var stackedOnPoints = shape.stackedOnPoints;\n var i = 0;\n var len = points.length;\n var smoothMonotone = shape.smoothMonotone;\n var bbox = getBoundingBox(points, shape.smoothConstraint);\n var stackedOnBBox = getBoundingBox(stackedOnPoints, shape.smoothConstraint);\n\n if (shape.connectNulls) {\n // Must remove first and last null values avoid draw error in polygon\n for (; len > 0; len--) {\n if (!isPointNull(points[len - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i])) {\n break;\n }\n }\n }\n\n while (i < len) {\n var k = drawSegment(ctx, points, i, len, len, 1, bbox.min, bbox.max, shape.smooth, smoothMonotone, shape.connectNulls);\n drawSegment(ctx, stackedOnPoints, i + k - 1, k, len, -1, stackedOnBBox.min, stackedOnBBox.max, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);\n i += k + 1;\n ctx.closePath();\n }\n }\n});\nexports.Polyline = Polyline;\nexports.Polygon = Polygon;","// Simple LRU cache use doubly linked list\n// @module zrender/core/LRU\n\n/**\n * Simple double linked list. Compared with array, it has O(1) remove operation.\n * @constructor\n */\nvar LinkedList = function () {\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n this.head = null;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.tail = null;\n this._len = 0;\n};\n\nvar linkedListProto = LinkedList.prototype;\n/**\n * Insert a new value at the tail\n * @param {} val\n * @return {module:zrender/core/LRU~Entry}\n */\n\nlinkedListProto.insert = function (val) {\n var entry = new Entry(val);\n this.insertEntry(entry);\n return entry;\n};\n/**\n * Insert an entry at the tail\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n } else {\n this.tail.next = entry;\n entry.prev = this.tail;\n entry.next = null;\n this.tail = entry;\n }\n\n this._len++;\n};\n/**\n * Remove entry.\n * @param {module:zrender/core/LRU~Entry} entry\n */\n\n\nlinkedListProto.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n\n if (prev) {\n prev.next = next;\n } else {\n // Is head\n this.head = next;\n }\n\n if (next) {\n next.prev = prev;\n } else {\n // Is tail\n this.tail = prev;\n }\n\n entry.next = entry.prev = null;\n this._len--;\n};\n/**\n * @return {number}\n */\n\n\nlinkedListProto.len = function () {\n return this._len;\n};\n/**\n * Clear list\n */\n\n\nlinkedListProto.clear = function () {\n this.head = this.tail = null;\n this._len = 0;\n};\n/**\n * @constructor\n * @param {} val\n */\n\n\nvar Entry = function (val) {\n /**\n * @type {}\n */\n this.value = val;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.next;\n /**\n * @type {module:zrender/core/LRU~Entry}\n */\n\n this.prev;\n};\n/**\n * LRU Cache\n * @constructor\n * @alias module:zrender/core/LRU\n */\n\n\nvar LRU = function (maxSize) {\n this._list = new LinkedList();\n this._map = {};\n this._maxSize = maxSize || 10;\n this._lastRemovedEntry = null;\n};\n\nvar LRUProto = LRU.prototype;\n/**\n * @param {string} key\n * @param {} value\n * @return {} Removed value\n */\n\nLRUProto.put = function (key, value) {\n var list = this._list;\n var map = this._map;\n var removed = null;\n\n if (map[key] == null) {\n var len = list.len(); // Reuse last removed entry\n\n var entry = this._lastRemovedEntry;\n\n if (len >= this._maxSize && len > 0) {\n // Remove the least recently used\n var leastUsedEntry = list.head;\n list.remove(leastUsedEntry);\n delete map[leastUsedEntry.key];\n removed = leastUsedEntry.value;\n this._lastRemovedEntry = leastUsedEntry;\n }\n\n if (entry) {\n entry.value = value;\n } else {\n entry = new Entry(value);\n }\n\n entry.key = key;\n list.insertEntry(entry);\n map[key] = entry;\n }\n\n return removed;\n};\n/**\n * @param {string} key\n * @return {}\n */\n\n\nLRUProto.get = function (key) {\n var entry = this._map[key];\n var list = this._list;\n\n if (entry != null) {\n // Put the latest used entry in the tail\n if (entry !== list.tail) {\n list.remove(entry);\n list.insertEntry(entry);\n }\n\n return entry.value;\n }\n};\n/**\n * Clear the cache\n */\n\n\nLRUProto.clear = function () {\n this._list.clear();\n\n this._map = {};\n};\n\nvar _default = LRU;\nmodule.exports = _default;","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var guid = require(\"./core/guid\");\n\nvar Eventful = require(\"./mixin/Eventful\");\n\nvar Transformable = require(\"./mixin/Transformable\");\n\nvar Animatable = require(\"./mixin/Animatable\");\n\nvar zrUtil = require(\"./core/util\");\n\n/**\n * @alias module:zrender/Element\n * @constructor\n * @extends {module:zrender/mixin/Animatable}\n * @extends {module:zrender/mixin/Transformable}\n * @extends {module:zrender/mixin/Eventful}\n */\nvar Element = function (opts) {\n // jshint ignore:line\n Transformable.call(this, opts);\n Eventful.call(this, opts);\n Animatable.call(this, opts);\n /**\n * 画布元素ID\n * @type {string}\n */\n\n this.id = opts.id || guid();\n};\n\nElement.prototype = {\n /**\n * 元素类型\n * Element type\n * @type {string}\n */\n type: 'element',\n\n /**\n * 元素名字\n * Element name\n * @type {string}\n */\n name: '',\n\n /**\n * ZRender 实例对象,会在 element 添加到 zrender 实例中后自动赋值\n * ZRender instance will be assigned when element is associated with zrender\n * @name module:/zrender/Element#__zr\n * @type {module:zrender/ZRender}\n */\n __zr: null,\n\n /**\n * 图形是否忽略,为true时忽略图形的绘制以及事件触发\n * If ignore drawing and events of the element object\n * @name module:/zrender/Element#ignore\n * @type {boolean}\n * @default false\n */\n ignore: false,\n\n /**\n * 用于裁剪的路径(shape),所有 Group 内的路径在绘制时都会被这个路径裁剪\n * 该路径会继承被裁减对象的变换\n * @type {module:zrender/graphic/Path}\n * @see http://www.w3.org/TR/2dcontext/#clipping-region\n * @readOnly\n */\n clipPath: null,\n\n /**\n * 是否是 Group\n * @type {boolean}\n */\n isGroup: false,\n\n /**\n * Drift element\n * @param {number} dx dx on the global space\n * @param {number} dy dy on the global space\n */\n drift: function (dx, dy) {\n switch (this.draggable) {\n case 'horizontal':\n dy = 0;\n break;\n\n case 'vertical':\n dx = 0;\n break;\n }\n\n var m = this.transform;\n\n if (!m) {\n m = this.transform = [1, 0, 0, 1, 0, 0];\n }\n\n m[4] += dx;\n m[5] += dy;\n this.decomposeTransform();\n this.dirty(false);\n },\n\n /**\n * Hook before update\n */\n beforeUpdate: function () {},\n\n /**\n * Hook after update\n */\n afterUpdate: function () {},\n\n /**\n * Update each frame\n */\n update: function () {\n this.updateTransform();\n },\n\n /**\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {},\n\n /**\n * @protected\n */\n attrKV: function (key, value) {\n if (key === 'position' || key === 'scale' || key === 'origin') {\n // Copy the array\n if (value) {\n var target = this[key];\n\n if (!target) {\n target = this[key] = [];\n }\n\n target[0] = value[0];\n target[1] = value[1];\n }\n } else {\n this[key] = value;\n }\n },\n\n /**\n * Hide the element\n */\n hide: function () {\n this.ignore = true;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * Show the element\n */\n show: function () {\n this.ignore = false;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * @param {string|Object} key\n * @param {*} value\n */\n attr: function (key, value) {\n if (typeof key === 'string') {\n this.attrKV(key, value);\n } else if (zrUtil.isObject(key)) {\n for (var name in key) {\n if (key.hasOwnProperty(name)) {\n this.attrKV(name, key[name]);\n }\n }\n }\n\n this.dirty(false);\n return this;\n },\n\n /**\n * @param {module:zrender/graphic/Path} clipPath\n */\n setClipPath: function (clipPath) {\n var zr = this.__zr;\n\n if (zr) {\n clipPath.addSelfToZr(zr);\n } // Remove previous clip path\n\n\n if (this.clipPath && this.clipPath !== clipPath) {\n this.removeClipPath();\n }\n\n this.clipPath = clipPath;\n clipPath.__zr = zr;\n clipPath.__clipTarget = this;\n this.dirty(false);\n },\n\n /**\n */\n removeClipPath: function () {\n var clipPath = this.clipPath;\n\n if (clipPath) {\n if (clipPath.__zr) {\n clipPath.removeSelfFromZr(clipPath.__zr);\n }\n\n clipPath.__zr = null;\n clipPath.__clipTarget = null;\n this.clipPath = null;\n this.dirty(false);\n }\n },\n\n /**\n * Add self from zrender instance.\n * Not recursively because it will be invoked when element added to storage.\n * @param {module:zrender/ZRender} zr\n */\n addSelfToZr: function (zr) {\n this.__zr = zr; // 添加动画\n\n var animators = this.animators;\n\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.addAnimator(animators[i]);\n }\n }\n\n if (this.clipPath) {\n this.clipPath.addSelfToZr(zr);\n }\n },\n\n /**\n * Remove self from zrender instance.\n * Not recursively because it will be invoked when element added to storage.\n * @param {module:zrender/ZRender} zr\n */\n removeSelfFromZr: function (zr) {\n this.__zr = null; // 移除动画\n\n var animators = this.animators;\n\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.removeAnimator(animators[i]);\n }\n }\n\n if (this.clipPath) {\n this.clipPath.removeSelfFromZr(zr);\n }\n }\n};\nzrUtil.mixin(Element, Animatable);\nzrUtil.mixin(Element, Transformable);\nzrUtil.mixin(Element, Eventful);\nvar _default = Element;\nmodule.exports = _default;","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BaseBarSeries = require(\"./BaseBarSeries\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PictorialBarSeries = BaseBarSeries.extend({\n type: 'series.pictorialBar',\n dependencies: ['grid'],\n defaultOption: {\n symbol: 'circle',\n // Customized bar shape\n symbolSize: null,\n // Can be ['100%', '100%'], null means auto.\n symbolRotate: null,\n symbolPosition: null,\n // 'start' or 'end' or 'center', null means auto.\n symbolOffset: null,\n symbolMargin: null,\n // start margin and end margin. Can be a number or a percent string.\n // Auto margin by default.\n symbolRepeat: false,\n // false/null/undefined, means no repeat.\n // Can be true, means auto calculate repeat times and cut by data.\n // Can be a number, specifies repeat times, and do not cut by data.\n // Can be 'fixed', means auto calculate repeat times but do not cut by data.\n symbolRepeatDirection: 'end',\n // 'end' means from 'start' to 'end'.\n symbolClip: false,\n symbolBoundingData: null,\n // Can be 60 or -40 or [-40, 60]\n symbolPatternSize: 400,\n // 400 * 400 px\n barGap: '-100%',\n // In most case, overlap is needed.\n // z can be set in data item, which is z2 actually.\n // Disable progressive\n progressive: 0,\n hoverAnimation: false // Open only when needed.\n\n },\n getInitialData: function (option) {\n // Disable stack.\n option.stack = null;\n return PictorialBarSeries.superApply(this, 'getInitialData', arguments);\n }\n});\nvar _default = PictorialBarSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar actionInfo = {\n type: 'selectDataRange',\n event: 'dataRangeSelected',\n // FIXME use updateView appears wrong\n update: 'update'\n};\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'visualMap',\n query: payload\n }, function (model) {\n model.setSelected(payload.selected);\n });\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nrequire(\"./sunburst/SunburstSeries\");\n\nrequire(\"./sunburst/SunburstView\");\n\nrequire(\"./sunburst/sunburstAction\");\n\nvar dataColor = require(\"../visual/dataColor\");\n\nvar sunburstLayout = require(\"./sunburst/sunburstLayout\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(zrUtil.curry(dataColor, 'sunburst'));\necharts.registerLayout(zrUtil.curry(sunburstLayout, 'sunburst'));\necharts.registerProcessor(zrUtil.curry(dataFilter, 'sunburst'));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar _roamHelper = require(\"../../action/roamHelper\");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\nrequire(\"../helper/focusNodeAdjacencyAction\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar actionInfo = {\n type: 'graphRoam',\n event: 'graphRoam',\n update: 'none'\n};\n/**\n * @payload\n * @property {string} name Series name\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n query: payload\n }, function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var res = updateCenterAndZoom(coordSys, payload);\n seriesModel.setCenter && seriesModel.setCenter(res.center);\n seriesModel.setZoom && seriesModel.setZoom(res.zoom);\n });\n});","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","'use strict';\n\n/* Modified from https://github.com/taylorhakes/fecha\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 Taylor Hakes\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/*eslint-disable*/\n// 把 YYYY-MM-DD 改成了 yyyy-MM-dd\n(function (main) {\n 'use strict';\n\n /**\n * Parse or format dates\n * @class fecha\n */\n\n var fecha = {};\n var token = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\\1?|[aA]|\"[^\"]*\"|'[^']*'/g;\n var twoDigits = '\\\\d\\\\d?';\n var threeDigits = '\\\\d{3}';\n var fourDigits = '\\\\d{4}';\n var word = '[^\\\\s]+';\n var literal = /\\[([^]*?)\\]/gm;\n var noop = function noop() {};\n\n function regexEscape(str) {\n return str.replace(/[|\\\\{()[^$+*?.-]/g, '\\\\$&');\n }\n\n function shorten(arr, sLen) {\n var newArr = [];\n for (var i = 0, len = arr.length; i < len; i++) {\n newArr.push(arr[i].substr(0, sLen));\n }\n return newArr;\n }\n\n function monthUpdate(arrName) {\n return function (d, v, i18n) {\n var index = i18n[arrName].indexOf(v.charAt(0).toUpperCase() + v.substr(1).toLowerCase());\n if (~index) {\n d.month = index;\n }\n };\n }\n\n function pad(val, len) {\n val = String(val);\n len = len || 2;\n while (val.length < len) {\n val = '0' + val;\n }\n return val;\n }\n\n var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n var monthNamesShort = shorten(monthNames, 3);\n var dayNamesShort = shorten(dayNames, 3);\n fecha.i18n = {\n dayNamesShort: dayNamesShort,\n dayNames: dayNames,\n monthNamesShort: monthNamesShort,\n monthNames: monthNames,\n amPm: ['am', 'pm'],\n DoFn: function DoFn(D) {\n return D + ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D - D % 10 !== 10) * D % 10];\n }\n };\n\n var formatFlags = {\n D: function D(dateObj) {\n return dateObj.getDay();\n },\n DD: function DD(dateObj) {\n return pad(dateObj.getDay());\n },\n Do: function Do(dateObj, i18n) {\n return i18n.DoFn(dateObj.getDate());\n },\n d: function d(dateObj) {\n return dateObj.getDate();\n },\n dd: function dd(dateObj) {\n return pad(dateObj.getDate());\n },\n ddd: function ddd(dateObj, i18n) {\n return i18n.dayNamesShort[dateObj.getDay()];\n },\n dddd: function dddd(dateObj, i18n) {\n return i18n.dayNames[dateObj.getDay()];\n },\n M: function M(dateObj) {\n return dateObj.getMonth() + 1;\n },\n MM: function MM(dateObj) {\n return pad(dateObj.getMonth() + 1);\n },\n MMM: function MMM(dateObj, i18n) {\n return i18n.monthNamesShort[dateObj.getMonth()];\n },\n MMMM: function MMMM(dateObj, i18n) {\n return i18n.monthNames[dateObj.getMonth()];\n },\n yy: function yy(dateObj) {\n return pad(String(dateObj.getFullYear()), 4).substr(2);\n },\n yyyy: function yyyy(dateObj) {\n return pad(dateObj.getFullYear(), 4);\n },\n h: function h(dateObj) {\n return dateObj.getHours() % 12 || 12;\n },\n hh: function hh(dateObj) {\n return pad(dateObj.getHours() % 12 || 12);\n },\n H: function H(dateObj) {\n return dateObj.getHours();\n },\n HH: function HH(dateObj) {\n return pad(dateObj.getHours());\n },\n m: function m(dateObj) {\n return dateObj.getMinutes();\n },\n mm: function mm(dateObj) {\n return pad(dateObj.getMinutes());\n },\n s: function s(dateObj) {\n return dateObj.getSeconds();\n },\n ss: function ss(dateObj) {\n return pad(dateObj.getSeconds());\n },\n S: function S(dateObj) {\n return Math.round(dateObj.getMilliseconds() / 100);\n },\n SS: function SS(dateObj) {\n return pad(Math.round(dateObj.getMilliseconds() / 10), 2);\n },\n SSS: function SSS(dateObj) {\n return pad(dateObj.getMilliseconds(), 3);\n },\n a: function a(dateObj, i18n) {\n return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1];\n },\n A: function A(dateObj, i18n) {\n return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase();\n },\n ZZ: function ZZ(dateObj) {\n var o = dateObj.getTimezoneOffset();\n return (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4);\n }\n };\n\n var parseFlags = {\n d: [twoDigits, function (d, v) {\n d.day = v;\n }],\n Do: [twoDigits + word, function (d, v) {\n d.day = parseInt(v, 10);\n }],\n M: [twoDigits, function (d, v) {\n d.month = v - 1;\n }],\n yy: [twoDigits, function (d, v) {\n var da = new Date(),\n cent = +('' + da.getFullYear()).substr(0, 2);\n d.year = '' + (v > 68 ? cent - 1 : cent) + v;\n }],\n h: [twoDigits, function (d, v) {\n d.hour = v;\n }],\n m: [twoDigits, function (d, v) {\n d.minute = v;\n }],\n s: [twoDigits, function (d, v) {\n d.second = v;\n }],\n yyyy: [fourDigits, function (d, v) {\n d.year = v;\n }],\n S: ['\\\\d', function (d, v) {\n d.millisecond = v * 100;\n }],\n SS: ['\\\\d{2}', function (d, v) {\n d.millisecond = v * 10;\n }],\n SSS: [threeDigits, function (d, v) {\n d.millisecond = v;\n }],\n D: [twoDigits, noop],\n ddd: [word, noop],\n MMM: [word, monthUpdate('monthNamesShort')],\n MMMM: [word, monthUpdate('monthNames')],\n a: [word, function (d, v, i18n) {\n var val = v.toLowerCase();\n if (val === i18n.amPm[0]) {\n d.isPm = false;\n } else if (val === i18n.amPm[1]) {\n d.isPm = true;\n }\n }],\n ZZ: ['[^\\\\s]*?[\\\\+\\\\-]\\\\d\\\\d:?\\\\d\\\\d|[^\\\\s]*?Z', function (d, v) {\n var parts = (v + '').match(/([+-]|\\d\\d)/gi),\n minutes;\n\n if (parts) {\n minutes = +(parts[1] * 60) + parseInt(parts[2], 10);\n d.timezoneOffset = parts[0] === '+' ? minutes : -minutes;\n }\n }]\n };\n parseFlags.dd = parseFlags.d;\n parseFlags.dddd = parseFlags.ddd;\n parseFlags.DD = parseFlags.D;\n parseFlags.mm = parseFlags.m;\n parseFlags.hh = parseFlags.H = parseFlags.HH = parseFlags.h;\n parseFlags.MM = parseFlags.M;\n parseFlags.ss = parseFlags.s;\n parseFlags.A = parseFlags.a;\n\n // Some common format strings\n fecha.masks = {\n default: 'ddd MMM dd yyyy HH:mm:ss',\n shortDate: 'M/D/yy',\n mediumDate: 'MMM d, yyyy',\n longDate: 'MMMM d, yyyy',\n fullDate: 'dddd, MMMM d, yyyy',\n shortTime: 'HH:mm',\n mediumTime: 'HH:mm:ss',\n longTime: 'HH:mm:ss.SSS'\n };\n\n /***\n * Format a date\n * @method format\n * @param {Date|number} dateObj\n * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate'\n */\n fecha.format = function (dateObj, mask, i18nSettings) {\n var i18n = i18nSettings || fecha.i18n;\n\n if (typeof dateObj === 'number') {\n dateObj = new Date(dateObj);\n }\n\n if (Object.prototype.toString.call(dateObj) !== '[object Date]' || isNaN(dateObj.getTime())) {\n throw new Error('Invalid Date in fecha.format');\n }\n\n mask = fecha.masks[mask] || mask || fecha.masks['default'];\n\n var literals = [];\n\n // Make literals inactive by replacing them with ??\n mask = mask.replace(literal, function ($0, $1) {\n literals.push($1);\n return '@@@';\n });\n // Apply formatting rules\n mask = mask.replace(token, function ($0) {\n return $0 in formatFlags ? formatFlags[$0](dateObj, i18n) : $0.slice(1, $0.length - 1);\n });\n // Inline literal values back into the formatted value\n return mask.replace(/@@@/g, function () {\n return literals.shift();\n });\n };\n\n /**\n * Parse a date string into an object, changes - into /\n * @method parse\n * @param {string} dateStr Date string\n * @param {string} format Date parse format\n * @returns {Date|boolean}\n */\n fecha.parse = function (dateStr, format, i18nSettings) {\n var i18n = i18nSettings || fecha.i18n;\n\n if (typeof format !== 'string') {\n throw new Error('Invalid format in fecha.parse');\n }\n\n format = fecha.masks[format] || format;\n\n // Avoid regular expression denial of service, fail early for really long strings\n // https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS\n if (dateStr.length > 1000) {\n return null;\n }\n\n var dateInfo = {};\n var parseInfo = [];\n var literals = [];\n format = format.replace(literal, function ($0, $1) {\n literals.push($1);\n return '@@@';\n });\n var newFormat = regexEscape(format).replace(token, function ($0) {\n if (parseFlags[$0]) {\n var info = parseFlags[$0];\n parseInfo.push(info[1]);\n return '(' + info[0] + ')';\n }\n\n return $0;\n });\n newFormat = newFormat.replace(/@@@/g, function () {\n return literals.shift();\n });\n var matches = dateStr.match(new RegExp(newFormat, 'i'));\n if (!matches) {\n return null;\n }\n\n for (var i = 1; i < matches.length; i++) {\n parseInfo[i - 1](dateInfo, matches[i], i18n);\n }\n\n var today = new Date();\n if (dateInfo.isPm === true && dateInfo.hour != null && +dateInfo.hour !== 12) {\n dateInfo.hour = +dateInfo.hour + 12;\n } else if (dateInfo.isPm === false && +dateInfo.hour === 12) {\n dateInfo.hour = 0;\n }\n\n var date;\n if (dateInfo.timezoneOffset != null) {\n dateInfo.minute = +(dateInfo.minute || 0) - +dateInfo.timezoneOffset;\n date = new Date(Date.UTC(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0));\n } else {\n date = new Date(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0);\n }\n return date;\n };\n\n /* istanbul ignore next */\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = fecha;\n } else if (typeof define === 'function' && define.amd) {\n define(function () {\n return fecha;\n });\n } else {\n main.fecha = fecha;\n }\n})(undefined);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/coord/View} view\n * @param {Object} payload\n * @param {Object} [zoomLimit]\n */\nfunction updateCenterAndZoom(view, payload, zoomLimit) {\n var previousZoom = view.getZoom();\n var center = view.getCenter();\n var zoom = payload.zoom;\n var point = view.dataToPoint(center);\n\n if (payload.dx != null && payload.dy != null) {\n point[0] -= payload.dx;\n point[1] -= payload.dy;\n var center = view.pointToData(point);\n view.setCenter(center);\n }\n\n if (zoom != null) {\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n zoom = Math.max(Math.min(previousZoom * zoom, zoomMax), zoomMin) / previousZoom;\n } // Zoom on given point(originX, originY)\n\n\n view.scale[0] *= zoom;\n view.scale[1] *= zoom;\n var position = view.position;\n var fixX = (payload.originX - position[0]) * (zoom - 1);\n var fixY = (payload.originY - position[1]) * (zoom - 1);\n position[0] -= fixX;\n position[1] -= fixY;\n view.updateTransform(); // Get the new center\n\n var center = view.pointToData(point);\n view.setCenter(center);\n view.setZoom(zoom * previousZoom);\n }\n\n return {\n center: view.getCenter(),\n zoom: view.getZoom()\n };\n}\n\nexports.updateCenterAndZoom = updateCenterAndZoom;","var PathProxy = require(\"../core/PathProxy\");\n\nvar line = require(\"./line\");\n\nvar cubic = require(\"./cubic\");\n\nvar quadratic = require(\"./quadratic\");\n\nvar arc = require(\"./arc\");\n\nvar _util = require(\"./util\");\n\nvar normalizeRadian = _util.normalizeRadian;\n\nvar curve = require(\"../core/curve\");\n\nvar windingLine = require(\"./windingLine\");\n\nvar CMD = PathProxy.CMD;\nvar PI2 = Math.PI * 2;\nvar EPSILON = 1e-4;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n} // 临时数组\n\n\nvar roots = [-1, -1, -1];\nvar extrema = [-1, -1];\n\nfunction swapExtrema() {\n var tmp = extrema[0];\n extrema[0] = extrema[1];\n extrema[1] = tmp;\n}\n\nfunction windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 && y > y3 || y < y0 && y < y1 && y < y2 && y < y3) {\n return 0;\n }\n\n var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var w = 0;\n var nExtrema = -1;\n var y0_;\n var y1_;\n\n for (var i = 0; i < nRoots; i++) {\n var t = roots[i]; // Avoid winding error when intersection point is the connect point of two line of polygon\n\n var unit = t === 0 || t === 1 ? 0.5 : 1;\n var x_ = curve.cubicAt(x0, x1, x2, x3, t);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (nExtrema < 0) {\n nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema);\n\n if (extrema[1] < extrema[0] && nExtrema > 1) {\n swapExtrema();\n }\n\n y0_ = curve.cubicAt(y0, y1, y2, y3, extrema[0]);\n\n if (nExtrema > 1) {\n y1_ = curve.cubicAt(y0, y1, y2, y3, extrema[1]);\n }\n }\n\n if (nExtrema === 2) {\n // 分成三段单调函数\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else if (t < extrema[1]) {\n w += y1_ < y0_ ? unit : -unit;\n } else {\n w += y3 < y1_ ? unit : -unit;\n }\n } else {\n // 分成两段单调函数\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n } else {\n w += y3 < y0_ ? unit : -unit;\n }\n }\n }\n\n return w;\n }\n}\n\nfunction windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {\n // Quick reject\n if (y > y0 && y > y1 && y > y2 || y < y0 && y < y1 && y < y2) {\n return 0;\n }\n\n var nRoots = curve.quadraticRootAt(y0, y1, y2, y, roots);\n\n if (nRoots === 0) {\n return 0;\n } else {\n var t = curve.quadraticExtremum(y0, y1, y2);\n\n if (t >= 0 && t <= 1) {\n var w = 0;\n var y_ = curve.quadraticAt(y0, y1, y2, t);\n\n for (var i = 0; i < nRoots; i++) {\n // Remove one endpoint.\n var unit = roots[i] === 0 || roots[i] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[i]);\n\n if (x_ < x) {\n // Quick reject\n continue;\n }\n\n if (roots[i] < t) {\n w += y_ < y0 ? unit : -unit;\n } else {\n w += y2 < y_ ? unit : -unit;\n }\n }\n\n return w;\n } else {\n // Remove one endpoint.\n var unit = roots[0] === 0 || roots[0] === 1 ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[0]);\n\n if (x_ < x) {\n // Quick reject\n return 0;\n }\n\n return y2 < y0 ? unit : -unit;\n }\n }\n} // TODO\n// Arc 旋转\n\n\nfunction windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {\n y -= cy;\n\n if (y > r || y < -r) {\n return 0;\n }\n\n var tmp = Math.sqrt(r * r - y * y);\n roots[0] = -tmp;\n roots[1] = tmp;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff < 1e-4) {\n return 0;\n }\n\n if (diff % PI2 < 1e-4) {\n // Is a circle\n startAngle = 0;\n endAngle = PI2;\n var dir = anticlockwise ? 1 : -1;\n\n if (x >= roots[0] + cx && x <= roots[1] + cx) {\n return dir;\n } else {\n return 0;\n }\n }\n\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n } else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n\n var w = 0;\n\n for (var i = 0; i < 2; i++) {\n var x_ = roots[i];\n\n if (x_ + cx > x) {\n var angle = Math.atan2(y, x_);\n var dir = anticlockwise ? 1 : -1;\n\n if (angle < 0) {\n angle = PI2 + angle;\n }\n\n if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {\n if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {\n dir = -dir;\n }\n\n w += dir;\n }\n }\n }\n\n return w;\n}\n\nfunction containPath(data, lineWidth, isStroke, x, y) {\n var w = 0;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++]; // Begin a new subpath\n\n if (cmd === CMD.M && i > 1) {\n // Close previous subpath\n if (!isStroke) {\n w += windingLine(xi, yi, x0, y0, x, y);\n } // 如果被任何一个 subpath 包含\n // if (w !== 0) {\n // return true;\n // }\n\n }\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n break;\n\n case CMD.L:\n if (isStroke) {\n if (line.containStroke(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n // NOTE 在第一个命令为 L, C, Q 的时候会计算出 NaN\n w += windingLine(xi, yi, data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n if (isStroke) {\n if (cubic.containStroke(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n if (isStroke) {\n if (quadratic.containStroke(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n } else {\n w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++]; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n var x1 = Math.cos(theta) * rx + cx;\n var y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令\n\n if (i > 1) {\n w += windingLine(xi, yi, x1, y1, x, y);\n } else {\n // 第一个命令起点还未定义\n x0 = x1;\n y0 = y1;\n } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放\n\n\n var _x = (x - cx) * ry / rx + cx;\n\n if (isStroke) {\n if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {\n return true;\n }\n } else {\n w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);\n }\n\n xi = Math.cos(theta + dTheta) * rx + cx;\n yi = Math.sin(theta + dTheta) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n var x1 = x0 + width;\n var y1 = y0 + height;\n\n if (isStroke) {\n if (line.containStroke(x0, y0, x1, y0, lineWidth, x, y) || line.containStroke(x1, y0, x1, y1, lineWidth, x, y) || line.containStroke(x1, y1, x0, y1, lineWidth, x, y) || line.containStroke(x0, y1, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // FIXME Clockwise ?\n w += windingLine(x1, y0, x1, y1, x, y);\n w += windingLine(x0, y1, x0, y0, x, y);\n }\n\n break;\n\n case CMD.Z:\n if (isStroke) {\n if (line.containStroke(xi, yi, x0, y0, lineWidth, x, y)) {\n return true;\n }\n } else {\n // Close a subpath\n w += windingLine(xi, yi, x0, y0, x, y); // 如果被任何一个 subpath 包含\n // FIXME subpaths may overlap\n // if (w !== 0) {\n // return true;\n // }\n }\n\n xi = x0;\n yi = y0;\n break;\n }\n }\n\n if (!isStroke && !isAroundEqual(yi, y0)) {\n w += windingLine(xi, yi, x0, y0, x, y) || 0;\n }\n\n return w !== 0;\n}\n\nfunction contain(pathData, x, y) {\n return containPath(pathData, 0, false, x, y);\n}\n\nfunction containStroke(pathData, lineWidth, x, y) {\n return containPath(pathData, lineWidth, true, x, y);\n}\n\nexports.contain = contain;\nexports.containStroke = containStroke;","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","'use strict';\n\nexports.__esModule = true;\nexports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined;\n\nvar _date = require('element-ui/lib/utils/date');\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _locale = require('element-ui/lib/locale');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar weeks = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];\nvar months = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];\n\nvar newArray = function newArray(start, end) {\n var result = [];\n for (var i = start; i <= end; i++) {\n result.push(i);\n }\n return result;\n};\n\nvar getI18nSettings = exports.getI18nSettings = function getI18nSettings() {\n return {\n dayNamesShort: weeks.map(function (week) {\n return (0, _locale.t)('el.datepicker.weeks.' + week);\n }),\n dayNames: weeks.map(function (week) {\n return (0, _locale.t)('el.datepicker.weeks.' + week);\n }),\n monthNamesShort: months.map(function (month) {\n return (0, _locale.t)('el.datepicker.months.' + month);\n }),\n monthNames: months.map(function (month, index) {\n return (0, _locale.t)('el.datepicker.month' + (index + 1));\n }),\n amPm: ['am', 'pm']\n };\n};\n\nvar toDate = exports.toDate = function toDate(date) {\n return isDate(date) ? new Date(date) : null;\n};\n\nvar isDate = exports.isDate = function isDate(date) {\n if (date === null || date === undefined) return false;\n if (isNaN(new Date(date).getTime())) return false;\n if (Array.isArray(date)) return false; // deal with `new Date([ new Date() ]) -> new Date()`\n return true;\n};\n\nvar isDateObject = exports.isDateObject = function isDateObject(val) {\n return val instanceof Date;\n};\n\nvar formatDate = exports.formatDate = function formatDate(date, format) {\n date = toDate(date);\n if (!date) return '';\n return _date2.default.format(date, format || 'yyyy-MM-dd', getI18nSettings());\n};\n\nvar parseDate = exports.parseDate = function parseDate(string, format) {\n return _date2.default.parse(string, format || 'yyyy-MM-dd', getI18nSettings());\n};\n\nvar getDayCountOfMonth = exports.getDayCountOfMonth = function getDayCountOfMonth(year, month) {\n if (month === 3 || month === 5 || month === 8 || month === 10) {\n return 30;\n }\n\n if (month === 1) {\n if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {\n return 29;\n } else {\n return 28;\n }\n }\n\n return 31;\n};\n\nvar getDayCountOfYear = exports.getDayCountOfYear = function getDayCountOfYear(year) {\n var isLeapYear = year % 400 === 0 || year % 100 !== 0 && year % 4 === 0;\n return isLeapYear ? 366 : 365;\n};\n\nvar getFirstDayOfMonth = exports.getFirstDayOfMonth = function getFirstDayOfMonth(date) {\n var temp = new Date(date.getTime());\n temp.setDate(1);\n return temp.getDay();\n};\n\n// see: https://stackoverflow.com/questions/3674539/incrementing-a-date-in-javascript\n// {prev, next} Date should work for Daylight Saving Time\n// Adding 24 * 60 * 60 * 1000 does not work in the above scenario\nvar prevDate = exports.prevDate = function prevDate(date) {\n var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n return new Date(date.getFullYear(), date.getMonth(), date.getDate() - amount);\n};\n\nvar nextDate = exports.nextDate = function nextDate(date) {\n var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n return new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount);\n};\n\nvar getStartDateOfMonth = exports.getStartDateOfMonth = function getStartDateOfMonth(year, month) {\n var result = new Date(year, month, 1);\n var day = result.getDay();\n\n if (day === 0) {\n return prevDate(result, 7);\n } else {\n return prevDate(result, day);\n }\n};\n\nvar getWeekNumber = exports.getWeekNumber = function getWeekNumber(src) {\n if (!isDate(src)) return null;\n var date = new Date(src.getTime());\n date.setHours(0, 0, 0, 0);\n // Thursday in current week decides the year.\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n // January 4 is always in week 1.\n var week1 = new Date(date.getFullYear(), 0, 4);\n // Adjust to Thursday in week 1 and count number of weeks from date to week 1.\n // Rounding should be fine for Daylight Saving Time. Its shift should never be more than 12 hours.\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\n};\n\nvar getRangeHours = exports.getRangeHours = function getRangeHours(ranges) {\n var hours = [];\n var disabledHours = [];\n\n (ranges || []).forEach(function (range) {\n var value = range.map(function (date) {\n return date.getHours();\n });\n\n disabledHours = disabledHours.concat(newArray(value[0], value[1]));\n });\n\n if (disabledHours.length) {\n for (var i = 0; i < 24; i++) {\n hours[i] = disabledHours.indexOf(i) === -1;\n }\n } else {\n for (var _i = 0; _i < 24; _i++) {\n hours[_i] = false;\n }\n }\n\n return hours;\n};\n\nvar getPrevMonthLastDays = exports.getPrevMonthLastDays = function getPrevMonthLastDays(date, amount) {\n if (amount <= 0) return [];\n var temp = new Date(date.getTime());\n temp.setDate(0);\n var lastDay = temp.getDate();\n return range(amount).map(function (_, index) {\n return lastDay - (amount - index - 1);\n });\n};\n\nvar getMonthDays = exports.getMonthDays = function getMonthDays(date) {\n var temp = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n var days = temp.getDate();\n return range(days).map(function (_, index) {\n return index + 1;\n });\n};\n\nfunction setRangeData(arr, start, end, value) {\n for (var i = start; i < end; i++) {\n arr[i] = value;\n }\n}\n\nvar getRangeMinutes = exports.getRangeMinutes = function getRangeMinutes(ranges, hour) {\n var minutes = new Array(60);\n\n if (ranges.length > 0) {\n ranges.forEach(function (range) {\n var start = range[0];\n var end = range[1];\n var startHour = start.getHours();\n var startMinute = start.getMinutes();\n var endHour = end.getHours();\n var endMinute = end.getMinutes();\n if (startHour === hour && endHour !== hour) {\n setRangeData(minutes, startMinute, 60, true);\n } else if (startHour === hour && endHour === hour) {\n setRangeData(minutes, startMinute, endMinute + 1, true);\n } else if (startHour !== hour && endHour === hour) {\n setRangeData(minutes, 0, endMinute + 1, true);\n } else if (startHour < hour && endHour > hour) {\n setRangeData(minutes, 0, 60, true);\n }\n });\n } else {\n setRangeData(minutes, 0, 60, true);\n }\n return minutes;\n};\n\nvar range = exports.range = function range(n) {\n // see https://stackoverflow.com/questions/3746725/create-a-javascript-array-containing-1-n\n return Array.apply(null, { length: n }).map(function (_, n) {\n return n;\n });\n};\n\nvar modifyDate = exports.modifyDate = function modifyDate(date, y, m, d) {\n return new Date(y, m, d, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n};\n\nvar modifyTime = exports.modifyTime = function modifyTime(date, h, m, s) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), h, m, s, date.getMilliseconds());\n};\n\nvar modifyWithTimeString = exports.modifyWithTimeString = function modifyWithTimeString(date, time) {\n if (date == null || !time) {\n return date;\n }\n time = parseDate(time, 'HH:mm:ss');\n return modifyTime(date, time.getHours(), time.getMinutes(), time.getSeconds());\n};\n\nvar clearTime = exports.clearTime = function clearTime(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n};\n\nvar clearMilliseconds = exports.clearMilliseconds = function clearMilliseconds(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0);\n};\n\nvar limitTimeRange = exports.limitTimeRange = function limitTimeRange(date, ranges) {\n var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'HH:mm:ss';\n\n // TODO: refactory a more elegant solution\n if (ranges.length === 0) return date;\n var normalizeDate = function normalizeDate(date) {\n return _date2.default.parse(_date2.default.format(date, format), format);\n };\n var ndate = normalizeDate(date);\n var nranges = ranges.map(function (range) {\n return range.map(normalizeDate);\n });\n if (nranges.some(function (nrange) {\n return ndate >= nrange[0] && ndate <= nrange[1];\n })) return date;\n\n var minDate = nranges[0][0];\n var maxDate = nranges[0][0];\n\n nranges.forEach(function (nrange) {\n minDate = new Date(Math.min(nrange[0], minDate));\n maxDate = new Date(Math.max(nrange[1], minDate));\n });\n\n var ret = ndate < minDate ? minDate : maxDate;\n // preserve Year/Month/Date\n return modifyDate(ret, date.getFullYear(), date.getMonth(), date.getDate());\n};\n\nvar timeWithinRange = exports.timeWithinRange = function timeWithinRange(date, selectableRange, format) {\n var limitedDate = limitTimeRange(date, selectableRange, format);\n return limitedDate.getTime() === date.getTime();\n};\n\nvar changeYearMonthAndClampDate = exports.changeYearMonthAndClampDate = function changeYearMonthAndClampDate(date, year, month) {\n // clamp date to the number of days in `year`, `month`\n // eg: (2010-1-31, 2010, 2) => 2010-2-28\n var monthDate = Math.min(date.getDate(), getDayCountOfMonth(year, month));\n return modifyDate(date, year, month, monthDate);\n};\n\nvar prevMonth = exports.prevMonth = function prevMonth(date) {\n var year = date.getFullYear();\n var month = date.getMonth();\n return month === 0 ? changeYearMonthAndClampDate(date, year - 1, 11) : changeYearMonthAndClampDate(date, year, month - 1);\n};\n\nvar nextMonth = exports.nextMonth = function nextMonth(date) {\n var year = date.getFullYear();\n var month = date.getMonth();\n return month === 11 ? changeYearMonthAndClampDate(date, year + 1, 0) : changeYearMonthAndClampDate(date, year, month + 1);\n};\n\nvar prevYear = exports.prevYear = function prevYear(date) {\n var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n var year = date.getFullYear();\n var month = date.getMonth();\n return changeYearMonthAndClampDate(date, year - amount, month);\n};\n\nvar nextYear = exports.nextYear = function nextYear(date) {\n var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n var year = date.getFullYear();\n var month = date.getMonth();\n return changeYearMonthAndClampDate(date, year + amount, month);\n};\n\nvar extractDateFormat = exports.extractDateFormat = function extractDateFormat(format) {\n return format.replace(/\\W?m{1,2}|\\W?ZZ/g, '').replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '').trim();\n};\n\nvar extractTimeFormat = exports.extractTimeFormat = function extractTimeFormat(format) {\n return format.replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?y{2,4}/g, '').trim();\n};\n\nvar validateRangeInOneMonth = exports.validateRangeInOneMonth = function validateRangeInOneMonth(start, end) {\n return start.getMonth() === end.getMonth() && start.getFullYear() === end.getFullYear();\n};","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar ParallelAxis = require(\"./ParallelAxis\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar sliderMove = require(\"../../component/helper/sliderMove\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Parallel Coordinates\n * \n */\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar round = numberUtil.round;\nvar PI = Math.PI;\n\nfunction Parallel(parallelModel, ecModel, api) {\n /**\n * key: dimension\n * @type {Object.}\n * @private\n */\n this._axesMap = zrUtil.createHashMap();\n /**\n * key: dimension\n * value: {position: [], rotation, }\n * @type {Object.}\n * @private\n */\n\n this._axesLayout = {};\n /**\n * Always follow axis order.\n * @type {Array.}\n * @readOnly\n */\n\n this.dimensions = parallelModel.dimensions;\n /**\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._rect;\n /**\n * @type {module:echarts/coord/parallel/ParallelModel}\n */\n\n this._model = parallelModel;\n\n this._init(parallelModel, ecModel, api);\n}\n\nParallel.prototype = {\n type: 'parallel',\n constructor: Parallel,\n\n /**\n * Initialize cartesian coordinate systems\n * @private\n */\n _init: function (parallelModel, ecModel, api) {\n var dimensions = parallelModel.dimensions;\n var parallelAxisIndex = parallelModel.parallelAxisIndex;\n each(dimensions, function (dim, idx) {\n var axisIndex = parallelAxisIndex[idx];\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n\n var axis = this._axesMap.set(dim, new ParallelAxis(dim, axisHelper.createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisIndex));\n\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Injection\n\n axisModel.axis = axis;\n axis.model = axisModel;\n axis.coordinateSystem = axisModel.coordinateSystem = this;\n }, this);\n },\n\n /**\n * Update axis scale after data processed\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n update: function (ecModel, api) {\n this._updateAxesFromSeries(this._model, ecModel);\n },\n\n /**\n * @override\n */\n containPoint: function (point) {\n var layoutInfo = this._makeLayoutInfo();\n\n var axisBase = layoutInfo.axisBase;\n var layoutBase = layoutInfo.layoutBase;\n var pixelDimIndex = layoutInfo.pixelDimIndex;\n var pAxis = point[1 - pixelDimIndex];\n var pLayout = point[pixelDimIndex];\n return pAxis >= axisBase && pAxis <= axisBase + layoutInfo.axisLength && pLayout >= layoutBase && pLayout <= layoutBase + layoutInfo.layoutLength;\n },\n getModel: function () {\n return this._model;\n },\n\n /**\n * Update properties from series\n * @private\n */\n _updateAxesFromSeries: function (parallelModel, ecModel) {\n ecModel.eachSeries(function (seriesModel) {\n if (!parallelModel.contains(seriesModel, ecModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n each(this.dimensions, function (dim) {\n var axis = this._axesMap.get(dim);\n\n axis.scale.unionExtentFromData(data, data.mapDimension(dim));\n axisHelper.niceScaleExtent(axis.scale, axis.model);\n }, this);\n }, this);\n },\n\n /**\n * Resize the parallel coordinate system.\n * @param {module:echarts/coord/parallel/ParallelModel} parallelModel\n * @param {module:echarts/ExtensionAPI} api\n */\n resize: function (parallelModel, api) {\n this._rect = layoutUtil.getLayoutRect(parallelModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n this._layoutAxes();\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getRect: function () {\n return this._rect;\n },\n\n /**\n * @private\n */\n _makeLayoutInfo: function () {\n var parallelModel = this._model;\n var rect = this._rect;\n var xy = ['x', 'y'];\n var wh = ['width', 'height'];\n var layout = parallelModel.get('layout');\n var pixelDimIndex = layout === 'horizontal' ? 0 : 1;\n var layoutLength = rect[wh[pixelDimIndex]];\n var layoutExtent = [0, layoutLength];\n var axisCount = this.dimensions.length;\n var axisExpandWidth = restrict(parallelModel.get('axisExpandWidth'), layoutExtent);\n var axisExpandCount = restrict(parallelModel.get('axisExpandCount') || 0, [0, axisCount]);\n var axisExpandable = parallelModel.get('axisExpandable') && axisCount > 3 && axisCount > axisExpandCount && axisExpandCount > 1 && axisExpandWidth > 0 && layoutLength > 0; // `axisExpandWindow` is According to the coordinates of [0, axisExpandLength],\n // for sake of consider the case that axisCollapseWidth is 0 (when screen is narrow),\n // where collapsed axes should be overlapped.\n\n var axisExpandWindow = parallelModel.get('axisExpandWindow');\n var winSize;\n\n if (!axisExpandWindow) {\n winSize = restrict(axisExpandWidth * (axisExpandCount - 1), layoutExtent);\n var axisExpandCenter = parallelModel.get('axisExpandCenter') || mathFloor(axisCount / 2);\n axisExpandWindow = [axisExpandWidth * axisExpandCenter - winSize / 2];\n axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n } else {\n winSize = restrict(axisExpandWindow[1] - axisExpandWindow[0], layoutExtent);\n axisExpandWindow[1] = axisExpandWindow[0] + winSize;\n }\n\n var axisCollapseWidth = (layoutLength - winSize) / (axisCount - axisExpandCount); // Avoid axisCollapseWidth is too small.\n\n axisCollapseWidth < 3 && (axisCollapseWidth = 0); // Find the first and last indices > ewin[0] and < ewin[1].\n\n var winInnerIndices = [mathFloor(round(axisExpandWindow[0] / axisExpandWidth, 1)) + 1, mathCeil(round(axisExpandWindow[1] / axisExpandWidth, 1)) - 1]; // Pos in ec coordinates.\n\n var axisExpandWindow0Pos = axisCollapseWidth / axisExpandWidth * axisExpandWindow[0];\n return {\n layout: layout,\n pixelDimIndex: pixelDimIndex,\n layoutBase: rect[xy[pixelDimIndex]],\n layoutLength: layoutLength,\n axisBase: rect[xy[1 - pixelDimIndex]],\n axisLength: rect[wh[1 - pixelDimIndex]],\n axisExpandable: axisExpandable,\n axisExpandWidth: axisExpandWidth,\n axisCollapseWidth: axisCollapseWidth,\n axisExpandWindow: axisExpandWindow,\n axisCount: axisCount,\n winInnerIndices: winInnerIndices,\n axisExpandWindow0Pos: axisExpandWindow0Pos\n };\n },\n\n /**\n * @private\n */\n _layoutAxes: function () {\n var rect = this._rect;\n var axes = this._axesMap;\n var dimensions = this.dimensions;\n\n var layoutInfo = this._makeLayoutInfo();\n\n var layout = layoutInfo.layout;\n axes.each(function (axis) {\n var axisExtent = [0, layoutInfo.axisLength];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(axisExtent[idx], axisExtent[1 - idx]);\n });\n each(dimensions, function (dim, idx) {\n var posInfo = (layoutInfo.axisExpandable ? layoutAxisWithExpand : layoutAxisWithoutExpand)(idx, layoutInfo);\n var positionTable = {\n horizontal: {\n x: posInfo.position,\n y: layoutInfo.axisLength\n },\n vertical: {\n x: 0,\n y: posInfo.position\n }\n };\n var rotationTable = {\n horizontal: PI / 2,\n vertical: 0\n };\n var position = [positionTable[layout].x + rect.x, positionTable[layout].y + rect.y];\n var rotation = rotationTable[layout];\n var transform = matrix.create();\n matrix.rotate(transform, transform, rotation);\n matrix.translate(transform, transform, position); // TODO\n // tick等排布信息。\n // TODO\n // 根据axis order 更新 dimensions顺序。\n\n this._axesLayout[dim] = {\n position: position,\n rotation: rotation,\n transform: transform,\n axisNameAvailableWidth: posInfo.axisNameAvailableWidth,\n axisLabelShow: posInfo.axisLabelShow,\n nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,\n tickDirection: 1,\n labelDirection: 1\n };\n }, this);\n },\n\n /**\n * Get axis by dim.\n * @param {string} dim\n * @return {module:echarts/coord/parallel/ParallelAxis} [description]\n */\n getAxis: function (dim) {\n return this._axesMap.get(dim);\n },\n\n /**\n * Convert a dim value of a single item of series data to Point.\n * @param {*} value\n * @param {string} dim\n * @return {Array}\n */\n dataToPoint: function (value, dim) {\n return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value), dim);\n },\n\n /**\n * Travel data for one time, get activeState of each data item.\n * @param {module:echarts/data/List} data\n * @param {Functio} cb param: {string} activeState 'active' or 'inactive' or 'normal'\n * {number} dataIndex\n * @param {number} [start=0] the start dataIndex that travel from.\n * @param {number} [end=data.count()] the next dataIndex of the last dataIndex will be travel.\n */\n eachActiveState: function (data, callback, start, end) {\n start == null && (start = 0);\n end == null && (end = data.count());\n var axesMap = this._axesMap;\n var dimensions = this.dimensions;\n var dataDimensions = [];\n var axisModels = [];\n zrUtil.each(dimensions, function (axisDim) {\n dataDimensions.push(data.mapDimension(axisDim));\n axisModels.push(axesMap.get(axisDim).model);\n });\n var hasActiveSet = this.hasAxisBrushed();\n\n for (var dataIndex = start; dataIndex < end; dataIndex++) {\n var activeState;\n\n if (!hasActiveSet) {\n activeState = 'normal';\n } else {\n activeState = 'active';\n var values = data.getValues(dataDimensions, dataIndex);\n\n for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n var state = axisModels[j].getActiveState(values[j]);\n\n if (state === 'inactive') {\n activeState = 'inactive';\n break;\n }\n }\n }\n\n callback(activeState, dataIndex);\n }\n },\n\n /**\n * Whether has any activeSet.\n * @return {boolean}\n */\n hasAxisBrushed: function () {\n var dimensions = this.dimensions;\n var axesMap = this._axesMap;\n var hasActiveSet = false;\n\n for (var j = 0, lenj = dimensions.length; j < lenj; j++) {\n if (axesMap.get(dimensions[j]).model.getActiveState() !== 'normal') {\n hasActiveSet = true;\n }\n }\n\n return hasActiveSet;\n },\n\n /**\n * Convert coords of each axis to Point.\n * Return point. For example: [10, 20]\n * @param {Array.} coords\n * @param {string} dim\n * @return {Array.}\n */\n axisCoordToPoint: function (coord, dim) {\n var axisLayout = this._axesLayout[dim];\n return graphic.applyTransform([coord, 0], axisLayout.transform);\n },\n\n /**\n * Get axis layout.\n */\n getAxisLayout: function (dim) {\n return zrUtil.clone(this._axesLayout[dim]);\n },\n\n /**\n * @param {Array.} point\n * @return {Object} {axisExpandWindow, delta, behavior: 'jump' | 'slide' | 'none'}.\n */\n getSlidedAxisExpandWindow: function (point) {\n var layoutInfo = this._makeLayoutInfo();\n\n var pixelDimIndex = layoutInfo.pixelDimIndex;\n var axisExpandWindow = layoutInfo.axisExpandWindow.slice();\n var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var extent = [0, layoutInfo.axisExpandWidth * (layoutInfo.axisCount - 1)]; // Out of the area of coordinate system.\n\n if (!this.containPoint(point)) {\n return {\n behavior: 'none',\n axisExpandWindow: axisExpandWindow\n };\n } // Conver the point from global to expand coordinates.\n\n\n var pointCoord = point[pixelDimIndex] - layoutInfo.layoutBase - layoutInfo.axisExpandWindow0Pos; // For dragging operation convenience, the window should not be\n // slided when mouse is the center area of the window.\n\n var delta;\n var behavior = 'slide';\n var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n\n var triggerArea = this._model.get('axisExpandSlideTriggerArea'); // But consider touch device, jump is necessary.\n\n\n var useJump = triggerArea[0] != null;\n\n if (axisCollapseWidth) {\n if (useJump && axisCollapseWidth && pointCoord < winSize * triggerArea[0]) {\n behavior = 'jump';\n delta = pointCoord - winSize * triggerArea[2];\n } else if (useJump && axisCollapseWidth && pointCoord > winSize * (1 - triggerArea[0])) {\n behavior = 'jump';\n delta = pointCoord - winSize * (1 - triggerArea[2]);\n } else {\n (delta = pointCoord - winSize * triggerArea[1]) >= 0 && (delta = pointCoord - winSize * (1 - triggerArea[1])) <= 0 && (delta = 0);\n }\n\n delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;\n delta ? sliderMove(delta, axisExpandWindow, extent, 'all') // Avoid nonsense triger on mousemove.\n : behavior = 'none';\n } // When screen is too narrow, make it visible and slidable, although it is hard to interact.\n else {\n var winSize = axisExpandWindow[1] - axisExpandWindow[0];\n var pos = extent[1] * pointCoord / winSize;\n axisExpandWindow = [mathMax(0, pos - winSize / 2)];\n axisExpandWindow[1] = mathMin(extent[1], axisExpandWindow[0] + winSize);\n axisExpandWindow[0] = axisExpandWindow[1] - winSize;\n }\n\n return {\n axisExpandWindow: axisExpandWindow,\n behavior: behavior\n };\n }\n};\n\nfunction restrict(len, extent) {\n return mathMin(mathMax(len, extent[0]), extent[1]);\n}\n\nfunction layoutAxisWithoutExpand(axisIndex, layoutInfo) {\n var step = layoutInfo.layoutLength / (layoutInfo.axisCount - 1);\n return {\n position: step * axisIndex,\n axisNameAvailableWidth: step,\n axisLabelShow: true\n };\n}\n\nfunction layoutAxisWithExpand(axisIndex, layoutInfo) {\n var layoutLength = layoutInfo.layoutLength;\n var axisExpandWidth = layoutInfo.axisExpandWidth;\n var axisCount = layoutInfo.axisCount;\n var axisCollapseWidth = layoutInfo.axisCollapseWidth;\n var winInnerIndices = layoutInfo.winInnerIndices;\n var position;\n var axisNameAvailableWidth = axisCollapseWidth;\n var axisLabelShow = false;\n var nameTruncateMaxWidth;\n\n if (axisIndex < winInnerIndices[0]) {\n position = axisIndex * axisCollapseWidth;\n nameTruncateMaxWidth = axisCollapseWidth;\n } else if (axisIndex <= winInnerIndices[1]) {\n position = layoutInfo.axisExpandWindow0Pos + axisIndex * axisExpandWidth - layoutInfo.axisExpandWindow[0];\n axisNameAvailableWidth = axisExpandWidth;\n axisLabelShow = true;\n } else {\n position = layoutLength - (axisCount - 1 - axisIndex) * axisCollapseWidth;\n nameTruncateMaxWidth = axisCollapseWidth;\n }\n\n return {\n position: position,\n axisNameAvailableWidth: axisNameAvailableWidth,\n axisLabelShow: axisLabelShow,\n nameTruncateMaxWidth: nameTruncateMaxWidth\n };\n}\n\nvar _default = Parallel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PolarAxisModel = ComponentModel.extend({\n type: 'polarAxis',\n\n /**\n * @type {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n axis: null,\n\n /**\n * @override\n */\n getCoordSysModel: function () {\n return this.ecModel.queryComponents({\n mainType: 'polar',\n index: this.option.polarIndex,\n id: this.option.polarId\n })[0];\n }\n});\nzrUtil.merge(PolarAxisModel.prototype, axisModelCommonMixin);\nvar polarAxisDefaultExtendedOption = {\n angle: {\n // polarIndex: 0,\n // polarId: '',\n startAngle: 90,\n clockwise: true,\n splitNumber: 12,\n axisLabel: {\n rotate: false\n }\n },\n radius: {\n // polarIndex: 0,\n // polarId: '',\n splitNumber: 5\n }\n};\n\nfunction getAxisType(axisDim, option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}\n\naxisModelCreator('angle', PolarAxisModel, getAxisType, polarAxisDefaultExtendedOption.angle);\naxisModelCreator('radius', PolarAxisModel, getAxisType, polarAxisDefaultExtendedOption.radius);","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var Path = require(\"../Path\");\n\n/**\n * 圆形\n * @module zrender/shape/Circle\n */\nvar _default = Path.extend({\n type: 'circle',\n shape: {\n cx: 0,\n cy: 0,\n r: 0\n },\n buildPath: function (ctx, shape, inBundle) {\n // Better stroking in ShapeBundle\n // Always do it may have performence issue ( fill may be 2x more cost)\n if (inBundle) {\n ctx.moveTo(shape.cx + shape.r, shape.cy);\n } // else {\n // if (ctx.allocate && !ctx.data.length) {\n // ctx.allocate(ctx.CMD_MEM_SIZE.A);\n // }\n // }\n // Better stroking in ShapeBundle\n // ctx.moveTo(shape.cx + shape.r, shape.cy);\n\n\n ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./treemap/TreemapSeries\");\n\nrequire(\"./treemap/TreemapView\");\n\nrequire(\"./treemap/treemapAction\");\n\nvar treemapVisual = require(\"./treemap/treemapVisual\");\n\nvar treemapLayout = require(\"./treemap/treemapLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(treemapVisual);\necharts.registerLayout(treemapLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkPointModel\");\n\nrequire(\"./marker/MarkPointView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// HINT Markpoint can't be used too much\necharts.registerPreprocessor(function (opt) {\n // Make sure markPoint component is enabled\n opt.markPoint = opt.markPoint || {};\n});","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar featureManager = require(\"./featureManager\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Model = require(\"../../model/Model\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\nvar listComponentHelper = require(\"../helper/listComponent\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendComponentView({\n type: 'toolbox',\n render: function (toolboxModel, ecModel, api, payload) {\n var group = this.group;\n group.removeAll();\n\n if (!toolboxModel.get('show')) {\n return;\n }\n\n var itemSize = +toolboxModel.get('itemSize');\n var featureOpts = toolboxModel.get('feature') || {};\n var features = this._features || (this._features = {});\n var featureNames = [];\n zrUtil.each(featureOpts, function (opt, name) {\n featureNames.push(name);\n });\n new DataDiffer(this._featureNames || [], featureNames).add(processFeature).update(processFeature).remove(zrUtil.curry(processFeature, null)).execute(); // Keep for diff.\n\n this._featureNames = featureNames;\n\n function processFeature(newIndex, oldIndex) {\n var featureName = featureNames[newIndex];\n var oldName = featureNames[oldIndex];\n var featureOpt = featureOpts[featureName];\n var featureModel = new Model(featureOpt, toolboxModel, toolboxModel.ecModel);\n var feature; // FIX#11236, merge feature title from MagicType newOption. TODO: consider seriesIndex ?\n\n if (payload && payload.newTitle != null && payload.featureName === featureName) {\n featureOpt.title = payload.newTitle;\n }\n\n if (featureName && !oldName) {\n // Create\n if (isUserFeatureName(featureName)) {\n feature = {\n model: featureModel,\n onclick: featureModel.option.onclick,\n featureName: featureName\n };\n } else {\n var Feature = featureManager.get(featureName);\n\n if (!Feature) {\n return;\n }\n\n feature = new Feature(featureModel, ecModel, api);\n }\n\n features[featureName] = feature;\n } else {\n feature = features[oldName]; // If feature does not exsit.\n\n if (!feature) {\n return;\n }\n\n feature.model = featureModel;\n feature.ecModel = ecModel;\n feature.api = api;\n }\n\n if (!featureName && oldName) {\n feature.dispose && feature.dispose(ecModel, api);\n return;\n }\n\n if (!featureModel.get('show') || feature.unusable) {\n feature.remove && feature.remove(ecModel, api);\n return;\n }\n\n createIconPaths(featureModel, feature, featureName);\n\n featureModel.setIconStatus = function (iconName, status) {\n var option = this.option;\n var iconPaths = this.iconPaths;\n option.iconStatus = option.iconStatus || {};\n option.iconStatus[iconName] = status; // FIXME\n\n iconPaths[iconName] && iconPaths[iconName].trigger(status);\n };\n\n if (feature.render) {\n feature.render(featureModel, ecModel, api, payload);\n }\n }\n\n function createIconPaths(featureModel, feature, featureName) {\n var iconStyleModel = featureModel.getModel('iconStyle');\n var iconStyleEmphasisModel = featureModel.getModel('emphasis.iconStyle'); // If one feature has mutiple icon. they are orginaized as\n // {\n // icon: {\n // foo: '',\n // bar: ''\n // },\n // title: {\n // foo: '',\n // bar: ''\n // }\n // }\n\n var icons = feature.getIcons ? feature.getIcons() : featureModel.get('icon');\n var titles = featureModel.get('title') || {};\n\n if (typeof icons === 'string') {\n var icon = icons;\n var title = titles;\n icons = {};\n titles = {};\n icons[featureName] = icon;\n titles[featureName] = title;\n }\n\n var iconPaths = featureModel.iconPaths = {};\n zrUtil.each(icons, function (iconStr, iconName) {\n var path = graphic.createIcon(iconStr, {}, {\n x: -itemSize / 2,\n y: -itemSize / 2,\n width: itemSize,\n height: itemSize\n });\n path.setStyle(iconStyleModel.getItemStyle());\n path.hoverStyle = iconStyleEmphasisModel.getItemStyle(); // Text position calculation\n\n path.setStyle({\n text: titles[iconName],\n textAlign: iconStyleEmphasisModel.get('textAlign'),\n textBorderRadius: iconStyleEmphasisModel.get('textBorderRadius'),\n textPadding: iconStyleEmphasisModel.get('textPadding'),\n textFill: null\n });\n var tooltipModel = toolboxModel.getModel('tooltip');\n\n if (tooltipModel && tooltipModel.get('show')) {\n path.attr('tooltip', zrUtil.extend({\n content: titles[iconName],\n formatter: tooltipModel.get('formatter', true) || function () {\n return titles[iconName];\n },\n formatterParams: {\n componentType: 'toolbox',\n name: iconName,\n title: titles[iconName],\n $vars: ['name', 'title']\n },\n position: tooltipModel.get('position', true) || 'bottom'\n }, tooltipModel.option));\n }\n\n graphic.setHoverStyle(path);\n\n if (toolboxModel.get('showTitle')) {\n path.__title = titles[iconName];\n path.on('mouseover', function () {\n // Should not reuse above hoverStyle, which might be modified.\n var hoverStyle = iconStyleEmphasisModel.getItemStyle();\n var defaultTextPosition = toolboxModel.get('orient') === 'vertical' ? toolboxModel.get('right') == null ? 'right' : 'left' : toolboxModel.get('bottom') == null ? 'bottom' : 'top';\n path.setStyle({\n textFill: iconStyleEmphasisModel.get('textFill') || hoverStyle.fill || hoverStyle.stroke || '#000',\n textBackgroundColor: iconStyleEmphasisModel.get('textBackgroundColor'),\n textPosition: iconStyleEmphasisModel.get('textPosition') || defaultTextPosition\n });\n }).on('mouseout', function () {\n path.setStyle({\n textFill: null,\n textBackgroundColor: null\n });\n });\n }\n\n path.trigger(featureModel.get('iconStatus.' + iconName) || 'normal');\n group.add(path);\n path.on('click', zrUtil.bind(feature.onclick, feature, ecModel, api, iconName));\n iconPaths[iconName] = path;\n });\n }\n\n listComponentHelper.layout(group, toolboxModel, api); // Render background after group is layout\n // FIXME\n\n group.add(listComponentHelper.makeBackground(group.getBoundingRect(), toolboxModel)); // Adjust icon title positions to avoid them out of screen\n\n group.eachChild(function (icon) {\n var titleText = icon.__title;\n var hoverStyle = icon.hoverStyle; // May be background element\n\n if (hoverStyle && titleText) {\n var rect = textContain.getBoundingRect(titleText, textContain.makeFont(hoverStyle));\n var offsetX = icon.position[0] + group.position[0];\n var offsetY = icon.position[1] + group.position[1] + itemSize;\n var needPutOnTop = false;\n\n if (offsetY + rect.height > api.getHeight()) {\n hoverStyle.textPosition = 'top';\n needPutOnTop = true;\n }\n\n var topOffset = needPutOnTop ? -5 - rect.height : itemSize + 8;\n\n if (offsetX + rect.width / 2 > api.getWidth()) {\n hoverStyle.textPosition = ['100%', topOffset];\n hoverStyle.textAlign = 'right';\n } else if (offsetX - rect.width / 2 < 0) {\n hoverStyle.textPosition = [0, topOffset];\n hoverStyle.textAlign = 'left';\n }\n }\n });\n },\n updateView: function (toolboxModel, ecModel, api, payload) {\n zrUtil.each(this._features, function (feature) {\n feature.updateView && feature.updateView(feature.model, ecModel, api, payload);\n });\n },\n // updateLayout: function (toolboxModel, ecModel, api, payload) {\n // zrUtil.each(this._features, function (feature) {\n // feature.updateLayout && feature.updateLayout(feature.model, ecModel, api, payload);\n // });\n // },\n remove: function (ecModel, api) {\n zrUtil.each(this._features, function (feature) {\n feature.remove && feature.remove(ecModel, api);\n });\n this.group.removeAll();\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._features, function (feature) {\n feature.dispose && feature.dispose(ecModel, api);\n });\n }\n});\n\nfunction isUserFeatureName(featureName) {\n return featureName.indexOf('my') === 0;\n}\n\nmodule.exports = _default;","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var _core = require(\"./core\");\n\nvar createElement = _core.createElement;\n\nvar util = require(\"../core/util\");\n\nvar logError = require(\"../core/log\");\n\nvar Path = require(\"../graphic/Path\");\n\nvar ZImage = require(\"../graphic/Image\");\n\nvar ZText = require(\"../graphic/Text\");\n\nvar arrayDiff = require(\"../core/arrayDiff2\");\n\nvar GradientManager = require(\"./helper/GradientManager\");\n\nvar ClippathManager = require(\"./helper/ClippathManager\");\n\nvar ShadowManager = require(\"./helper/ShadowManager\");\n\nvar _graphic = require(\"./graphic\");\n\nvar svgPath = _graphic.path;\nvar svgImage = _graphic.image;\nvar svgText = _graphic.text;\n\n/**\n * SVG Painter\n * @module zrender/svg/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction getSvgProxy(el) {\n if (el instanceof Path) {\n return svgPath;\n } else if (el instanceof ZImage) {\n return svgImage;\n } else if (el instanceof ZText) {\n return svgText;\n } else {\n return svgPath;\n }\n}\n\nfunction checkParentAvailable(parent, child) {\n return child && parent && child.parentNode !== parent;\n}\n\nfunction insertAfter(parent, child, prevSibling) {\n if (checkParentAvailable(parent, child) && prevSibling) {\n var nextSibling = prevSibling.nextSibling;\n nextSibling ? parent.insertBefore(child, nextSibling) : parent.appendChild(child);\n }\n}\n\nfunction prepend(parent, child) {\n if (checkParentAvailable(parent, child)) {\n var firstChild = parent.firstChild;\n firstChild ? parent.insertBefore(child, firstChild) : parent.appendChild(child);\n }\n} // function append(parent, child) {\n// if (checkParentAvailable(parent, child)) {\n// parent.appendChild(child);\n// }\n// }\n\n\nfunction remove(parent, child) {\n if (child && parent && child.parentNode === parent) {\n parent.removeChild(child);\n }\n}\n\nfunction getTextSvgElement(displayable) {\n return displayable.__textSvgEl;\n}\n\nfunction getSvgElement(displayable) {\n return displayable.__svgEl;\n}\n/**\n * @alias module:zrender/svg/Painter\n * @constructor\n * @param {HTMLElement} root 绘图容器\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar SVGPainter = function (root, storage, opts, zrId) {\n this.root = root;\n this.storage = storage;\n this._opts = opts = util.extend({}, opts || {});\n var svgDom = createElement('svg');\n svgDom.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgDom.setAttribute('version', '1.1');\n svgDom.setAttribute('baseProfile', 'full');\n svgDom.style.cssText = 'user-select:none;position:absolute;left:0;top:0;';\n var bgRoot = createElement('g');\n svgDom.appendChild(bgRoot);\n var svgRoot = createElement('g');\n svgDom.appendChild(svgRoot);\n this.gradientManager = new GradientManager(zrId, svgRoot);\n this.clipPathManager = new ClippathManager(zrId, svgRoot);\n this.shadowManager = new ShadowManager(zrId, svgRoot);\n var viewport = document.createElement('div');\n viewport.style.cssText = 'overflow:hidden;position:relative';\n this._svgDom = svgDom;\n this._svgRoot = svgRoot;\n this._backgroundRoot = bgRoot;\n this._viewport = viewport;\n root.appendChild(viewport);\n viewport.appendChild(svgDom);\n this.resize(opts.width, opts.height);\n this._visibleList = [];\n};\n\nSVGPainter.prototype = {\n constructor: SVGPainter,\n getType: function () {\n return 'svg';\n },\n getViewportRoot: function () {\n return this._viewport;\n },\n getSvgDom: function () {\n return this._svgDom;\n },\n getSvgRoot: function () {\n return this._svgRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n refresh: function () {\n var list = this.storage.getDisplayList(true);\n\n this._paintList(list);\n },\n setBackgroundColor: function (backgroundColor) {\n // TODO gradient\n // Insert a bg rect instead of setting background to viewport.\n // Otherwise, the exported SVG don't have background.\n if (this._backgroundRoot && this._backgroundNode) {\n this._backgroundRoot.removeChild(this._backgroundNode);\n }\n\n var bgNode = createElement('rect');\n bgNode.setAttribute('width', this.getWidth());\n bgNode.setAttribute('height', this.getHeight());\n bgNode.setAttribute('x', 0);\n bgNode.setAttribute('y', 0);\n bgNode.setAttribute('id', 0);\n bgNode.style.fill = backgroundColor;\n\n this._backgroundRoot.appendChild(bgNode);\n\n this._backgroundNode = bgNode;\n },\n _paintList: function (list) {\n this.gradientManager.markAllUnused();\n this.clipPathManager.markAllUnused();\n this.shadowManager.markAllUnused();\n var svgRoot = this._svgRoot;\n var visibleList = this._visibleList;\n var listLen = list.length;\n var newVisibleList = [];\n var i;\n\n for (i = 0; i < listLen; i++) {\n var displayable = list[i];\n var svgProxy = getSvgProxy(displayable);\n var svgElement = getSvgElement(displayable) || getTextSvgElement(displayable);\n\n if (!displayable.invisible) {\n if (displayable.__dirty) {\n svgProxy && svgProxy.brush(displayable); // Update clipPath\n\n this.clipPathManager.update(displayable); // Update gradient and shadow\n\n if (displayable.style) {\n this.gradientManager.update(displayable.style.fill);\n this.gradientManager.update(displayable.style.stroke);\n this.shadowManager.update(svgElement, displayable);\n }\n\n displayable.__dirty = false;\n }\n\n newVisibleList.push(displayable);\n }\n }\n\n var diff = arrayDiff(visibleList, newVisibleList);\n var prevSvgElement; // First do remove, in case element moved to the head and do remove\n // after add\n\n for (i = 0; i < diff.length; i++) {\n var item = diff[i];\n\n if (item.removed) {\n for (var k = 0; k < item.count; k++) {\n var displayable = visibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n remove(svgRoot, svgElement);\n remove(svgRoot, textSvgElement);\n }\n }\n }\n\n for (i = 0; i < diff.length; i++) {\n var item = diff[i];\n\n if (item.added) {\n for (var k = 0; k < item.count; k++) {\n var displayable = newVisibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n prevSvgElement ? insertAfter(svgRoot, svgElement, prevSvgElement) : prepend(svgRoot, svgElement);\n\n if (svgElement) {\n insertAfter(svgRoot, textSvgElement, svgElement);\n } else if (prevSvgElement) {\n insertAfter(svgRoot, textSvgElement, prevSvgElement);\n } else {\n prepend(svgRoot, textSvgElement);\n } // Insert text\n\n\n insertAfter(svgRoot, textSvgElement, svgElement);\n prevSvgElement = textSvgElement || svgElement || prevSvgElement; // zrender.Text only create textSvgElement.\n\n this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.clipPathManager.markUsed(displayable);\n }\n } else if (!item.removed) {\n for (var k = 0; k < item.count; k++) {\n var displayable = newVisibleList[item.indices[k]];\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n var svgElement = getSvgElement(displayable);\n var textSvgElement = getTextSvgElement(displayable);\n this.gradientManager.markUsed(displayable);\n this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.shadowManager.markUsed(displayable);\n this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);\n this.clipPathManager.markUsed(displayable);\n\n if (textSvgElement) {\n // Insert text.\n insertAfter(svgRoot, textSvgElement, svgElement);\n }\n\n prevSvgElement = svgElement || textSvgElement || prevSvgElement;\n }\n }\n }\n\n this.gradientManager.removeUnused();\n this.clipPathManager.removeUnused();\n this.shadowManager.removeUnused();\n this._visibleList = newVisibleList;\n },\n _getDefs: function (isForceCreating) {\n var svgRoot = this._svgDom;\n var defs = svgRoot.getElementsByTagName('defs');\n\n if (defs.length === 0) {\n // Not exist\n if (isForceCreating) {\n var defs = svgRoot.insertBefore(createElement('defs'), // Create new tag\n svgRoot.firstChild // Insert in the front of svg\n );\n\n if (!defs.contains) {\n // IE doesn't support contains method\n defs.contains = function (el) {\n var children = defs.children;\n\n if (!children) {\n return false;\n }\n\n for (var i = children.length - 1; i >= 0; --i) {\n if (children[i] === el) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n return defs;\n } else {\n return null;\n }\n } else {\n return defs[0];\n }\n },\n resize: function (width, height) {\n var viewport = this._viewport; // FIXME Why ?\n\n viewport.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n viewport.style.display = '';\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var viewportStyle = viewport.style;\n viewportStyle.width = width + 'px';\n viewportStyle.height = height + 'px';\n var svgRoot = this._svgDom; // Set width by 'svgRoot.width = width' is invalid\n\n svgRoot.setAttribute('width', width);\n svgRoot.setAttribute('height', height);\n }\n\n if (this._backgroundNode) {\n this._backgroundNode.setAttribute('width', width);\n\n this._backgroundNode.setAttribute('height', height);\n }\n },\n\n /**\n * 获取绘图区域宽度\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * 获取绘图区域高度\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._opts;\n var wh = ['width', 'height'][whIdx];\n var cwh = ['clientWidth', 'clientHeight'][whIdx];\n var plt = ['paddingLeft', 'paddingTop'][whIdx];\n var prb = ['paddingRight', 'paddingBottom'][whIdx];\n\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._svgRoot = this._backgroundRoot = this._svgDom = this._backgroundNode = this._viewport = this.storage = null;\n },\n clear: function () {\n if (this._viewport) {\n this.root.removeChild(this._viewport);\n }\n },\n toDataURL: function () {\n this.refresh();\n var html = encodeURIComponent(this._svgDom.outerHTML.replace(/>\\n\\r<'));\n return 'data:image/svg+xml;charset=UTF-8,' + html;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n logError('In SVG mode painter not support method \"' + method + '\"');\n };\n} // Unsuppoted methods\n\n\nutil.each(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'pathToImage'], function (name) {\n SVGPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = SVGPainter;\nmodule.exports = _default;","var Pattern = function (image, repeat) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {image: ...}`, where this constructor will not be called.\n this.image = image;\n this.repeat = repeat; // Can be cloned\n\n this.type = 'pattern';\n};\n\nPattern.prototype.getCanvasPattern = function (ctx) {\n return ctx.createPattern(this.image, this.repeat || 'repeat');\n};\n\nvar _default = Pattern;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar clazzUtil = require(\"../../util/clazz\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar axisPointerModelHelper = require(\"./modelHelper\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\nvar clone = zrUtil.clone;\nvar bind = zrUtil.bind;\n/**\n * Base axis pointer class in 2D.\n * Implemenents {module:echarts/component/axis/IAxisPointer}.\n */\n\nfunction BaseAxisPointer() {}\n\nBaseAxisPointer.prototype = {\n /**\n * @private\n */\n _group: null,\n\n /**\n * @private\n */\n _lastGraphicKey: null,\n\n /**\n * @private\n */\n _handle: null,\n\n /**\n * @private\n */\n _dragging: false,\n\n /**\n * @private\n */\n _lastValue: null,\n\n /**\n * @private\n */\n _lastStatus: null,\n\n /**\n * @private\n */\n _payloadInfo: null,\n\n /**\n * In px, arbitrary value. Do not set too small,\n * no animation is ok for most cases.\n * @protected\n */\n animationThreshold: 15,\n\n /**\n * @implement\n */\n render: function (axisModel, axisPointerModel, api, forceRender) {\n var value = axisPointerModel.get('value');\n var status = axisPointerModel.get('status'); // Bind them to `this`, not in closure, otherwise they will not\n // be replaced when user calling setOption in not merge mode.\n\n this._axisModel = axisModel;\n this._axisPointerModel = axisPointerModel;\n this._api = api; // Optimize: `render` will be called repeatly during mouse move.\n // So it is power consuming if performing `render` each time,\n // especially on mobile device.\n\n if (!forceRender && this._lastValue === value && this._lastStatus === status) {\n return;\n }\n\n this._lastValue = value;\n this._lastStatus = status;\n var group = this._group;\n var handle = this._handle;\n\n if (!status || status === 'hide') {\n // Do not clear here, for animation better.\n group && group.hide();\n handle && handle.hide();\n return;\n }\n\n group && group.show();\n handle && handle.show(); // Otherwise status is 'show'\n\n var elOption = {};\n this.makeElOption(elOption, value, axisModel, axisPointerModel, api); // Enable change axis pointer type.\n\n var graphicKey = elOption.graphicKey;\n\n if (graphicKey !== this._lastGraphicKey) {\n this.clear(api);\n }\n\n this._lastGraphicKey = graphicKey;\n var moveAnimation = this._moveAnimation = this.determineAnimation(axisModel, axisPointerModel);\n\n if (!group) {\n group = this._group = new graphic.Group();\n this.createPointerEl(group, elOption, axisModel, axisPointerModel);\n this.createLabelEl(group, elOption, axisModel, axisPointerModel);\n api.getZr().add(group);\n } else {\n var doUpdateProps = zrUtil.curry(updateProps, axisPointerModel, moveAnimation);\n this.updatePointerEl(group, elOption, doUpdateProps, axisPointerModel);\n this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);\n }\n\n updateMandatoryProps(group, axisPointerModel, true);\n\n this._renderHandle(value);\n },\n\n /**\n * @implement\n */\n remove: function (api) {\n this.clear(api);\n },\n\n /**\n * @implement\n */\n dispose: function (api) {\n this.clear(api);\n },\n\n /**\n * @protected\n */\n determineAnimation: function (axisModel, axisPointerModel) {\n var animation = axisPointerModel.get('animation');\n var axis = axisModel.axis;\n var isCategoryAxis = axis.type === 'category';\n var useSnap = axisPointerModel.get('snap'); // Value axis without snap always do not snap.\n\n if (!useSnap && !isCategoryAxis) {\n return false;\n }\n\n if (animation === 'auto' || animation == null) {\n var animationThreshold = this.animationThreshold;\n\n if (isCategoryAxis && axis.getBandWidth() > animationThreshold) {\n return true;\n } // It is important to auto animation when snap used. Consider if there is\n // a dataZoom, animation will be disabled when too many points exist, while\n // it will be enabled for better visual effect when little points exist.\n\n\n if (useSnap) {\n var seriesDataCount = axisPointerModelHelper.getAxisInfo(axisModel).seriesDataCount;\n var axisExtent = axis.getExtent(); // Approximate band width\n\n return Math.abs(axisExtent[0] - axisExtent[1]) / seriesDataCount > animationThreshold;\n }\n\n return false;\n }\n\n return animation === true;\n },\n\n /**\n * add {pointer, label, graphicKey} to elOption\n * @protected\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {// Shoule be implemenented by sub-class.\n },\n\n /**\n * @protected\n */\n createPointerEl: function (group, elOption, axisModel, axisPointerModel) {\n var pointerOption = elOption.pointer;\n\n if (pointerOption) {\n var pointerEl = inner(group).pointerEl = new graphic[pointerOption.type](clone(elOption.pointer));\n group.add(pointerEl);\n }\n },\n\n /**\n * @protected\n */\n createLabelEl: function (group, elOption, axisModel, axisPointerModel) {\n if (elOption.label) {\n var labelEl = inner(group).labelEl = new graphic.Rect(clone(elOption.label));\n group.add(labelEl);\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n },\n\n /**\n * @protected\n */\n updatePointerEl: function (group, elOption, updateProps) {\n var pointerEl = inner(group).pointerEl;\n\n if (pointerEl && elOption.pointer) {\n pointerEl.setStyle(elOption.pointer.style);\n updateProps(pointerEl, {\n shape: elOption.pointer.shape\n });\n }\n },\n\n /**\n * @protected\n */\n updateLabelEl: function (group, elOption, updateProps, axisPointerModel) {\n var labelEl = inner(group).labelEl;\n\n if (labelEl) {\n labelEl.setStyle(elOption.label.style);\n updateProps(labelEl, {\n // Consider text length change in vertical axis, animation should\n // be used on shape, otherwise the effect will be weird.\n shape: elOption.label.shape,\n position: elOption.label.position\n });\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n },\n\n /**\n * @private\n */\n _renderHandle: function (value) {\n if (this._dragging || !this.updateHandleTransform) {\n return;\n }\n\n var axisPointerModel = this._axisPointerModel;\n\n var zr = this._api.getZr();\n\n var handle = this._handle;\n var handleModel = axisPointerModel.getModel('handle');\n var status = axisPointerModel.get('status');\n\n if (!handleModel.get('show') || !status || status === 'hide') {\n handle && zr.remove(handle);\n this._handle = null;\n return;\n }\n\n var isInit;\n\n if (!this._handle) {\n isInit = true;\n handle = this._handle = graphic.createIcon(handleModel.get('icon'), {\n cursor: 'move',\n draggable: true,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n onmousedown: bind(this._onHandleDragMove, this, 0, 0),\n drift: bind(this._onHandleDragMove, this),\n ondragend: bind(this._onHandleDragEnd, this)\n });\n zr.add(handle);\n }\n\n updateMandatoryProps(handle, axisPointerModel, false); // update style\n\n var includeStyles = ['color', 'borderColor', 'borderWidth', 'opacity', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n handle.setStyle(handleModel.getItemStyle(null, includeStyles)); // update position\n\n var handleSize = handleModel.get('size');\n\n if (!zrUtil.isArray(handleSize)) {\n handleSize = [handleSize, handleSize];\n }\n\n handle.attr('scale', [handleSize[0] / 2, handleSize[1] / 2]);\n throttleUtil.createOrUpdate(this, '_doDispatchAxisPointer', handleModel.get('throttle') || 0, 'fixRate');\n\n this._moveHandleToValue(value, isInit);\n },\n\n /**\n * @private\n */\n _moveHandleToValue: function (value, isInit) {\n updateProps(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));\n },\n\n /**\n * @private\n */\n _onHandleDragMove: function (dx, dy) {\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n this._dragging = true; // Persistent for throttle.\n\n var trans = this.updateHandleTransform(getHandleTransProps(handle), [dx, dy], this._axisModel, this._axisPointerModel);\n this._payloadInfo = trans;\n handle.stopAnimation();\n handle.attr(getHandleTransProps(trans));\n inner(handle).lastProp = null;\n\n this._doDispatchAxisPointer();\n },\n\n /**\n * Throttled method.\n * @private\n */\n _doDispatchAxisPointer: function () {\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n var payloadInfo = this._payloadInfo;\n var axisModel = this._axisModel;\n\n this._api.dispatchAction({\n type: 'updateAxisPointer',\n x: payloadInfo.cursorPoint[0],\n y: payloadInfo.cursorPoint[1],\n tooltipOption: payloadInfo.tooltipOption,\n axesInfo: [{\n axisDim: axisModel.axis.dim,\n axisIndex: axisModel.componentIndex\n }]\n });\n },\n\n /**\n * @private\n */\n _onHandleDragEnd: function (moveAnimation) {\n this._dragging = false;\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n var value = this._axisPointerModel.get('value'); // Consider snap or categroy axis, handle may be not consistent with\n // axisPointer. So move handle to align the exact value position when\n // drag ended.\n\n\n this._moveHandleToValue(value); // For the effect: tooltip will be shown when finger holding on handle\n // button, and will be hidden after finger left handle button.\n\n\n this._api.dispatchAction({\n type: 'hideTip'\n });\n },\n\n /**\n * Should be implemenented by sub-class if support `handle`.\n * @protected\n * @param {number} value\n * @param {module:echarts/model/Model} axisModel\n * @param {module:echarts/model/Model} axisPointerModel\n * @return {Object} {position: [x, y], rotation: 0}\n */\n getHandleTransform: null,\n\n /**\n * * Should be implemenented by sub-class if support `handle`.\n * @protected\n * @param {Object} transform {position, rotation}\n * @param {Array.} delta [dx, dy]\n * @param {module:echarts/model/Model} axisModel\n * @param {module:echarts/model/Model} axisPointerModel\n * @return {Object} {position: [x, y], rotation: 0, cursorPoint: [x, y]}\n */\n updateHandleTransform: null,\n\n /**\n * @private\n */\n clear: function (api) {\n this._lastValue = null;\n this._lastStatus = null;\n var zr = api.getZr();\n var group = this._group;\n var handle = this._handle;\n\n if (zr && group) {\n this._lastGraphicKey = null;\n group && zr.remove(group);\n handle && zr.remove(handle);\n this._group = null;\n this._handle = null;\n this._payloadInfo = null;\n }\n },\n\n /**\n * @protected\n */\n doClear: function () {// Implemented by sub-class if necessary.\n },\n\n /**\n * @protected\n * @param {Array.} xy\n * @param {Array.} wh\n * @param {number} [xDimIndex=0] or 1\n */\n buildLabel: function (xy, wh, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x: xy[xDimIndex],\n y: xy[1 - xDimIndex],\n width: wh[xDimIndex],\n height: wh[1 - xDimIndex]\n };\n }\n};\nBaseAxisPointer.prototype.constructor = BaseAxisPointer;\n\nfunction updateProps(animationModel, moveAnimation, el, props) {\n // Animation optimize.\n if (!propsEqual(inner(el).lastProp, props)) {\n inner(el).lastProp = props;\n moveAnimation ? graphic.updateProps(el, props, animationModel) : (el.stopAnimation(), el.attr(props));\n }\n}\n\nfunction propsEqual(lastProps, newProps) {\n if (zrUtil.isObject(lastProps) && zrUtil.isObject(newProps)) {\n var equals = true;\n zrUtil.each(newProps, function (item, key) {\n equals = equals && propsEqual(lastProps[key], item);\n });\n return !!equals;\n } else {\n return lastProps === newProps;\n }\n}\n\nfunction updateLabelShowHide(labelEl, axisPointerModel) {\n labelEl[axisPointerModel.get('label.show') ? 'show' : 'hide']();\n}\n\nfunction getHandleTransProps(trans) {\n return {\n position: trans.position.slice(),\n rotation: trans.rotation || 0\n };\n}\n\nfunction updateMandatoryProps(group, axisPointerModel, silent) {\n var z = axisPointerModel.get('z');\n var zlevel = axisPointerModel.get('zlevel');\n group && group.traverse(function (el) {\n if (el.type !== 'group') {\n z != null && (el.z = z);\n zlevel != null && (el.zlevel = zlevel);\n el.silent = silent;\n }\n });\n}\n\nclazzUtil.enableClassExtend(BaseAxisPointer);\nvar _default = BaseAxisPointer;\nmodule.exports = _default;","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 120);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 120:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"el-checkbox\",\n class: [\n _vm.border && _vm.checkboxSize\n ? \"el-checkbox--\" + _vm.checkboxSize\n : \"\",\n { \"is-disabled\": _vm.isDisabled },\n { \"is-bordered\": _vm.border },\n { \"is-checked\": _vm.isChecked }\n ],\n attrs: { id: _vm.id }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"el-checkbox__input\",\n class: {\n \"is-disabled\": _vm.isDisabled,\n \"is-checked\": _vm.isChecked,\n \"is-indeterminate\": _vm.indeterminate,\n \"is-focus\": _vm.focus\n },\n attrs: {\n tabindex: _vm.indeterminate ? 0 : false,\n role: _vm.indeterminate ? \"checkbox\" : false,\n \"aria-checked\": _vm.indeterminate ? \"mixed\" : false\n }\n },\n [\n _c(\"span\", { staticClass: \"el-checkbox__inner\" }),\n _vm.trueLabel || _vm.falseLabel\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.model,\n expression: \"model\"\n }\n ],\n staticClass: \"el-checkbox__original\",\n attrs: {\n type: \"checkbox\",\n \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n name: _vm.name,\n disabled: _vm.isDisabled,\n \"true-value\": _vm.trueLabel,\n \"false-value\": _vm.falseLabel\n },\n domProps: {\n checked: Array.isArray(_vm.model)\n ? _vm._i(_vm.model, null) > -1\n : _vm._q(_vm.model, _vm.trueLabel)\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.model = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.model = $$c\n }\n },\n _vm.handleChange\n ],\n focus: function($event) {\n _vm.focus = true\n },\n blur: function($event) {\n _vm.focus = false\n }\n }\n })\n : _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.model,\n expression: \"model\"\n }\n ],\n staticClass: \"el-checkbox__original\",\n attrs: {\n type: \"checkbox\",\n \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n disabled: _vm.isDisabled,\n name: _vm.name\n },\n domProps: {\n value: _vm.label,\n checked: Array.isArray(_vm.model)\n ? _vm._i(_vm.model, _vm.label) > -1\n : _vm.model\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.label,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.model = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.model = $$c\n }\n },\n _vm.handleChange\n ],\n focus: function($event) {\n _vm.focus = true\n },\n blur: function($event) {\n _vm.focus = false\n }\n }\n })\n ]\n ),\n _vm.$slots.default || _vm.label\n ? _c(\n \"span\",\n { staticClass: \"el-checkbox__label\" },\n [\n _vm._t(\"default\"),\n !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e()\n ],\n 2\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({\n name: 'ElCheckbox',\n\n mixins: [emitter_default.a],\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n componentName: 'ElCheckbox',\n\n data: function data() {\n return {\n selfModel: false,\n focus: false,\n isLimitExceeded: false\n };\n },\n\n\n computed: {\n model: {\n get: function get() {\n return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel;\n },\n set: function set(val) {\n if (this.isGroup) {\n this.isLimitExceeded = false;\n this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true);\n\n this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true);\n\n this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]);\n } else {\n this.$emit('input', val);\n this.selfModel = val;\n }\n }\n },\n\n isChecked: function isChecked() {\n if ({}.toString.call(this.model) === '[object Boolean]') {\n return this.model;\n } else if (Array.isArray(this.model)) {\n return this.model.indexOf(this.label) > -1;\n } else if (this.model !== null && this.model !== undefined) {\n return this.model === this.trueLabel;\n }\n },\n isGroup: function isGroup() {\n var parent = this.$parent;\n while (parent) {\n if (parent.$options.componentName !== 'ElCheckboxGroup') {\n parent = parent.$parent;\n } else {\n this._checkboxGroup = parent;\n return true;\n }\n }\n return false;\n },\n store: function store() {\n return this._checkboxGroup ? this._checkboxGroup.value : this.value;\n },\n\n\n /* used to make the isDisabled judgment under max/min props */\n isLimitDisabled: function isLimitDisabled() {\n var _checkboxGroup = this._checkboxGroup,\n max = _checkboxGroup.max,\n min = _checkboxGroup.min;\n\n return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked;\n },\n isDisabled: function isDisabled() {\n return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled;\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n checkboxSize: function checkboxSize() {\n var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize;\n }\n },\n\n props: {\n value: {},\n label: {},\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: String,\n trueLabel: [String, Number],\n falseLabel: [String, Number],\n id: String, /* 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系*/\n controls: String, /* 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系*/\n border: Boolean,\n size: String\n },\n\n methods: {\n addToStore: function addToStore() {\n if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) {\n this.model.push(this.label);\n } else {\n this.model = this.trueLabel || true;\n }\n },\n handleChange: function handleChange(ev) {\n var _this = this;\n\n if (this.isLimitExceeded) return;\n var value = void 0;\n if (ev.target.checked) {\n value = this.trueLabel === undefined ? true : this.trueLabel;\n } else {\n value = this.falseLabel === undefined ? false : this.falseLabel;\n }\n this.$emit('change', value, ev);\n this.$nextTick(function () {\n if (_this.isGroup) {\n _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]);\n }\n });\n }\n },\n\n created: function created() {\n this.checked && this.addToStore();\n },\n mounted: function mounted() {\n // 为indeterminate元素 添加aria-controls 属性\n if (this.indeterminate) {\n this.$el.setAttribute('aria-controls', this.controls);\n }\n },\n\n\n watch: {\n value: function value(_value) {\n this.dispatch('ElFormItem', 'el.form.change', _value);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_checkboxvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/checkbox/src/checkbox.vue\"\n/* harmony default export */ var src_checkbox = (component.exports);\n// CONCATENATED MODULE: ./packages/checkbox/index.js\n\n\n/* istanbul ignore next */\nsrc_checkbox.install = function (Vue) {\n Vue.component(src_checkbox.name, src_checkbox);\n};\n\n/* harmony default export */ var packages_checkbox = __webpack_exports__[\"default\"] = (src_checkbox);\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Update common properties\nvar NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar BoxplotView = ChartView.extend({\n type: 'boxplot',\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var group = this.group;\n var oldData = this._data; // There is no old data only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!this._data) {\n group.removeAll();\n }\n\n var constDim = seriesModel.get('layout') === 'horizontal' ? 1 : 0;\n data.diff(oldData).add(function (newIdx) {\n if (data.hasValue(newIdx)) {\n var itemLayout = data.getItemLayout(newIdx);\n var symbolEl = createNormalBox(itemLayout, data, newIdx, constDim, true);\n data.setItemGraphicEl(newIdx, symbolEl);\n group.add(symbolEl);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n if (!data.hasValue(newIdx)) {\n group.remove(symbolEl);\n return;\n }\n\n var itemLayout = data.getItemLayout(newIdx);\n\n if (!symbolEl) {\n symbolEl = createNormalBox(itemLayout, data, newIdx, constDim);\n } else {\n updateNormalBoxData(itemLayout, symbolEl, data, newIdx);\n }\n\n group.add(symbolEl);\n data.setItemGraphicEl(newIdx, symbolEl);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute();\n this._data = data;\n },\n remove: function (ecModel) {\n var group = this.group;\n var data = this._data;\n this._data = null;\n data && data.eachItemGraphicEl(function (el) {\n el && group.remove(el);\n });\n },\n dispose: zrUtil.noop\n});\nvar BoxPath = Path.extend({\n type: 'boxplotBoxPath',\n shape: {},\n buildPath: function (ctx, shape) {\n var ends = shape.points;\n var i = 0;\n ctx.moveTo(ends[i][0], ends[i][1]);\n i++;\n\n for (; i < 4; i++) {\n ctx.lineTo(ends[i][0], ends[i][1]);\n }\n\n ctx.closePath();\n\n for (; i < ends.length; i++) {\n ctx.moveTo(ends[i][0], ends[i][1]);\n i++;\n ctx.lineTo(ends[i][0], ends[i][1]);\n }\n }\n});\n\nfunction createNormalBox(itemLayout, data, dataIndex, constDim, isInit) {\n var ends = itemLayout.ends;\n var el = new BoxPath({\n shape: {\n points: isInit ? transInit(ends, constDim, itemLayout) : ends\n }\n });\n updateNormalBoxData(itemLayout, el, data, dataIndex, isInit);\n return el;\n}\n\nfunction updateNormalBoxData(itemLayout, el, data, dataIndex, isInit) {\n var seriesModel = data.hostModel;\n var updateMethod = graphic[isInit ? 'initProps' : 'updateProps'];\n updateMethod(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, dataIndex);\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var borderColor = data.getItemVisual(dataIndex, 'color'); // Exclude borderColor.\n\n var itemStyle = normalItemStyleModel.getItemStyle(['borderColor']);\n itemStyle.stroke = borderColor;\n itemStyle.strokeNoScale = true;\n el.useStyle(itemStyle);\n el.z2 = 100;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, dim, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[dim] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar _default = BoxplotView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/SelectZoomModel\");\n\nrequire(\"./dataZoom/SelectZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar TimelineModel = require(\"./TimelineModel\");\n\nvar dataFormatMixin = require(\"../../model/mixin/dataFormat\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar SliderTimelineModel = TimelineModel.extend({\n type: 'timeline.slider',\n\n /**\n * @protected\n */\n defaultOption: {\n backgroundColor: 'rgba(0,0,0,0)',\n // 时间轴背景颜色\n borderColor: '#ccc',\n // 时间轴边框颜色\n borderWidth: 0,\n // 时间轴边框线宽,单位px,默认为0(无边框)\n orient: 'horizontal',\n // 'vertical'\n inverse: false,\n tooltip: {\n // boolean or Object\n trigger: 'item' // data item may also have tootip attr.\n\n },\n symbol: 'emptyCircle',\n symbolSize: 10,\n lineStyle: {\n show: true,\n width: 2,\n color: '#304654'\n },\n label: {\n // 文本标签\n position: 'auto',\n // auto left right top bottom\n // When using number, label position is not\n // restricted by viewRect.\n // positive: right/bottom, negative: left/top\n show: true,\n interval: 'auto',\n rotate: 0,\n // formatter: null,\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: '#304654'\n },\n itemStyle: {\n color: '#304654',\n borderWidth: 1\n },\n checkpointStyle: {\n symbol: 'circle',\n symbolSize: 13,\n color: '#c23531',\n borderWidth: 5,\n borderColor: 'rgba(194,53,49, 0.5)',\n animation: true,\n animationDuration: 300,\n animationEasing: 'quinticInOut'\n },\n controlStyle: {\n show: true,\n showPlayBtn: true,\n showPrevBtn: true,\n showNextBtn: true,\n itemSize: 22,\n itemGap: 12,\n position: 'left',\n // 'left' 'right' 'top' 'bottom'\n playIcon: 'path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z',\n // jshint ignore:line\n stopIcon: 'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z',\n // jshint ignore:line\n nextIcon: 'path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z',\n // jshint ignore:line\n prevIcon: 'path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z',\n // jshint ignore:line\n color: '#304654',\n borderColor: '#304654',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true,\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: '#c23531'\n },\n itemStyle: {\n color: '#c23531'\n },\n controlStyle: {\n color: '#c23531',\n borderColor: '#c23531',\n borderWidth: 2\n }\n },\n data: []\n }\n});\nzrUtil.mixin(SliderTimelineModel, dataFormatMixin);\nvar _default = SliderTimelineModel;\nmodule.exports = _default;","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n","var zrUtil = require(\"../core/util\");\n\nvar Gradient = require(\"./Gradient\");\n\n/**\n * x, y, r are all percent from 0 to 1\n * @param {number} [x=0.5]\n * @param {number} [y=0.5]\n * @param {number} [r=0.5]\n * @param {Array.} [colorStops]\n * @param {boolean} [globalCoord=false]\n */\nvar RadialGradient = function (x, y, r, colorStops, globalCoord) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {type: 'radial', colorStops: ...}`, where\n // this constructor will not be called.\n this.x = x == null ? 0.5 : x;\n this.y = y == null ? 0.5 : y;\n this.r = r == null ? 0.5 : r; // Can be cloned\n\n this.type = 'radial'; // If use global coord\n\n this.global = globalCoord || false;\n Gradient.call(this, colorStops);\n};\n\nRadialGradient.prototype = {\n constructor: RadialGradient\n};\nzrUtil.inherits(RadialGradient, Gradient);\nvar _default = RadialGradient;\nmodule.exports = _default;","/**\n * zrender: 生成唯一id\n *\n * @author errorrik (errorrik@gmail.com)\n */\nvar idStart = 0x0907;\n\nfunction _default() {\n return idStart++;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = {\n getBoxLayoutParams: function () {\n return {\n left: this.get('left'),\n top: this.get('top'),\n right: this.get('right'),\n bottom: this.get('bottom'),\n width: this.get('width'),\n height: this.get('height')\n };\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction normalize(a) {\n if (!(a instanceof Array)) {\n a = [a, a];\n }\n\n return a;\n}\n\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var edgeData = seriesModel.getEdgeData();\n var symbolType = normalize(seriesModel.get('edgeSymbol'));\n var symbolSize = normalize(seriesModel.get('edgeSymbolSize'));\n var colorQuery = 'lineStyle.color'.split('.');\n var opacityQuery = 'lineStyle.opacity'.split('.');\n edgeData.setVisual('fromSymbol', symbolType && symbolType[0]);\n edgeData.setVisual('toSymbol', symbolType && symbolType[1]);\n edgeData.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n edgeData.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n edgeData.setVisual('color', seriesModel.get(colorQuery));\n edgeData.setVisual('opacity', seriesModel.get(opacityQuery));\n edgeData.each(function (idx) {\n var itemModel = edgeData.getItemModel(idx);\n var edge = graph.getEdgeByIndex(idx);\n var symbolType = normalize(itemModel.getShallow('symbol', true));\n var symbolSize = normalize(itemModel.getShallow('symbolSize', true)); // Edge visual must after node visual\n\n var color = itemModel.get(colorQuery);\n var opacity = itemModel.get(opacityQuery);\n\n switch (color) {\n case 'source':\n color = edge.node1.getVisual('color');\n break;\n\n case 'target':\n color = edge.node2.getVisual('color');\n break;\n }\n\n symbolType[0] && edge.setVisual('fromSymbol', symbolType[0]);\n symbolType[1] && edge.setVisual('toSymbol', symbolType[1]);\n symbolSize[0] && edge.setVisual('fromSymbolSize', symbolSize[0]);\n symbolSize[1] && edge.setVisual('toSymbolSize', symbolSize[1]);\n edge.setVisual('color', color);\n edge.setVisual('opacity', opacity);\n });\n });\n}\n\nmodule.exports = _default;","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar makeStyleMapper = require(\"../../model/mixin/makeStyleMapper\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisModel = ComponentModel.extend({\n type: 'baseParallelAxis',\n\n /**\n * @type {module:echarts/coord/parallel/Axis}\n */\n axis: null,\n\n /**\n * @type {Array.}\n * @readOnly\n */\n activeIntervals: [],\n\n /**\n * @return {Object}\n */\n getAreaSelectStyle: function () {\n return makeStyleMapper([['fill', 'color'], ['lineWidth', 'borderWidth'], ['stroke', 'borderColor'], ['width', 'width'], ['opacity', 'opacity']])(this.getModel('areaSelectStyle'));\n },\n\n /**\n * The code of this feature is put on AxisModel but not ParallelAxis,\n * because axisModel can be alive after echarts updating but instance of\n * ParallelAxis having been disposed. this._activeInterval should be kept\n * when action dispatched (i.e. legend click).\n *\n * @param {Array.>} intervals interval.length === 0\n * means set all active.\n * @public\n */\n setActiveIntervals: function (intervals) {\n var activeIntervals = this.activeIntervals = zrUtil.clone(intervals); // Normalize\n\n if (activeIntervals) {\n for (var i = activeIntervals.length - 1; i >= 0; i--) {\n numberUtil.asc(activeIntervals[i]);\n }\n }\n },\n\n /**\n * @param {number|string} [value] When attempting to detect 'no activeIntervals set',\n * value can not be input.\n * @return {string} 'normal': no activeIntervals set,\n * 'active',\n * 'inactive'.\n * @public\n */\n getActiveState: function (value) {\n var activeIntervals = this.activeIntervals;\n\n if (!activeIntervals.length) {\n return 'normal';\n }\n\n if (value == null || isNaN(value)) {\n return 'inactive';\n } // Simple optimization\n\n\n if (activeIntervals.length === 1) {\n var interval = activeIntervals[0];\n\n if (interval[0] <= value && value <= interval[1]) {\n return 'active';\n }\n } else {\n for (var i = 0, len = activeIntervals.length; i < len; i++) {\n if (activeIntervals[i][0] <= value && value <= activeIntervals[i][1]) {\n return 'active';\n }\n }\n }\n\n return 'inactive';\n }\n});\nvar defaultOption = {\n type: 'value',\n\n /**\n * @type {Array.}\n */\n dim: null,\n // 0, 1, 2, ...\n // parallelIndex: null,\n areaSelectStyle: {\n width: 20,\n borderWidth: 1,\n borderColor: 'rgba(160,197,232)',\n color: 'rgba(160,197,232)',\n opacity: 0.3\n },\n realtime: true,\n // Whether realtime update view when select.\n z: 10\n};\nzrUtil.merge(AxisModel.prototype, axisModelCommonMixin);\n\nfunction getAxisType(axisName, option) {\n return option.type || (option.data ? 'category' : 'value');\n}\n\naxisModelCreator('parallel', AxisModel, getAxisType, defaultOption);\nvar _default = AxisModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../../echarts\");\n\nvar history = require(\"../../dataZoom/history\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar restoreLang = lang.toolbox.restore;\n\nfunction Restore(model) {\n this.model = model;\n}\n\nRestore.defaultOption = {\n show: true,\n\n /* eslint-disable */\n icon: 'M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5',\n\n /* eslint-enable */\n title: restoreLang.title\n};\nvar proto = Restore.prototype;\n\nproto.onclick = function (ecModel, api, type) {\n history.clear(ecModel);\n api.dispatchAction({\n type: 'restore',\n from: this.uid\n });\n};\n\nfeatureManager.register('restore', Restore);\necharts.registerAction({\n type: 'restore',\n event: 'restore',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n ecModel.resetOption('recreate');\n});\nvar _default = Restore;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.easeInOutBounce = exports.easeOutBounce = exports.easeInBounce = exports.easeInOutElastic = exports.easeOutElastic = exports.easeInElastic = exports.easeInOutBack = exports.easeOutBack = exports.easeInBack = exports.easeInOutQuint = exports.easeOutQuint = exports.easeInQuint = exports.easeInOutQuart = exports.easeOutQuart = exports.easeInQuart = exports.easeInOutCubic = exports.easeOutCubic = exports.easeInCubic = exports.easeInOutQuad = exports.easeOutQuad = exports.easeInQuad = exports.easeInOutSine = exports.easeOutSine = exports.easeInSine = exports.linear = void 0;\nvar linear = [[[0, 1], '', [0.33, 0.67]], [[1, 0], [0.67, 0.33]]];\n/**\r\n * @description Sine\r\n */\n\nexports.linear = linear;\nvar easeInSine = [[[0, 1]], [[0.538, 0.564], [0.169, 0.912], [0.880, 0.196]], [[1, 0]]];\nexports.easeInSine = easeInSine;\nvar easeOutSine = [[[0, 1]], [[0.444, 0.448], [0.169, 0.736], [0.718, 0.16]], [[1, 0]]];\nexports.easeOutSine = easeOutSine;\nvar easeInOutSine = [[[0, 1]], [[0.5, 0.5], [0.2, 1], [0.8, 0]], [[1, 0]]];\n/**\r\n * @description Quad\r\n */\n\nexports.easeInOutSine = easeInOutSine;\nvar easeInQuad = [[[0, 1]], [[0.550, 0.584], [0.231, 0.904], [0.868, 0.264]], [[1, 0]]];\nexports.easeInQuad = easeInQuad;\nvar easeOutQuad = [[[0, 1]], [[0.413, 0.428], [0.065, 0.816], [0.760, 0.04]], [[1, 0]]];\nexports.easeOutQuad = easeOutQuad;\nvar easeInOutQuad = [[[0, 1]], [[0.5, 0.5], [0.3, 0.9], [0.7, 0.1]], [[1, 0]]];\n/**\r\n * @description Cubic\r\n */\n\nexports.easeInOutQuad = easeInOutQuad;\nvar easeInCubic = [[[0, 1]], [[0.679, 0.688], [0.366, 0.992], [0.992, 0.384]], [[1, 0]]];\nexports.easeInCubic = easeInCubic;\nvar easeOutCubic = [[[0, 1]], [[0.321, 0.312], [0.008, 0.616], [0.634, 0.008]], [[1, 0]]];\nexports.easeOutCubic = easeOutCubic;\nvar easeInOutCubic = [[[0, 1]], [[0.5, 0.5], [0.3, 1], [0.7, 0]], [[1, 0]]];\n/**\r\n * @description Quart\r\n */\n\nexports.easeInOutCubic = easeInOutCubic;\nvar easeInQuart = [[[0, 1]], [[0.812, 0.74], [0.611, 0.988], [1.013, 0.492]], [[1, 0]]];\nexports.easeInQuart = easeInQuart;\nvar easeOutQuart = [[[0, 1]], [[0.152, 0.244], [0.001, 0.448], [0.285, -0.02]], [[1, 0]]];\nexports.easeOutQuart = easeOutQuart;\nvar easeInOutQuart = [[[0, 1]], [[0.5, 0.5], [0.4, 1], [0.6, 0]], [[1, 0]]];\n/**\r\n * @description Quint\r\n */\n\nexports.easeInOutQuart = easeInOutQuart;\nvar easeInQuint = [[[0, 1]], [[0.857, 0.856], [0.714, 1], [1, 0.712]], [[1, 0]]];\nexports.easeInQuint = easeInQuint;\nvar easeOutQuint = [[[0, 1]], [[0.108, 0.2], [0.001, 0.4], [0.214, -0.012]], [[1, 0]]];\nexports.easeOutQuint = easeOutQuint;\nvar easeInOutQuint = [[[0, 1]], [[0.5, 0.5], [0.5, 1], [0.5, 0]], [[1, 0]]];\n/**\r\n * @description Back\r\n */\n\nexports.easeInOutQuint = easeInOutQuint;\nvar easeInBack = [[[0, 1]], [[0.667, 0.896], [0.380, 1.184], [0.955, 0.616]], [[1, 0]]];\nexports.easeInBack = easeInBack;\nvar easeOutBack = [[[0, 1]], [[0.335, 0.028], [0.061, 0.22], [0.631, -0.18]], [[1, 0]]];\nexports.easeOutBack = easeOutBack;\nvar easeInOutBack = [[[0, 1]], [[0.5, 0.5], [0.4, 1.4], [0.6, -0.4]], [[1, 0]]];\n/**\r\n * @description Elastic\r\n */\n\nexports.easeInOutBack = easeInOutBack;\nvar easeInElastic = [[[0, 1]], [[0.474, 0.964], [0.382, 0.988], [0.557, 0.952]], [[0.619, 1.076], [0.565, 1.088], [0.669, 1.08]], [[0.770, 0.916], [0.712, 0.924], [0.847, 0.904]], [[0.911, 1.304], [0.872, 1.316], [0.961, 1.34]], [[1, 0]]];\nexports.easeInElastic = easeInElastic;\nvar easeOutElastic = [[[0, 1]], [[0.073, -0.32], [0.034, -0.328], [0.104, -0.344]], [[0.191, 0.092], [0.110, 0.06], [0.256, 0.08]], [[0.310, -0.076], [0.260, -0.068], [0.357, -0.076]], [[0.432, 0.032], [0.362, 0.028], [0.683, -0.004]], [[1, 0]]];\nexports.easeOutElastic = easeOutElastic;\nvar easeInOutElastic = [[[0, 1]], [[0.210, 0.94], [0.167, 0.884], [0.252, 0.98]], [[0.299, 1.104], [0.256, 1.092], [0.347, 1.108]], [[0.5, 0.496], [0.451, 0.672], [0.548, 0.324]], [[0.696, -0.108], [0.652, -0.112], [0.741, -0.124]], [[0.805, 0.064], [0.756, 0.012], [0.866, 0.096]], [[1, 0]]];\n/**\r\n * @description Bounce\r\n */\n\nexports.easeInOutElastic = easeInOutElastic;\nvar easeInBounce = [[[0, 1]], [[0.148, 1], [0.075, 0.868], [0.193, 0.848]], [[0.326, 1], [0.276, 0.836], [0.405, 0.712]], [[0.600, 1], [0.511, 0.708], [0.671, 0.348]], [[1, 0]]];\nexports.easeInBounce = easeInBounce;\nvar easeOutBounce = [[[0, 1]], [[0.357, 0.004], [0.270, 0.592], [0.376, 0.252]], [[0.604, -0.004], [0.548, 0.312], [0.669, 0.184]], [[0.820, 0], [0.749, 0.184], [0.905, 0.132]], [[1, 0]]];\nexports.easeOutBounce = easeOutBounce;\nvar easeInOutBounce = [[[0, 1]], [[0.102, 1], [0.050, 0.864], [0.117, 0.86]], [[0.216, 0.996], [0.208, 0.844], [0.227, 0.808]], [[0.347, 0.996], [0.343, 0.8], [0.480, 0.292]], [[0.635, 0.004], [0.511, 0.676], [0.656, 0.208]], [[0.787, 0], [0.760, 0.2], [0.795, 0.144]], [[0.905, -0.004], [0.899, 0.164], [0.944, 0.144]], [[1, 0]]];\nexports.easeInOutBounce = easeInOutBounce;\n\nvar _default = new Map([['linear', linear], ['easeInSine', easeInSine], ['easeOutSine', easeOutSine], ['easeInOutSine', easeInOutSine], ['easeInQuad', easeInQuad], ['easeOutQuad', easeOutQuad], ['easeInOutQuad', easeInOutQuad], ['easeInCubic', easeInCubic], ['easeOutCubic', easeOutCubic], ['easeInOutCubic', easeInOutCubic], ['easeInQuart', easeInQuart], ['easeOutQuart', easeOutQuart], ['easeInOutQuart', easeInOutQuart], ['easeInQuint', easeInQuint], ['easeOutQuint', easeOutQuint], ['easeInOutQuint', easeInOutQuint], ['easeInBack', easeInBack], ['easeOutBack', easeOutBack], ['easeInOutBack', easeInOutBack], ['easeInElastic', easeInElastic], ['easeOutElastic', easeOutElastic], ['easeInOutElastic', easeInOutElastic], ['easeInBounce', easeInBounce], ['easeOutBounce', easeOutBounce], ['easeInOutBounce', easeInOutBounce]]);\n\nexports[\"default\"] = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar _labelHelper = require(\"./helper/labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\nvar createListFromArray = require(\"./helper/createListFromArray\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar getLayoutOnAxis = _barGrid.getLayoutOnAxis;\n\nvar DataDiffer = require(\"../data/DataDiffer\");\n\nvar SeriesModel = require(\"../model/Series\");\n\nvar Model = require(\"../model/Model\");\n\nvar ChartView = require(\"../view/Chart\");\n\nvar _createClipPathFromCoordSys = require(\"./helper/createClipPathFromCoordSys\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\nvar prepareCartesian2d = require(\"../coord/cartesian/prepareCustom\");\n\nvar prepareGeo = require(\"../coord/geo/prepareCustom\");\n\nvar prepareSingleAxis = require(\"../coord/single/prepareCustom\");\n\nvar preparePolar = require(\"../coord/polar/prepareCustom\");\n\nvar prepareCalendar = require(\"../coord/calendar/prepareCustom\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CACHED_LABEL_STYLE_PROPERTIES = graphicUtil.CACHED_LABEL_STYLE_PROPERTIES;\nvar ITEM_STYLE_NORMAL_PATH = ['itemStyle'];\nvar ITEM_STYLE_EMPHASIS_PATH = ['emphasis', 'itemStyle'];\nvar LABEL_NORMAL = ['label'];\nvar LABEL_EMPHASIS = ['emphasis', 'label']; // Use prefix to avoid index to be the same as el.name,\n// which will cause weird udpate animation.\n\nvar GROUP_DIFF_PREFIX = 'e\\0\\0';\n/**\n * To reduce total package size of each coordinate systems, the modules `prepareCustom`\n * of each coordinate systems are not required by each coordinate systems directly, but\n * required by the module `custom`.\n *\n * prepareInfoForCustomSeries {Function}: optional\n * @return {Object} {coordSys: {...}, api: {\n * coord: function (data, clamp) {}, // return point in global.\n * size: function (dataSize, dataItem) {} // return size of each axis in coordSys.\n * }}\n */\n\nvar prepareCustoms = {\n cartesian2d: prepareCartesian2d,\n geo: prepareGeo,\n singleAxis: prepareSingleAxis,\n polar: preparePolar,\n calendar: prepareCalendar\n}; // ------\n// Model\n// ------\n\nSeriesModel.extend({\n type: 'series.custom',\n dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'],\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n // Can be set as 'none'\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n useTransform: true,\n // Custom series will not clip by default.\n // Some case will use custom series to draw label\n // For example https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight\n // Only works on polar and cartesian2d coordinate system.\n clip: false // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Polar coordinate system\n // polarIndex: 0,\n // Geo coordinate system\n // geoIndex: 0,\n // label: {}\n // itemStyle: {}\n\n },\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this);\n },\n\n /**\n * @override\n */\n getDataParams: function (dataIndex, dataType, el) {\n var params = SeriesModel.prototype.getDataParams.apply(this, arguments);\n el && (params.info = el.info);\n return params;\n }\n}); // -----\n// View\n// -----\n\nChartView.extend({\n type: 'custom',\n\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n _data: null,\n\n /**\n * @override\n */\n render: function (customSeries, ecModel, api, payload) {\n var oldData = this._data;\n var data = customSeries.getData();\n var group = this.group;\n var renderItem = makeRenderItem(customSeries, data, ecModel, api); // By default, merge mode is applied. In most cases, custom series is\n // used in the scenario that data amount is not large but graphic elements\n // is complicated, where merge mode is probably necessary for optimization.\n // For example, reuse graphic elements and only update the transform when\n // roam or data zoom according to `actionType`.\n\n data.diff(oldData).add(function (newIdx) {\n createOrUpdate(null, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n }).update(function (newIdx, oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n createOrUpdate(el, newIdx, renderItem(newIdx, payload), customSeries, group, data);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute(); // Do clipping\n\n var clipPath = customSeries.get('clip', true) ? createClipPath(customSeries.coordinateSystem, false, customSeries) : null;\n\n if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n\n this._data = data;\n },\n incrementalPrepareRender: function (customSeries, ecModel, api) {\n this.group.removeAll();\n this._data = null;\n },\n incrementalRender: function (params, customSeries, ecModel, api, payload) {\n var data = customSeries.getData();\n var renderItem = makeRenderItem(customSeries, data, ecModel, api);\n\n function setIncrementalAndHoverLayer(el) {\n if (!el.isGroup) {\n el.incremental = true;\n el.useHoverLayer = true;\n }\n }\n\n for (var idx = params.start; idx < params.end; idx++) {\n var el = createOrUpdate(null, idx, renderItem(idx, payload), customSeries, this.group, data);\n el.traverse(setIncrementalAndHoverLayer);\n }\n },\n\n /**\n * @override\n */\n dispose: zrUtil.noop,\n\n /**\n * @override\n */\n filterForExposedEvent: function (eventType, query, targetEl, packedEvent) {\n var elementName = query.element;\n\n if (elementName == null || targetEl.name === elementName) {\n return true;\n } // Enable to give a name on a group made by `renderItem`, and listen\n // events that triggerd by its descendents.\n\n\n while ((targetEl = targetEl.parent) && targetEl !== this.group) {\n if (targetEl.name === elementName) {\n return true;\n }\n }\n\n return false;\n }\n});\n\nfunction createEl(elOption) {\n var graphicType = elOption.type;\n var el; // Those graphic elements are not shapes. They should not be\n // overwritten by users, so do them first.\n\n if (graphicType === 'path') {\n var shape = elOption.shape; // Using pathRect brings convenience to users sacle svg path.\n\n var pathRect = shape.width != null && shape.height != null ? {\n x: shape.x || 0,\n y: shape.y || 0,\n width: shape.width,\n height: shape.height\n } : null;\n var pathData = getPathData(shape); // Path is also used for icon, so layout 'center' by default.\n\n el = graphicUtil.makePath(pathData, null, pathRect, shape.layout || 'center');\n el.__customPathData = pathData;\n } else if (graphicType === 'image') {\n el = new graphicUtil.Image({});\n el.__customImagePath = elOption.style.image;\n } else if (graphicType === 'text') {\n el = new graphicUtil.Text({});\n el.__customText = elOption.style.text;\n } else if (graphicType === 'group') {\n el = new graphicUtil.Group();\n } else if (graphicType === 'compoundPath') {\n throw new Error('\"compoundPath\" is not supported yet.');\n } else {\n var Clz = graphicUtil.getShapeClass(graphicType);\n el = new Clz();\n }\n\n el.__customGraphicType = graphicType;\n el.name = elOption.name;\n return el;\n}\n\nfunction updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot) {\n var transitionProps = {};\n var elOptionStyle = elOption.style || {};\n elOption.shape && (transitionProps.shape = zrUtil.clone(elOption.shape));\n elOption.position && (transitionProps.position = elOption.position.slice());\n elOption.scale && (transitionProps.scale = elOption.scale.slice());\n elOption.origin && (transitionProps.origin = elOption.origin.slice());\n elOption.rotation && (transitionProps.rotation = elOption.rotation);\n\n if (el.type === 'image' && elOption.style) {\n var targetStyle = transitionProps.style = {};\n zrUtil.each(['x', 'y', 'width', 'height'], function (prop) {\n prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);\n });\n }\n\n if (el.type === 'text' && elOption.style) {\n var targetStyle = transitionProps.style = {};\n zrUtil.each(['x', 'y'], function (prop) {\n prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);\n }); // Compatible with previous: both support\n // textFill and fill, textStroke and stroke in 'text' element.\n\n !elOptionStyle.hasOwnProperty('textFill') && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);\n !elOptionStyle.hasOwnProperty('textStroke') && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);\n }\n\n if (el.type !== 'group') {\n el.useStyle(elOptionStyle); // Init animation.\n\n if (isInit) {\n el.style.opacity = 0;\n var targetOpacity = elOptionStyle.opacity;\n targetOpacity == null && (targetOpacity = 1);\n graphicUtil.initProps(el, {\n style: {\n opacity: targetOpacity\n }\n }, animatableModel, dataIndex);\n }\n }\n\n if (isInit) {\n el.attr(transitionProps);\n } else {\n graphicUtil.updateProps(el, transitionProps, animatableModel, dataIndex);\n } // Merge by default.\n // z2 must not be null/undefined, otherwise sort error may occur.\n\n\n elOption.hasOwnProperty('z2') && el.attr('z2', elOption.z2 || 0);\n elOption.hasOwnProperty('silent') && el.attr('silent', elOption.silent);\n elOption.hasOwnProperty('invisible') && el.attr('invisible', elOption.invisible);\n elOption.hasOwnProperty('ignore') && el.attr('ignore', elOption.ignore); // `elOption.info` enables user to mount some info on\n // elements and use them in event handlers.\n // Update them only when user specified, otherwise, remain.\n\n elOption.hasOwnProperty('info') && el.attr('info', elOption.info); // If `elOption.styleEmphasis` is `false`, remove hover style. The\n // logic is ensured by `graphicUtil.setElementHoverStyle`.\n\n var styleEmphasis = elOption.styleEmphasis; // hoverStyle should always be set here, because if the hover style\n // may already be changed, where the inner cache should be reset.\n\n graphicUtil.setElementHoverStyle(el, styleEmphasis);\n\n if (isRoot) {\n graphicUtil.setAsHighDownDispatcher(el, styleEmphasis !== false);\n }\n}\n\nfunction prepareStyleTransition(prop, targetStyle, elOptionStyle, oldElStyle, isInit) {\n if (elOptionStyle[prop] != null && !isInit) {\n targetStyle[prop] = elOptionStyle[prop];\n elOptionStyle[prop] = oldElStyle[prop];\n }\n}\n\nfunction makeRenderItem(customSeries, data, ecModel, api) {\n var renderItem = customSeries.get('renderItem');\n var coordSys = customSeries.coordinateSystem;\n var prepareResult = {};\n\n if (coordSys) {\n prepareResult = coordSys.prepareCustoms ? coordSys.prepareCustoms() : prepareCustoms[coordSys.type](coordSys);\n }\n\n var userAPI = zrUtil.defaults({\n getWidth: api.getWidth,\n getHeight: api.getHeight,\n getZr: api.getZr,\n getDevicePixelRatio: api.getDevicePixelRatio,\n value: value,\n style: style,\n styleEmphasis: styleEmphasis,\n visual: visual,\n barLayout: barLayout,\n currentSeriesIndices: currentSeriesIndices,\n font: font\n }, prepareResult.api || {});\n var userParams = {\n // The life cycle of context: current round of rendering.\n // The global life cycle is probably not necessary, because\n // user can store global status by themselves.\n context: {},\n seriesId: customSeries.id,\n seriesName: customSeries.name,\n seriesIndex: customSeries.seriesIndex,\n coordSys: prepareResult.coordSys,\n dataInsideLength: data.count(),\n encode: wrapEncodeDef(customSeries.getData())\n }; // Do not support call `api` asynchronously without dataIndexInside input.\n\n var currDataIndexInside;\n var currDirty = true;\n var currItemModel;\n var currLabelNormalModel;\n var currLabelEmphasisModel;\n var currVisualColor;\n return function (dataIndexInside, payload) {\n currDataIndexInside = dataIndexInside;\n currDirty = true;\n return renderItem && renderItem(zrUtil.defaults({\n dataIndexInside: dataIndexInside,\n dataIndex: data.getRawIndex(dataIndexInside),\n // Can be used for optimization when zoom or roam.\n actionType: payload ? payload.type : null\n }, userParams), userAPI);\n }; // Do not update cache until api called.\n\n function updateCache(dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n\n if (currDirty) {\n currItemModel = data.getItemModel(dataIndexInside);\n currLabelNormalModel = currItemModel.getModel(LABEL_NORMAL);\n currLabelEmphasisModel = currItemModel.getModel(LABEL_EMPHASIS);\n currVisualColor = data.getItemVisual(dataIndexInside, 'color');\n currDirty = false;\n }\n }\n /**\n * @public\n * @param {number|string} dim\n * @param {number} [dataIndexInside=currDataIndexInside]\n * @return {number|string} value\n */\n\n\n function value(dim, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n return data.get(data.getDimension(dim || 0), dataIndexInside);\n }\n /**\n * By default, `visual` is applied to style (to support visualMap).\n * `visual.color` is applied at `fill`. If user want apply visual.color on `stroke`,\n * it can be implemented as:\n * `api.style({stroke: api.visual('color'), fill: null})`;\n * @public\n * @param {Object} [extra]\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function style(extra, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n updateCache(dataIndexInside);\n var itemStyle = currItemModel.getModel(ITEM_STYLE_NORMAL_PATH).getItemStyle();\n currVisualColor != null && (itemStyle.fill = currVisualColor);\n var opacity = data.getItemVisual(dataIndexInside, 'opacity');\n opacity != null && (itemStyle.opacity = opacity);\n var labelModel = extra ? applyExtraBefore(extra, currLabelNormalModel) : currLabelNormalModel;\n graphicUtil.setTextStyle(itemStyle, labelModel, null, {\n autoColor: currVisualColor,\n isRectText: true\n });\n itemStyle.text = labelModel.getShallow('show') ? zrUtil.retrieve2(customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && applyExtraAfter(itemStyle, extra);\n return itemStyle;\n }\n /**\n * @public\n * @param {Object} [extra]\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function styleEmphasis(extra, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n updateCache(dataIndexInside);\n var itemStyle = currItemModel.getModel(ITEM_STYLE_EMPHASIS_PATH).getItemStyle();\n var labelModel = extra ? applyExtraBefore(extra, currLabelEmphasisModel) : currLabelEmphasisModel;\n graphicUtil.setTextStyle(itemStyle, labelModel, null, {\n isRectText: true\n }, true);\n itemStyle.text = labelModel.getShallow('show') ? zrUtil.retrieve3(customSeries.getFormattedLabel(dataIndexInside, 'emphasis'), customSeries.getFormattedLabel(dataIndexInside, 'normal'), getDefaultLabel(data, dataIndexInside)) : null;\n extra && applyExtraAfter(itemStyle, extra);\n return itemStyle;\n }\n /**\n * @public\n * @param {string} visualType\n * @param {number} [dataIndexInside=currDataIndexInside]\n */\n\n\n function visual(visualType, dataIndexInside) {\n dataIndexInside == null && (dataIndexInside = currDataIndexInside);\n return data.getItemVisual(dataIndexInside, visualType);\n }\n /**\n * @public\n * @param {number} opt.count Positive interger.\n * @param {number} [opt.barWidth]\n * @param {number} [opt.barMaxWidth]\n * @param {number} [opt.barMinWidth]\n * @param {number} [opt.barGap]\n * @param {number} [opt.barCategoryGap]\n * @return {Object} {width, offset, offsetCenter} is not support, return undefined.\n */\n\n\n function barLayout(opt) {\n if (coordSys.getBaseAxis) {\n var baseAxis = coordSys.getBaseAxis();\n return getLayoutOnAxis(zrUtil.defaults({\n axis: baseAxis\n }, opt), api);\n }\n }\n /**\n * @public\n * @return {Array.}\n */\n\n\n function currentSeriesIndices() {\n return ecModel.getCurrentSeriesIndices();\n }\n /**\n * @public\n * @param {Object} opt\n * @param {string} [opt.fontStyle]\n * @param {number} [opt.fontWeight]\n * @param {number} [opt.fontSize]\n * @param {string} [opt.fontFamily]\n * @return {string} font string\n */\n\n\n function font(opt) {\n return graphicUtil.getFont(opt, ecModel);\n }\n}\n\nfunction wrapEncodeDef(data) {\n var encodeDef = {};\n zrUtil.each(data.dimensions, function (dimName, dataDimIndex) {\n var dimInfo = data.getDimensionInfo(dimName);\n\n if (!dimInfo.isExtraCoord) {\n var coordDim = dimInfo.coordDim;\n var dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];\n dataDims[dimInfo.coordDimIndex] = dataDimIndex;\n }\n });\n return encodeDef;\n}\n\nfunction createOrUpdate(el, dataIndex, elOption, animatableModel, group, data) {\n el = doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data, true);\n el && data.setItemGraphicEl(dataIndex, el);\n return el;\n}\n\nfunction doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data, isRoot) {\n // [Rule]\n // By default, follow merge mode.\n // (It probably brings benifit for performance in some cases of large data, where\n // user program can be optimized to that only updated props needed to be re-calculated,\n // or according to `actionType` some calculation can be skipped.)\n // If `renderItem` returns `null`/`undefined`/`false`, remove the previous el if existing.\n // (It seems that violate the \"merge\" principle, but most of users probably intuitively\n // regard \"return;\" as \"show nothing element whatever\", so make a exception to meet the\n // most cases.)\n var simplyRemove = !elOption; // `null`/`undefined`/`false`\n\n elOption = elOption || {};\n var elOptionType = elOption.type;\n var elOptionShape = elOption.shape;\n var elOptionStyle = elOption.style;\n\n if (el && (simplyRemove // || elOption.$merge === false\n // If `elOptionType` is `null`, follow the merge principle.\n || elOptionType != null && elOptionType !== el.__customGraphicType || elOptionType === 'path' && hasOwnPathData(elOptionShape) && getPathData(elOptionShape) !== el.__customPathData || elOptionType === 'image' && hasOwn(elOptionStyle, 'image') && elOptionStyle.image !== el.__customImagePath // FIXME test and remove this restriction?\n || elOptionType === 'text' && hasOwn(elOptionShape, 'text') && elOptionStyle.text !== el.__customText)) {\n group.remove(el);\n el = null;\n } // `elOption.type` is undefined when `renderItem` returns nothing.\n\n\n if (simplyRemove) {\n return;\n }\n\n var isInit = !el;\n !el && (el = createEl(elOption));\n updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot);\n\n if (elOptionType === 'group') {\n mergeChildren(el, dataIndex, elOption, animatableModel, data);\n } // Always add whatever already added to ensure sequence.\n\n\n group.add(el);\n return el;\n} // Usage:\n// (1) By default, `elOption.$mergeChildren` is `'byIndex'`, which indicates that\n// the existing children will not be removed, and enables the feature that\n// update some of the props of some of the children simply by construct\n// the returned children of `renderItem` like:\n// `var children = group.children = []; children[3] = {opacity: 0.5};`\n// (2) If `elOption.$mergeChildren` is `'byName'`, add/update/remove children\n// by child.name. But that might be lower performance.\n// (3) If `elOption.$mergeChildren` is `false`, the existing children will be\n// replaced totally.\n// (4) If `!elOption.children`, following the \"merge\" principle, nothing will happen.\n//\n// For implementation simpleness, do not provide a direct way to remove sinlge\n// child (otherwise the total indicies of the children array have to be modified).\n// User can remove a single child by set its `ignore` as `true` or replace\n// it by another element, where its `$merge` can be set as `true` if necessary.\n\n\nfunction mergeChildren(el, dataIndex, elOption, animatableModel, data) {\n var newChildren = elOption.children;\n var newLen = newChildren ? newChildren.length : 0;\n var mergeChildren = elOption.$mergeChildren; // `diffChildrenByName` has been deprecated.\n\n var byName = mergeChildren === 'byName' || elOption.diffChildrenByName;\n var notMerge = mergeChildren === false; // For better performance on roam update, only enter if necessary.\n\n if (!newLen && !byName && !notMerge) {\n return;\n }\n\n if (byName) {\n diffGroupChildren({\n oldChildren: el.children() || [],\n newChildren: newChildren || [],\n dataIndex: dataIndex,\n animatableModel: animatableModel,\n group: el,\n data: data\n });\n return;\n }\n\n notMerge && el.removeAll(); // Mapping children of a group simply by index, which\n // might be better performance.\n\n var index = 0;\n\n for (; index < newLen; index++) {\n newChildren[index] && doCreateOrUpdate(el.childAt(index), dataIndex, newChildren[index], animatableModel, el, data);\n }\n}\n\nfunction diffGroupChildren(context) {\n new DataDiffer(context.oldChildren, context.newChildren, getKey, getKey, context).add(processAddUpdate).update(processAddUpdate).remove(processRemove).execute();\n}\n\nfunction getKey(item, idx) {\n var name = item && item.name;\n return name != null ? name : GROUP_DIFF_PREFIX + idx;\n}\n\nfunction processAddUpdate(newIndex, oldIndex) {\n var context = this.context;\n var childOption = newIndex != null ? context.newChildren[newIndex] : null;\n var child = oldIndex != null ? context.oldChildren[oldIndex] : null;\n doCreateOrUpdate(child, context.dataIndex, childOption, context.animatableModel, context.group, context.data);\n} // `graphic#applyDefaultTextStyle` will cache\n// textFill, textStroke, textStrokeWidth.\n// We have to do this trick.\n\n\nfunction applyExtraBefore(extra, model) {\n var dummyModel = new Model({}, model);\n zrUtil.each(CACHED_LABEL_STYLE_PROPERTIES, function (stylePropName, modelPropName) {\n if (extra.hasOwnProperty(stylePropName)) {\n dummyModel.option[modelPropName] = extra[stylePropName];\n }\n });\n return dummyModel;\n}\n\nfunction applyExtraAfter(itemStyle, extra) {\n for (var key in extra) {\n if (extra.hasOwnProperty(key) || !CACHED_LABEL_STYLE_PROPERTIES.hasOwnProperty(key)) {\n itemStyle[key] = extra[key];\n }\n }\n}\n\nfunction processRemove(oldIndex) {\n var context = this.context;\n var child = context.oldChildren[oldIndex];\n child && context.group.remove(child);\n}\n\nfunction getPathData(shape) {\n // \"d\" follows the SVG convention.\n return shape && (shape.pathData || shape.d);\n}\n\nfunction hasOwnPathData(shape) {\n return shape && (shape.hasOwnProperty('pathData') || shape.hasOwnProperty('d'));\n}\n\nfunction hasOwn(host, prop) {\n return host && host.hasOwnProperty(prop);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar _axisHelper = require(\"./axisHelper\");\n\nvar makeLabelFormatter = _axisHelper.makeLabelFormatter;\nvar getOptionCategoryInterval = _axisHelper.getOptionCategoryInterval;\nvar shouldShowAllLabels = _axisHelper.shouldShowAllLabels;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n/**\n * @param {module:echats/coord/Axis} axis\n * @return {Object} {\n * labels: [{\n * formattedLabel: string,\n * rawLabel: string,\n * tickValue: number\n * }, ...],\n * labelCategoryInterval: number\n * }\n */\n\nfunction createAxisLabels(axis) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\n * @param {module:echats/coord/Axis} axis\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\n * @return {Object} {\n * ticks: Array.\n * tickCategoryInterval: number\n * }\n */\n\n\nfunction createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: axis.scale.getTicks()\n };\n}\n\nfunction makeCategoryLabels(axis) {\n var labelModel = axis.getLabelModel();\n var result = makeCategoryLabelsActually(axis, labelModel);\n return !labelModel.get('show') || axis.scale.isBlank() ? {\n labels: [],\n labelCategoryInterval: result.labelCategoryInterval\n } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n var labelsCache = getListCache(axis, 'labels');\n var optionLabelInterval = getOptionCategoryInterval(labelModel);\n var result = listCacheGet(labelsCache, optionLabelInterval);\n\n if (result) {\n return result;\n }\n\n var labels;\n var numericLabelInterval;\n\n if (zrUtil.isFunction(optionLabelInterval)) {\n labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n } else {\n numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n } // Cache to avoid calling interval function repeatly.\n\n\n return listCacheSet(labelsCache, optionLabelInterval, {\n labels: labels,\n labelCategoryInterval: numericLabelInterval\n });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n var ticksCache = getListCache(axis, 'ticks');\n var optionTickInterval = getOptionCategoryInterval(tickModel);\n var result = listCacheGet(ticksCache, optionTickInterval);\n\n if (result) {\n return result;\n }\n\n var ticks;\n var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n // we should not return all ticks.\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n ticks = [];\n }\n\n if (zrUtil.isFunction(optionTickInterval)) {\n ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n } // Always use label interval by default despite label show. Consider this\n // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n // labels. `splitLine` and `axisTick` should be consistent in this case.\n else if (optionTickInterval === 'auto') {\n var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n tickCategoryInterval = labelsResult.labelCategoryInterval;\n ticks = zrUtil.map(labelsResult.labels, function (labelItem) {\n return labelItem.tickValue;\n });\n } else {\n tickCategoryInterval = optionTickInterval;\n ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n } // Cache to avoid calling interval function repeatly.\n\n\n return listCacheSet(ticksCache, optionTickInterval, {\n ticks: ticks,\n tickCategoryInterval: tickCategoryInterval\n });\n}\n\nfunction makeRealNumberLabels(axis) {\n var ticks = axis.scale.getTicks();\n var labelFormatter = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tickValue, idx) {\n return {\n formattedLabel: labelFormatter(tickValue, idx),\n rawLabel: axis.scale.getLabel(tickValue),\n tickValue: tickValue\n };\n })\n };\n} // Large category data calculation is performence sensitive, and ticks and label\n// probably be fetched by multiple times. So we cache the result.\n// axis is created each time during a ec process, so we do not need to clear cache.\n\n\nfunction getListCache(axis, prop) {\n // Because key can be funciton, and cache size always be small, we use array cache.\n return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].key === key) {\n return cache[i].value;\n }\n }\n}\n\nfunction listCacheSet(cache, key, value) {\n cache.push({\n key: key,\n value: value\n });\n return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n var result = inner(axis).autoInterval;\n return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\n * Calculate interval for category axis ticks and labels.\n * To get precise result, at least one of `getRotate` and `isHorizontal`\n * should be implemented in axis.\n */\n\n\nfunction calculateCategoryInterval(axis) {\n var params = fetchAutoCategoryIntervalCalculationParams(axis);\n var labelFormatter = makeLabelFormatter(axis);\n var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n if (tickCount > 40) {\n step = Math.max(1, Math.floor(tickCount / 40));\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitW = Math.abs(unitSpan * Math.cos(rotation));\n var unitH = Math.abs(unitSpan * Math.sin(rotation));\n var maxW = 0;\n var maxH = 0; // Caution: Performance sensitive for large category data.\n // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n var width = 0;\n var height = 0; // Not precise, do not consider align and vertical align\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(labelFormatter(tickValue), params.font, 'center', 'top'); // Magic number\n\n width = rect.width * 1.3;\n height = rect.height * 1.3; // Min size, void long loop.\n\n maxW = Math.max(maxW, width, 7);\n maxH = Math.max(maxH, height, 7);\n }\n\n var dw = maxW / unitW;\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dw) && (dw = Infinity);\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n var cache = inner(axis.model);\n var axisExtent = axis.getExtent();\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n // The jitter will cause that sometimes the displayed labels are\n // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n // be used. Otherwise some hiden labels might not be shown again.\n && cache.axisExtend0 === axisExtent[0] && cache.axisExtend1 === axisExtent[1]) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n cache.axisExtend0 = axisExtent[0];\n cache.axisExtend1 = axisExtent[1];\n }\n\n return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n var labelModel = axis.getLabelModel();\n return {\n axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n labelRotate: labelModel.get('rotate') || 0,\n font: labelModel.getFont()\n };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n var labelFormatter = makeLabelFormatter(axis);\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent();\n var labelModel = axis.getLabelModel();\n var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n var step = Math.max((categoryInterval || 0) + 1, 1);\n var startTick = ordinalExtent[0];\n var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n // while zooming and moving while interval > 0. Otherwise the selection\n // of displayable ticks and symbols probably keep changing.\n // 3 is empirical value.\n\n if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n startTick = Math.round(Math.ceil(startTick / step) * step);\n } // (1) Only add min max label here but leave overlap checking\n // to render stage, which also ensure the returned list\n // suitable for splitLine and splitArea rendering.\n // (2) Scales except category always contain min max label so\n // do not need to perform this process.\n\n\n var showAllLabel = shouldShowAllLabels(axis);\n var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n if (includeMinLabel && startTick !== ordinalExtent[0]) {\n addItem(ordinalExtent[0]);\n } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n var tickValue = startTick;\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n addItem(tickValue);\n }\n\n if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n addItem(ordinalExtent[1]);\n }\n\n function addItem(tVal) {\n result.push(onlyTick ? tVal : {\n formattedLabel: labelFormatter(tVal),\n rawLabel: ordinalScale.getLabel(tVal),\n tickValue: tVal\n });\n }\n\n return result;\n} // When interval is function, the result `false` means ignore the tick.\n// It is time consuming for large category data.\n\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tickValue) {\n var rawLabel = ordinalScale.getLabel(tickValue);\n\n if (categoryInterval(tickValue, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickValue),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}\n\nexports.createAxisLabels = createAxisLabels;\nexports.createAxisTicks = createAxisTicks;\nexports.calculateCategoryInterval = calculateCategoryInterval;","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar isArray = zrUtil.isArray;\n/**\n * Make the name displayable. But we should\n * make sure it is not duplicated with user\n * specified name, so use '\\0';\n */\n\nvar DUMMY_COMPONENT_NAME_PREFIX = 'series\\0';\n/**\n * If value is not array, then translate it to array.\n * @param {*} value\n * @return {Array} [value] or value\n */\n\nfunction normalizeToArray(value) {\n return value instanceof Array ? value : value == null ? [] : [value];\n}\n/**\n * Sync default option between normal and emphasis like `position` and `show`\n * In case some one will write code like\n * label: {\n * show: false,\n * position: 'outside',\n * fontSize: 18\n * },\n * emphasis: {\n * label: { show: true }\n * }\n * @param {Object} opt\n * @param {string} key\n * @param {Array.} subOpts\n */\n\n\nfunction defaultEmphasis(opt, key, subOpts) {\n // Caution: performance sensitive.\n if (opt) {\n opt[key] = opt[key] || {};\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[key] = opt.emphasis[key] || {}; // Default emphasis option from normal\n\n for (var i = 0, len = subOpts.length; i < len; i++) {\n var subOptName = subOpts[i];\n\n if (!opt.emphasis[key].hasOwnProperty(subOptName) && opt[key].hasOwnProperty(subOptName)) {\n opt.emphasis[key][subOptName] = opt[key][subOptName];\n }\n }\n }\n}\n\nvar TEXT_STYLE_OPTIONS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'rich', 'tag', 'color', 'textBorderColor', 'textBorderWidth', 'width', 'height', 'lineHeight', 'align', 'verticalAlign', 'baseline', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY', 'textShadowColor', 'textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY', 'backgroundColor', 'borderColor', 'borderWidth', 'borderRadius', 'padding']; // modelUtil.LABEL_OPTIONS = modelUtil.TEXT_STYLE_OPTIONS.concat([\n// 'position', 'offset', 'rotate', 'origin', 'show', 'distance', 'formatter',\n// 'fontStyle', 'fontWeight', 'fontSize', 'fontFamily',\n// // FIXME: deprecated, check and remove it.\n// 'textStyle'\n// ]);\n\n/**\n * The method do not ensure performance.\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\n * This helper method retieves value from data.\n * @param {string|number|Date|Array|Object} dataItem\n * @return {number|string|Date|Array.}\n */\n\nfunction getDataItemValue(dataItem) {\n return isObject(dataItem) && !isArray(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;\n}\n/**\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\n * This helper method determine if dataItem has extra option besides value\n * @param {string|number|Date|Array|Object} dataItem\n */\n\n\nfunction isDataItemOption(dataItem) {\n return isObject(dataItem) && !(dataItem instanceof Array); // // markLine data can be array\n // && !(dataItem[0] && isObject(dataItem[0]) && !(dataItem[0] instanceof Array));\n}\n/**\n * Mapping to exists for merge.\n *\n * @public\n * @param {Array.|Array.} exists\n * @param {Object|Array.} newCptOptions\n * @return {Array.} Result, like [{exist: ..., option: ...}, {}],\n * index of which is the same as exists.\n */\n\n\nfunction mappingToExists(exists, newCptOptions) {\n // Mapping by the order by original option (but not order of\n // new option) in merge mode. Because we should ensure\n // some specified index (like xAxisIndex) is consistent with\n // original option, which is easy to understand, espatially in\n // media query. And in most case, merge option is used to\n // update partial option but not be expected to change order.\n newCptOptions = (newCptOptions || []).slice();\n var result = zrUtil.map(exists || [], function (obj, index) {\n return {\n exist: obj\n };\n }); // Mapping by id or name if specified.\n\n each(newCptOptions, function (cptOption, index) {\n if (!isObject(cptOption)) {\n return;\n } // id has highest priority.\n\n\n for (var i = 0; i < result.length; i++) {\n if (!result[i].option // Consider name: two map to one.\n && cptOption.id != null && result[i].exist.id === cptOption.id + '') {\n result[i].option = cptOption;\n newCptOptions[index] = null;\n return;\n }\n }\n\n for (var i = 0; i < result.length; i++) {\n var exist = result[i].exist;\n\n if (!result[i].option // Consider name: two map to one.\n // Can not match when both ids exist but different.\n && (exist.id == null || cptOption.id == null) && cptOption.name != null && !isIdInner(cptOption) && !isIdInner(exist) && exist.name === cptOption.name + '') {\n result[i].option = cptOption;\n newCptOptions[index] = null;\n return;\n }\n }\n }); // Otherwise mapping by index.\n\n each(newCptOptions, function (cptOption, index) {\n if (!isObject(cptOption)) {\n return;\n }\n\n var i = 0;\n\n for (; i < result.length; i++) {\n var exist = result[i].exist;\n\n if (!result[i].option // Existing model that already has id should be able to\n // mapped to (because after mapping performed model may\n // be assigned with a id, whish should not affect next\n // mapping), except those has inner id.\n && !isIdInner(exist) // Caution:\n // Do not overwrite id. But name can be overwritten,\n // because axis use name as 'show label text'.\n // 'exist' always has id and name and we dont\n // need to check it.\n && cptOption.id == null) {\n result[i].option = cptOption;\n break;\n }\n }\n\n if (i >= result.length) {\n result.push({\n option: cptOption\n });\n }\n });\n return result;\n}\n/**\n * Make id and name for mapping result (result of mappingToExists)\n * into `keyInfo` field.\n *\n * @public\n * @param {Array.} Result, like [{exist: ..., option: ...}, {}],\n * which order is the same as exists.\n * @return {Array.} The input.\n */\n\n\nfunction makeIdAndName(mapResult) {\n // We use this id to hash component models and view instances\n // in echarts. id can be specified by user, or auto generated.\n // The id generation rule ensures new view instance are able\n // to mapped to old instance when setOption are called in\n // no-merge mode. So we generate model id by name and plus\n // type in view id.\n // name can be duplicated among components, which is convenient\n // to specify multi components (like series) by one name.\n // Ensure that each id is distinct.\n var idMap = zrUtil.createHashMap();\n each(mapResult, function (item, index) {\n var existCpt = item.exist;\n existCpt && idMap.set(existCpt.id, item);\n });\n each(mapResult, function (item, index) {\n var opt = item.option;\n zrUtil.assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, 'id duplicates: ' + (opt && opt.id));\n opt && opt.id != null && idMap.set(opt.id, item);\n !item.keyInfo && (item.keyInfo = {});\n }); // Make name and id.\n\n each(mapResult, function (item, index) {\n var existCpt = item.exist;\n var opt = item.option;\n var keyInfo = item.keyInfo;\n\n if (!isObject(opt)) {\n return;\n } // name can be overwitten. Consider case: axis.name = '20km'.\n // But id generated by name will not be changed, which affect\n // only in that case: setOption with 'not merge mode' and view\n // instance will be recreated, which can be accepted.\n\n\n keyInfo.name = opt.name != null ? opt.name + '' : existCpt ? existCpt.name // Avoid diffferent series has the same name,\n // because name may be used like in color pallet.\n : DUMMY_COMPONENT_NAME_PREFIX + index;\n\n if (existCpt) {\n keyInfo.id = existCpt.id;\n } else if (opt.id != null) {\n keyInfo.id = opt.id + '';\n } else {\n // Consider this situatoin:\n // optionA: [{name: 'a'}, {name: 'a'}, {..}]\n // optionB [{..}, {name: 'a'}, {name: 'a'}]\n // Series with the same name between optionA and optionB\n // should be mapped.\n var idNum = 0;\n\n do {\n keyInfo.id = '\\0' + keyInfo.name + '\\0' + idNum++;\n } while (idMap.get(keyInfo.id));\n }\n\n idMap.set(keyInfo.id, item);\n });\n}\n\nfunction isNameSpecified(componentModel) {\n var name = componentModel.name; // Is specified when `indexOf` get -1 or > 0.\n\n return !!(name && name.indexOf(DUMMY_COMPONENT_NAME_PREFIX));\n}\n/**\n * @public\n * @param {Object} cptOption\n * @return {boolean}\n */\n\n\nfunction isIdInner(cptOption) {\n return isObject(cptOption) && cptOption.id && (cptOption.id + '').indexOf('\\0_ec_\\0') === 0;\n}\n/**\n * A helper for removing duplicate items between batchA and batchB,\n * and in themselves, and categorize by series.\n *\n * @param {Array.} batchA Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @param {Array.} batchB Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\n * @return {Array., Array.>} result: [resultBatchA, resultBatchB]\n */\n\n\nfunction compressBatches(batchA, batchB) {\n var mapA = {};\n var mapB = {};\n makeMap(batchA || [], mapA);\n makeMap(batchB || [], mapB, mapA);\n return [mapToArray(mapA), mapToArray(mapB)];\n\n function makeMap(sourceBatch, map, otherMap) {\n for (var i = 0, len = sourceBatch.length; i < len; i++) {\n var seriesId = sourceBatch[i].seriesId;\n var dataIndices = normalizeToArray(sourceBatch[i].dataIndex);\n var otherDataIndices = otherMap && otherMap[seriesId];\n\n for (var j = 0, lenj = dataIndices.length; j < lenj; j++) {\n var dataIndex = dataIndices[j];\n\n if (otherDataIndices && otherDataIndices[dataIndex]) {\n otherDataIndices[dataIndex] = null;\n } else {\n (map[seriesId] || (map[seriesId] = {}))[dataIndex] = 1;\n }\n }\n }\n }\n\n function mapToArray(map, isData) {\n var result = [];\n\n for (var i in map) {\n if (map.hasOwnProperty(i) && map[i] != null) {\n if (isData) {\n result.push(+i);\n } else {\n var dataIndices = mapToArray(map[i], true);\n dataIndices.length && result.push({\n seriesId: i,\n dataIndex: dataIndices\n });\n }\n }\n }\n\n return result;\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Object} payload Contains dataIndex (means rawIndex) / dataIndexInside / name\n * each of which can be Array or primary type.\n * @return {number|Array.} dataIndex If not found, return undefined/null.\n */\n\n\nfunction queryDataIndex(data, payload) {\n if (payload.dataIndexInside != null) {\n return payload.dataIndexInside;\n } else if (payload.dataIndex != null) {\n return zrUtil.isArray(payload.dataIndex) ? zrUtil.map(payload.dataIndex, function (value) {\n return data.indexOfRawIndex(value);\n }) : data.indexOfRawIndex(payload.dataIndex);\n } else if (payload.name != null) {\n return zrUtil.isArray(payload.name) ? zrUtil.map(payload.name, function (value) {\n return data.indexOfName(value);\n }) : data.indexOfName(payload.name);\n }\n}\n/**\n * Enable property storage to any host object.\n * Notice: Serialization is not supported.\n *\n * For example:\n * var inner = zrUitl.makeInner();\n *\n * function some1(hostObj) {\n * inner(hostObj).someProperty = 1212;\n * ...\n * }\n * function some2() {\n * var fields = inner(this);\n * fields.someProperty1 = 1212;\n * fields.someProperty2 = 'xx';\n * ...\n * }\n *\n * @return {Function}\n */\n\n\nfunction makeInner() {\n // Consider different scope by es module import.\n var key = '__\\0ec_inner_' + innerUniqueIndex++ + '_' + Math.random().toFixed(5);\n return function (hostObj) {\n return hostObj[key] || (hostObj[key] = {});\n };\n}\n\nvar innerUniqueIndex = 0;\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex, seriesId, seriesName,\n * geoIndex, geoId, geoName,\n * bmapIndex, bmapId, bmapName,\n * xAxisIndex, xAxisId, xAxisName,\n * yAxisIndex, yAxisId, yAxisName,\n * gridIndex, gridId, gridName,\n * ... (can be extended)\n * }\n * Each properties can be number|string|Array.|Array.\n * For example, a finder could be\n * {\n * seriesIndex: 3,\n * geoId: ['aa', 'cc'],\n * gridName: ['xx', 'rr']\n * }\n * xxxIndex can be set as 'all' (means all xxx) or 'none' (means not specify)\n * If nothing or null/undefined specified, return nothing.\n * @param {Object} [opt]\n * @param {string} [opt.defaultMainType]\n * @param {Array.} [opt.includeMainTypes]\n * @return {Object} result like:\n * {\n * seriesModels: [seriesModel1, seriesModel2],\n * seriesModel: seriesModel1, // The first model\n * geoModels: [geoModel1, geoModel2],\n * geoModel: geoModel1, // The first model\n * ...\n * }\n */\n\nfunction parseFinder(ecModel, finder, opt) {\n if (zrUtil.isString(finder)) {\n var obj = {};\n obj[finder + 'Index'] = 0;\n finder = obj;\n }\n\n var defaultMainType = opt && opt.defaultMainType;\n\n if (defaultMainType && !has(finder, defaultMainType + 'Index') && !has(finder, defaultMainType + 'Id') && !has(finder, defaultMainType + 'Name')) {\n finder[defaultMainType + 'Index'] = 0;\n }\n\n var result = {};\n each(finder, function (value, key) {\n var value = finder[key]; // Exclude 'dataIndex' and other illgal keys.\n\n if (key === 'dataIndex' || key === 'dataIndexInside') {\n result[key] = value;\n return;\n }\n\n var parsedKey = key.match(/^(\\w+)(Index|Id|Name)$/) || [];\n var mainType = parsedKey[1];\n var queryType = (parsedKey[2] || '').toLowerCase();\n\n if (!mainType || !queryType || value == null || queryType === 'index' && value === 'none' || opt && opt.includeMainTypes && zrUtil.indexOf(opt.includeMainTypes, mainType) < 0) {\n return;\n }\n\n var queryParam = {\n mainType: mainType\n };\n\n if (queryType !== 'index' || value !== 'all') {\n queryParam[queryType] = value;\n }\n\n var models = ecModel.queryComponents(queryParam);\n result[mainType + 'Models'] = models;\n result[mainType + 'Model'] = models[0];\n });\n return result;\n}\n\nfunction has(obj, prop) {\n return obj && obj.hasOwnProperty(prop);\n}\n\nfunction setAttribute(dom, key, value) {\n dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value;\n}\n\nfunction getAttribute(dom, key) {\n return dom.getAttribute ? dom.getAttribute(key) : dom[key];\n}\n\nfunction getTooltipRenderMode(renderModeOption) {\n if (renderModeOption === 'auto') {\n // Using html when `document` exists, use richText otherwise\n return env.domSupported ? 'html' : 'richText';\n } else {\n return renderModeOption || 'html';\n }\n}\n/**\n * Group a list by key.\n *\n * @param {Array} array\n * @param {Function} getKey\n * param {*} Array item\n * return {string} key\n * @return {Object} Result\n * {Array}: keys,\n * {module:zrender/core/util/HashMap} buckets: {key -> Array}\n */\n\n\nfunction groupData(array, getKey) {\n var buckets = zrUtil.createHashMap();\n var keys = [];\n zrUtil.each(array, function (item) {\n var key = getKey(item);\n (buckets.get(key) || (keys.push(key), buckets.set(key, []))).push(item);\n });\n return {\n keys: keys,\n buckets: buckets\n };\n}\n\nexports.normalizeToArray = normalizeToArray;\nexports.defaultEmphasis = defaultEmphasis;\nexports.TEXT_STYLE_OPTIONS = TEXT_STYLE_OPTIONS;\nexports.getDataItemValue = getDataItemValue;\nexports.isDataItemOption = isDataItemOption;\nexports.mappingToExists = mappingToExists;\nexports.makeIdAndName = makeIdAndName;\nexports.isNameSpecified = isNameSpecified;\nexports.isIdInner = isIdInner;\nexports.compressBatches = compressBatches;\nexports.queryDataIndex = queryDataIndex;\nexports.makeInner = makeInner;\nexports.parseFinder = parseFinder;\nexports.setAttribute = setAttribute;\nexports.getAttribute = getAttribute;\nexports.getTooltipRenderMode = getTooltipRenderMode;\nexports.groupData = groupData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar clazzUtil = require(\"../util/clazz\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * // Scale class management\n * @module echarts/scale/Scale\n */\n\n/**\n * @param {Object} [setting]\n */\nfunction Scale(setting) {\n this._setting = setting || {};\n /**\n * Extent\n * @type {Array.}\n * @protected\n */\n\n this._extent = [Infinity, -Infinity];\n /**\n * Step is calculated in adjustExtent\n * @type {Array.}\n * @protected\n */\n\n this._interval = 0;\n this.init && this.init.apply(this, arguments);\n}\n/**\n * Parse input val to valid inner number.\n * @param {*} val\n * @return {number}\n */\n\n\nScale.prototype.parse = function (val) {\n // Notice: This would be a trap here, If the implementation\n // of this method depends on extent, and this method is used\n // before extent set (like in dataZoom), it would be wrong.\n // Nevertheless, parse does not depend on extent generally.\n return val;\n};\n\nScale.prototype.getSetting = function (name) {\n return this._setting[name];\n};\n\nScale.prototype.contain = function (val) {\n var extent = this._extent;\n return val >= extent[0] && val <= extent[1];\n};\n/**\n * Normalize value to linear [0, 1], return 0.5 if extent span is 0\n * @param {number} val\n * @return {number}\n */\n\n\nScale.prototype.normalize = function (val) {\n var extent = this._extent;\n\n if (extent[1] === extent[0]) {\n return 0.5;\n }\n\n return (val - extent[0]) / (extent[1] - extent[0]);\n};\n/**\n * Scale normalized value\n * @param {number} val\n * @return {number}\n */\n\n\nScale.prototype.scale = function (val) {\n var extent = this._extent;\n return val * (extent[1] - extent[0]) + extent[0];\n};\n/**\n * Set extent from data\n * @param {Array.} other\n */\n\n\nScale.prototype.unionExtent = function (other) {\n var extent = this._extent;\n other[0] < extent[0] && (extent[0] = other[0]);\n other[1] > extent[1] && (extent[1] = other[1]); // not setExtent because in log axis it may transformed to power\n // this.setExtent(extent[0], extent[1]);\n};\n/**\n * Set extent from data\n * @param {module:echarts/data/List} data\n * @param {string} dim\n */\n\n\nScale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n};\n/**\n * Get extent\n * @return {Array.}\n */\n\n\nScale.prototype.getExtent = function () {\n return this._extent.slice();\n};\n/**\n * Set extent\n * @param {number} start\n * @param {number} end\n */\n\n\nScale.prototype.setExtent = function (start, end) {\n var thisExtent = this._extent;\n\n if (!isNaN(start)) {\n thisExtent[0] = start;\n }\n\n if (!isNaN(end)) {\n thisExtent[1] = end;\n }\n};\n/**\n * When axis extent depends on data and no data exists,\n * axis ticks should not be drawn, which is named 'blank'.\n */\n\n\nScale.prototype.isBlank = function () {\n return this._isBlank;\n},\n/**\n * When axis extent depends on data and no data exists,\n * axis ticks should not be drawn, which is named 'blank'.\n */\nScale.prototype.setBlank = function (isBlank) {\n this._isBlank = isBlank;\n};\n/**\n * @abstract\n * @param {*} tick\n * @return {string} label of the tick.\n */\n\nScale.prototype.getLabel = null;\nclazzUtil.enableClassExtend(Scale);\nclazzUtil.enableClassManagement(Scale, {\n registerWhenExtend: true\n});\nvar _default = Scale;\nmodule.exports = _default;","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.drawPolylinePath = drawPolylinePath;\nexports.drawBezierCurvePath = drawBezierCurvePath;\nexports[\"default\"] = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\n/**\r\n * @description Draw a polyline path\r\n * @param {Object} ctx Canvas 2d context\r\n * @param {Array} points The points that makes up a polyline\r\n * @param {Boolean} beginPath Whether to execute beginPath\r\n * @param {Boolean} closePath Whether to execute closePath\r\n * @return {Undefined} Void\r\n */\nfunction drawPolylinePath(ctx, points) {\n var beginPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var closePath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (!ctx || points.length < 2) return false;\n if (beginPath) ctx.beginPath();\n points.forEach(function (point, i) {\n return point && (i === 0 ? ctx.moveTo.apply(ctx, (0, _toConsumableArray2[\"default\"])(point)) : ctx.lineTo.apply(ctx, (0, _toConsumableArray2[\"default\"])(point)));\n });\n if (closePath) ctx.closePath();\n}\n/**\r\n * @description Draw a bezier curve path\r\n * @param {Object} ctx Canvas 2d context\r\n * @param {Array} points The points that makes up a bezier curve\r\n * @param {Array} moveTo The point need to excute moveTo\r\n * @param {Boolean} beginPath Whether to execute beginPath\r\n * @param {Boolean} closePath Whether to execute closePath\r\n * @return {Undefined} Void\r\n */\n\n\nfunction drawBezierCurvePath(ctx, points) {\n var moveTo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var beginPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var closePath = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n if (!ctx || !points) return false;\n if (beginPath) ctx.beginPath();\n if (moveTo) ctx.moveTo.apply(ctx, (0, _toConsumableArray2[\"default\"])(moveTo));\n points.forEach(function (item) {\n return item && ctx.bezierCurveTo.apply(ctx, (0, _toConsumableArray2[\"default\"])(item[0]).concat((0, _toConsumableArray2[\"default\"])(item[1]), (0, _toConsumableArray2[\"default\"])(item[2])));\n });\n if (closePath) ctx.closePath();\n}\n\nvar _default = {\n drawPolylinePath: drawPolylinePath,\n drawBezierCurvePath: drawBezierCurvePath\n};\nexports[\"default\"] = _default;","var zrUtil = require(\"../core/util\");\n\nvar Element = require(\"../Element\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\n/**\n * Group是一个容器,可以插入子节点,Group的变换也会被应用到子节点上\n * @module zrender/graphic/Group\n * @example\n * var Group = require('zrender/container/Group');\n * var Circle = require('zrender/graphic/shape/Circle');\n * var g = new Group();\n * g.position[0] = 100;\n * g.position[1] = 100;\n * g.add(new Circle({\n * style: {\n * x: 100,\n * y: 100,\n * r: 20,\n * }\n * }));\n * zr.add(g);\n */\n\n/**\n * @alias module:zrender/graphic/Group\n * @constructor\n * @extends module:zrender/mixin/Transformable\n * @extends module:zrender/mixin/Eventful\n */\nvar Group = function (opts) {\n opts = opts || {};\n Element.call(this, opts);\n\n for (var key in opts) {\n if (opts.hasOwnProperty(key)) {\n this[key] = opts[key];\n }\n }\n\n this._children = [];\n this.__storage = null;\n this.__dirty = true;\n};\n\nGroup.prototype = {\n constructor: Group,\n isGroup: true,\n\n /**\n * @type {string}\n */\n type: 'group',\n\n /**\n * 所有子孙元素是否响应鼠标事件\n * @name module:/zrender/container/Group#silent\n * @type {boolean}\n * @default false\n */\n silent: false,\n\n /**\n * @return {Array.}\n */\n children: function () {\n return this._children.slice();\n },\n\n /**\n * 获取指定 index 的儿子节点\n * @param {number} idx\n * @return {module:zrender/Element}\n */\n childAt: function (idx) {\n return this._children[idx];\n },\n\n /**\n * 获取指定名字的儿子节点\n * @param {string} name\n * @return {module:zrender/Element}\n */\n childOfName: function (name) {\n var children = this._children;\n\n for (var i = 0; i < children.length; i++) {\n if (children[i].name === name) {\n return children[i];\n }\n }\n },\n\n /**\n * @return {number}\n */\n childCount: function () {\n return this._children.length;\n },\n\n /**\n * 添加子节点到最后\n * @param {module:zrender/Element} child\n */\n add: function (child) {\n if (child && child !== this && child.parent !== this) {\n this._children.push(child);\n\n this._doAdd(child);\n }\n\n return this;\n },\n\n /**\n * 添加子节点在 nextSibling 之前\n * @param {module:zrender/Element} child\n * @param {module:zrender/Element} nextSibling\n */\n addBefore: function (child, nextSibling) {\n if (child && child !== this && child.parent !== this && nextSibling && nextSibling.parent === this) {\n var children = this._children;\n var idx = children.indexOf(nextSibling);\n\n if (idx >= 0) {\n children.splice(idx, 0, child);\n\n this._doAdd(child);\n }\n }\n\n return this;\n },\n _doAdd: function (child) {\n if (child.parent) {\n child.parent.remove(child);\n }\n\n child.parent = this;\n var storage = this.__storage;\n var zr = this.__zr;\n\n if (storage && storage !== child.__storage) {\n storage.addToStorage(child);\n\n if (child instanceof Group) {\n child.addChildrenToStorage(storage);\n }\n }\n\n zr && zr.refresh();\n },\n\n /**\n * 移除子节点\n * @param {module:zrender/Element} child\n */\n remove: function (child) {\n var zr = this.__zr;\n var storage = this.__storage;\n var children = this._children;\n var idx = zrUtil.indexOf(children, child);\n\n if (idx < 0) {\n return this;\n }\n\n children.splice(idx, 1);\n child.parent = null;\n\n if (storage) {\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n\n zr && zr.refresh();\n return this;\n },\n\n /**\n * 移除所有子节点\n */\n removeAll: function () {\n var children = this._children;\n var storage = this.__storage;\n var child;\n var i;\n\n for (i = 0; i < children.length; i++) {\n child = children[i];\n\n if (storage) {\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n\n child.parent = null;\n }\n\n children.length = 0;\n return this;\n },\n\n /**\n * 遍历所有子节点\n * @param {Function} cb\n * @param {} context\n */\n eachChild: function (cb, context) {\n var children = this._children;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n cb.call(context, child, i);\n }\n\n return this;\n },\n\n /**\n * 深度优先遍历所有子孙节点\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n cb.call(context, child);\n\n if (child.type === 'group') {\n child.traverse(cb, context);\n }\n }\n\n return this;\n },\n addChildrenToStorage: function (storage) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n storage.addToStorage(child);\n\n if (child instanceof Group) {\n child.addChildrenToStorage(storage);\n }\n }\n },\n delChildrenFromStorage: function (storage) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n storage.delFromStorage(child);\n\n if (child instanceof Group) {\n child.delChildrenFromStorage(storage);\n }\n }\n },\n dirty: function () {\n this.__dirty = true;\n this.__zr && this.__zr.refresh();\n return this;\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function (includeChildren) {\n // TODO Caching\n var rect = null;\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = includeChildren || this._children;\n var tmpMat = [];\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.ignore || child.invisible) {\n continue;\n }\n\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat); // TODO\n // The boundingRect cacluated by transforming original\n // rect may be bigger than the actual bundingRect when rotation\n // is used. (Consider a circle rotated aginst its center, where\n // the actual boundingRect should be the same as that not be\n // rotated.) But we can not find better approach to calculate\n // actual boundingRect yet, considering performance.\n\n if (transform) {\n tmpRect.copy(childRect);\n tmpRect.applyTransform(transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n } else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n\n return rect || tmpRect;\n }\n};\nzrUtil.inherits(Group, Element);\nvar _default = Group;\nmodule.exports = _default;","var vec2 = require(\"./vector\");\n\nvar curve = require(\"./curve\");\n\n/**\n * @author Yi Shen(https://github.com/pissang)\n */\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = vec2.create();\nvar end = vec2.create();\nvar extremity = vec2.create();\n/**\n * 从顶点数组中计算出最小包围盒,写入`min`和`max`中\n * @module zrender/core/bbox\n * @param {Array} points 顶点数组\n * @param {number} min\n * @param {number} max\n */\n\nfunction fromPoints(points, min, max) {\n if (points.length === 0) {\n return;\n }\n\n var p = points[0];\n var left = p[0];\n var right = p[0];\n var top = p[1];\n var bottom = p[1];\n var i;\n\n for (i = 1; i < points.length; i++) {\n p = points[i];\n left = mathMin(left, p[0]);\n right = mathMax(right, p[0]);\n top = mathMin(top, p[1]);\n bottom = mathMax(bottom, p[1]);\n }\n\n min[0] = left;\n min[1] = top;\n max[0] = right;\n max[1] = bottom;\n}\n/**\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromLine(x0, y0, x1, y1, min, max) {\n min[0] = mathMin(x0, x1);\n min[1] = mathMin(y0, y1);\n max[0] = mathMax(x0, x1);\n max[1] = mathMax(y0, y1);\n}\n\nvar xDim = [];\nvar yDim = [];\n/**\n * 从三阶贝塞尔曲线(p0, p1, p2, p3)中计算出最小包围盒,写入`min`和`max`中\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {Array.} min\n * @param {Array.} max\n */\n\nfunction fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n var cubicExtrema = curve.cubicExtrema;\n var cubicAt = curve.cubicAt;\n var i;\n var n = cubicExtrema(x0, x1, x2, x3, xDim);\n min[0] = Infinity;\n min[1] = Infinity;\n max[0] = -Infinity;\n max[1] = -Infinity;\n\n for (i = 0; i < n; i++) {\n var x = cubicAt(x0, x1, x2, x3, xDim[i]);\n min[0] = mathMin(x, min[0]);\n max[0] = mathMax(x, max[0]);\n }\n\n n = cubicExtrema(y0, y1, y2, y3, yDim);\n\n for (i = 0; i < n; i++) {\n var y = cubicAt(y0, y1, y2, y3, yDim[i]);\n min[1] = mathMin(y, min[1]);\n max[1] = mathMax(y, max[1]);\n }\n\n min[0] = mathMin(x0, min[0]);\n max[0] = mathMax(x0, max[0]);\n min[0] = mathMin(x3, min[0]);\n max[0] = mathMax(x3, max[0]);\n min[1] = mathMin(y0, min[1]);\n max[1] = mathMax(y0, max[1]);\n min[1] = mathMin(y3, min[1]);\n max[1] = mathMax(y3, max[1]);\n}\n/**\n * 从二阶贝塞尔曲线(p0, p1, p2)中计算出最小包围盒,写入`min`和`max`中\n * @memberOf module:zrender/core/bbox\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n var quadraticExtremum = curve.quadraticExtremum;\n var quadraticAt = curve.quadraticAt; // Find extremities, where derivative in x dim or y dim is zero\n\n var tx = mathMax(mathMin(quadraticExtremum(x0, x1, x2), 1), 0);\n var ty = mathMax(mathMin(quadraticExtremum(y0, y1, y2), 1), 0);\n var x = quadraticAt(x0, x1, x2, tx);\n var y = quadraticAt(y0, y1, y2, ty);\n min[0] = mathMin(x0, x2, x);\n min[1] = mathMin(y0, y2, y);\n max[0] = mathMax(x0, x2, x);\n max[1] = mathMax(y0, y2, y);\n}\n/**\n * 从圆弧中计算出最小包围盒,写入`min`和`max`中\n * @method\n * @memberOf module:zrender/core/bbox\n * @param {number} x\n * @param {number} y\n * @param {number} rx\n * @param {number} ry\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {number} anticlockwise\n * @param {Array.} min\n * @param {Array.} max\n */\n\n\nfunction fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n var vec2Min = vec2.min;\n var vec2Max = vec2.max;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff % PI2 < 1e-4 && diff > 1e-4) {\n // Is a circle\n min[0] = x - rx;\n min[1] = y - ry;\n max[0] = x + rx;\n max[1] = y + ry;\n return;\n }\n\n start[0] = mathCos(startAngle) * rx + x;\n start[1] = mathSin(startAngle) * ry + y;\n end[0] = mathCos(endAngle) * rx + x;\n end[1] = mathSin(endAngle) * ry + y;\n vec2Min(min, start, end);\n vec2Max(max, start, end); // Thresh to [0, Math.PI * 2]\n\n startAngle = startAngle % PI2;\n\n if (startAngle < 0) {\n startAngle = startAngle + PI2;\n }\n\n endAngle = endAngle % PI2;\n\n if (endAngle < 0) {\n endAngle = endAngle + PI2;\n }\n\n if (startAngle > endAngle && !anticlockwise) {\n endAngle += PI2;\n } else if (startAngle < endAngle && anticlockwise) {\n startAngle += PI2;\n }\n\n if (anticlockwise) {\n var tmp = endAngle;\n endAngle = startAngle;\n startAngle = tmp;\n } // var number = 0;\n // var step = (anticlockwise ? -Math.PI : Math.PI) / 2;\n\n\n for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {\n if (angle > startAngle) {\n extremity[0] = mathCos(angle) * rx + x;\n extremity[1] = mathSin(angle) * ry + y;\n vec2Min(min, extremity, min);\n vec2Max(max, extremity, max);\n }\n }\n}\n\nexports.fromPoints = fromPoints;\nexports.fromLine = fromLine;\nexports.fromCubic = fromCubic;\nexports.fromQuadratic = fromQuadratic;\nexports.fromArc = fromArc;","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 104);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n\n/***/ 104:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n \"el-input-number\",\n _vm.inputNumberSize ? \"el-input-number--\" + _vm.inputNumberSize : \"\",\n { \"is-disabled\": _vm.inputNumberDisabled },\n { \"is-without-controls\": !_vm.controls },\n { \"is-controls-right\": _vm.controlsAtRight }\n ],\n on: {\n dragstart: function($event) {\n $event.preventDefault()\n }\n }\n },\n [\n _vm.controls\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"repeat-click\",\n rawName: \"v-repeat-click\",\n value: _vm.decrease,\n expression: \"decrease\"\n }\n ],\n staticClass: \"el-input-number__decrease\",\n class: { \"is-disabled\": _vm.minDisabled },\n attrs: { role: \"button\" },\n on: {\n keydown: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.decrease($event)\n }\n }\n },\n [\n _c(\"i\", {\n class:\n \"el-icon-\" + (_vm.controlsAtRight ? \"arrow-down\" : \"minus\")\n })\n ]\n )\n : _vm._e(),\n _vm.controls\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"repeat-click\",\n rawName: \"v-repeat-click\",\n value: _vm.increase,\n expression: \"increase\"\n }\n ],\n staticClass: \"el-input-number__increase\",\n class: { \"is-disabled\": _vm.maxDisabled },\n attrs: { role: \"button\" },\n on: {\n keydown: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.increase($event)\n }\n }\n },\n [\n _c(\"i\", {\n class: \"el-icon-\" + (_vm.controlsAtRight ? \"arrow-up\" : \"plus\")\n })\n ]\n )\n : _vm._e(),\n _c(\"el-input\", {\n ref: \"input\",\n attrs: {\n value: _vm.displayValue,\n placeholder: _vm.placeholder,\n disabled: _vm.inputNumberDisabled,\n size: _vm.inputNumberSize,\n max: _vm.max,\n min: _vm.min,\n name: _vm.name,\n label: _vm.label\n },\n on: {\n blur: _vm.handleBlur,\n focus: _vm.handleFocus,\n input: _vm.handleInput,\n change: _vm.handleInputChange\n },\n nativeOn: {\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.increase($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.decrease($event)\n }\n ]\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_ = __webpack_require__(22);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// EXTERNAL MODULE: ./src/directives/repeat-click.js\nvar repeat_click = __webpack_require__(30);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ var input_numbervue_type_script_lang_js_ = ({\n name: 'ElInputNumber',\n mixins: [focus_default()('input')],\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n directives: {\n repeatClick: repeat_click[\"a\" /* default */]\n },\n components: {\n ElInput: input_default.a\n },\n props: {\n step: {\n type: Number,\n default: 1\n },\n stepStrictly: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: Infinity\n },\n min: {\n type: Number,\n default: -Infinity\n },\n value: {},\n disabled: Boolean,\n size: String,\n controls: {\n type: Boolean,\n default: true\n },\n controlsPosition: {\n type: String,\n default: ''\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: function validator(val) {\n return val >= 0 && val === parseInt(val, 10);\n }\n }\n },\n data: function data() {\n return {\n currentValue: 0,\n userInput: null\n };\n },\n\n watch: {\n value: {\n immediate: true,\n handler: function handler(value) {\n var newVal = value === undefined ? value : Number(value);\n if (newVal !== undefined) {\n if (isNaN(newVal)) {\n return;\n }\n\n if (this.stepStrictly) {\n var stepPrecision = this.getPrecision(this.step);\n var precisionFactor = Math.pow(10, stepPrecision);\n newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor;\n }\n\n if (this.precision !== undefined) {\n newVal = this.toPrecision(newVal, this.precision);\n }\n }\n if (newVal >= this.max) newVal = this.max;\n if (newVal <= this.min) newVal = this.min;\n this.currentValue = newVal;\n this.userInput = null;\n this.$emit('input', newVal);\n }\n }\n },\n computed: {\n minDisabled: function minDisabled() {\n return this._decrease(this.value, this.step) < this.min;\n },\n maxDisabled: function maxDisabled() {\n return this._increase(this.value, this.step) > this.max;\n },\n numPrecision: function numPrecision() {\n var value = this.value,\n step = this.step,\n getPrecision = this.getPrecision,\n precision = this.precision;\n\n var stepPrecision = getPrecision(step);\n if (precision !== undefined) {\n if (stepPrecision > precision) {\n console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step');\n }\n return precision;\n } else {\n return Math.max(getPrecision(value), stepPrecision);\n }\n },\n controlsAtRight: function controlsAtRight() {\n return this.controls && this.controlsPosition === 'right';\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n inputNumberSize: function inputNumberSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n inputNumberDisabled: function inputNumberDisabled() {\n return this.disabled || !!(this.elForm || {}).disabled;\n },\n displayValue: function displayValue() {\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n var currentValue = this.currentValue;\n\n if (typeof currentValue === 'number') {\n if (this.stepStrictly) {\n var stepPrecision = this.getPrecision(this.step);\n var precisionFactor = Math.pow(10, stepPrecision);\n currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor;\n }\n\n if (this.precision !== undefined) {\n currentValue = currentValue.toFixed(this.precision);\n }\n }\n\n return currentValue;\n }\n },\n methods: {\n toPrecision: function toPrecision(num, precision) {\n if (precision === undefined) precision = this.numPrecision;\n return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision));\n },\n getPrecision: function getPrecision(value) {\n if (value === undefined) return 0;\n var valueString = value.toString();\n var dotPosition = valueString.indexOf('.');\n var precision = 0;\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1;\n }\n return precision;\n },\n _increase: function _increase(val, step) {\n if (typeof val !== 'number' && val !== undefined) return this.currentValue;\n\n var precisionFactor = Math.pow(10, this.numPrecision);\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor);\n },\n _decrease: function _decrease(val, step) {\n if (typeof val !== 'number' && val !== undefined) return this.currentValue;\n\n var precisionFactor = Math.pow(10, this.numPrecision);\n\n return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor);\n },\n increase: function increase() {\n if (this.inputNumberDisabled || this.maxDisabled) return;\n var value = this.value || 0;\n var newVal = this._increase(value, this.step);\n this.setCurrentValue(newVal);\n },\n decrease: function decrease() {\n if (this.inputNumberDisabled || this.minDisabled) return;\n var value = this.value || 0;\n var newVal = this._decrease(value, this.step);\n this.setCurrentValue(newVal);\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', event);\n },\n handleFocus: function handleFocus(event) {\n this.$emit('focus', event);\n },\n setCurrentValue: function setCurrentValue(newVal) {\n var oldVal = this.currentValue;\n if (typeof newVal === 'number' && this.precision !== undefined) {\n newVal = this.toPrecision(newVal, this.precision);\n }\n if (newVal >= this.max) newVal = this.max;\n if (newVal <= this.min) newVal = this.min;\n if (oldVal === newVal) return;\n this.userInput = null;\n this.$emit('input', newVal);\n this.$emit('change', newVal, oldVal);\n this.currentValue = newVal;\n },\n handleInput: function handleInput(value) {\n this.userInput = value;\n },\n handleInputChange: function handleInputChange(value) {\n var newVal = value === '' ? undefined : Number(value);\n if (!isNaN(newVal) || value === '') {\n this.setCurrentValue(newVal);\n }\n this.userInput = null;\n },\n select: function select() {\n this.$refs.input.select();\n }\n },\n mounted: function mounted() {\n var innerInput = this.$refs.input.$refs.input;\n innerInput.setAttribute('role', 'spinbutton');\n innerInput.setAttribute('aria-valuemax', this.max);\n innerInput.setAttribute('aria-valuemin', this.min);\n innerInput.setAttribute('aria-valuenow', this.currentValue);\n innerInput.setAttribute('aria-disabled', this.inputNumberDisabled);\n },\n updated: function updated() {\n if (!this.$refs || !this.$refs.input) return;\n var innerInput = this.$refs.input.$refs.input;\n innerInput.setAttribute('aria-valuenow', this.currentValue);\n }\n});\n// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_input_numbervue_type_script_lang_js_ = (input_numbervue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_input_numbervue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/input-number/src/input-number.vue\"\n/* harmony default export */ var input_number = (component.exports);\n// CONCATENATED MODULE: ./packages/input-number/index.js\n\n\n/* istanbul ignore next */\ninput_number.install = function (Vue) {\n Vue.component(input_number.name, input_number);\n};\n\n/* harmony default export */ var packages_input_number = __webpack_exports__[\"default\"] = (input_number);\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/focus\");\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);\n/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n bind: function bind(el, binding, vnode) {\n var interval = null;\n var startTime = void 0;\n var handler = function handler() {\n return vnode.context[binding.expression].apply();\n };\n var clear = function clear() {\n if (Date.now() - startTime < 100) {\n handler();\n }\n clearInterval(interval);\n interval = null;\n };\n\n Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"on\"])(el, 'mousedown', function (e) {\n if (e.button !== 0) return;\n startTime = Date.now();\n Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"once\"])(document, 'mouseup', clear);\n clearInterval(interval);\n interval = setInterval(handler, 100);\n });\n }\n});\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nvar aria = aria || {};\n\naria.Utils = aria.Utils || {};\n\n/**\n * @desc Set focus on descendant nodes until the first focusable element is\n * found.\n * @param element\n * DOM node for which to find the first focusable descendant.\n * @returns\n * true if a focusable element is found and focus is set.\n */\naria.Utils.focusFirstDescendant = function (element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * @desc Find the last descendant node that is focusable.\n * @param element\n * DOM node for which to find the last focusable descendant.\n * @returns\n * true if a focusable element is found and focus is set.\n */\n\naria.Utils.focusLastDescendant = function (element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n * The node to attempt to focus on.\n * @returns\n * true if element is focused.\n */\naria.Utils.attemptFocus = function (element) {\n if (!aria.Utils.isFocusable(element)) {\n return false;\n }\n aria.Utils.IgnoreUtilFocusChanges = true;\n try {\n element.focus();\n } catch (e) {}\n aria.Utils.IgnoreUtilFocusChanges = false;\n return document.activeElement === element;\n};\n\naria.Utils.isFocusable = function (element) {\n if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) {\n return true;\n }\n\n if (element.disabled) {\n return false;\n }\n\n switch (element.nodeName) {\n case 'A':\n return !!element.href && element.rel !== 'ignore';\n case 'INPUT':\n return element.type !== 'hidden' && element.type !== 'file';\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n default:\n return false;\n }\n};\n\n/**\n * 触发一个事件\n * mouseenter, mouseleave, mouseover, keyup, change, click 等\n * @param {Element} elm\n * @param {String} name\n * @param {*} opts\n */\naria.Utils.triggerEvent = function (elm, name) {\n var eventName = void 0;\n\n if (/^mouse|click/.test(name)) {\n eventName = 'MouseEvents';\n } else if (/^key/.test(name)) {\n eventName = 'KeyboardEvent';\n } else {\n eventName = 'HTMLEvents';\n }\n var evt = document.createEvent(eventName);\n\n for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n opts[_key - 2] = arguments[_key];\n }\n\n evt.initEvent.apply(evt, [name].concat(opts));\n elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt);\n\n return elm;\n};\n\naria.Utils.keys = {\n tab: 9,\n enter: 13,\n space: 32,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n esc: 27\n};\n\nexports.default = aria.Utils;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar seriesModelMixin = {\n /**\n * @private\n * @type {string}\n */\n _baseAxisDim: null,\n\n /**\n * @override\n */\n getInitialData: function (option, ecModel) {\n // When both types of xAxis and yAxis are 'value', layout is\n // needed to be specified by user. Otherwise, layout can be\n // judged by which axis is category.\n var ordinalMeta;\n var xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex'));\n var yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex'));\n var xAxisType = xAxisModel.get('type');\n var yAxisType = yAxisModel.get('type');\n var addOrdinal; // FIXME\n // Consider time axis.\n\n if (xAxisType === 'category') {\n option.layout = 'horizontal';\n ordinalMeta = xAxisModel.getOrdinalMeta();\n addOrdinal = true;\n } else if (yAxisType === 'category') {\n option.layout = 'vertical';\n ordinalMeta = yAxisModel.getOrdinalMeta();\n addOrdinal = true;\n } else {\n option.layout = option.layout || 'horizontal';\n }\n\n var coordDims = ['x', 'y'];\n var baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;\n var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];\n var otherAxisDim = coordDims[1 - baseAxisDimIndex];\n var axisModels = [xAxisModel, yAxisModel];\n var baseAxisType = axisModels[baseAxisDimIndex].get('type');\n var otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');\n var data = option.data; // ??? FIXME make a stage to perform data transfrom.\n // MUST create a new data, consider setOption({}) again.\n\n if (data && addOrdinal) {\n var newOptionData = [];\n zrUtil.each(data, function (item, index) {\n var newItem;\n\n if (item.value && zrUtil.isArray(item.value)) {\n newItem = item.value.slice();\n item.value.unshift(index);\n } else if (zrUtil.isArray(item)) {\n newItem = item.slice();\n item.unshift(index);\n } else {\n newItem = item;\n }\n\n newOptionData.push(newItem);\n });\n option.data = newOptionData;\n }\n\n var defaultValueDimensions = this.defaultValueDimensions;\n var coordDimensions = [{\n name: baseAxisDim,\n type: getDimensionTypeByAxis(baseAxisType),\n ordinalMeta: ordinalMeta,\n otherDims: {\n tooltip: false,\n itemName: 0\n },\n dimsDef: ['base']\n }, {\n name: otherAxisDim,\n type: getDimensionTypeByAxis(otherAxisType),\n dimsDef: defaultValueDimensions.slice()\n }];\n return createListSimply(this, {\n coordDimensions: coordDimensions,\n dimensionsCount: defaultValueDimensions.length + 1,\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordDimensions, this)\n });\n },\n\n /**\n * If horizontal, base axis is x, otherwise y.\n * @override\n */\n getBaseAxis: function () {\n var dim = this._baseAxisDim;\n return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;\n }\n};\nexports.seriesModelMixin = seriesModelMixin;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar List = require(\"../../data/List\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar extend = _util.extend;\nvar isArray = _util.isArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Usage]:\n * (1)\n * createListSimply(seriesModel, ['value']);\n * (2)\n * createListSimply(seriesModel, {\n * coordDimensions: ['value'],\n * dimensionsCount: 5\n * });\n *\n * @param {module:echarts/model/Series} seriesModel\n * @param {Object|Array.} opt opt or coordDimensions\n * The options in opt, see `echarts/data/helper/createDimensions`\n * @param {Array.} [nameList]\n * @return {module:echarts/data/List}\n */\nfunction _default(seriesModel, opt, nameList) {\n opt = isArray(opt) && {\n coordDimensions: opt\n } || extend({}, opt);\n var source = seriesModel.getSource();\n var dimensionsInfo = createDimensions(source, opt);\n var list = new List(dimensionsInfo, seriesModel);\n list.initData(source, nameList);\n return list;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar normalizeToArray = _model.normalizeToArray;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n\nfunction getNearestColorPalette(colors, requestColorNum) {\n var paletteNum = colors.length; // TODO colors must be in order\n\n for (var i = 0; i < paletteNum; i++) {\n if (colors[i].length > requestColorNum) {\n return colors[i];\n }\n }\n\n return colors[paletteNum - 1];\n}\n\nvar _default = {\n clearColorPalette: function () {\n inner(this).colorIdx = 0;\n inner(this).colorNameMap = {};\n },\n\n /**\n * @param {string} name MUST NOT be null/undefined. Otherwise call this function\n * twise with the same parameters will get different result.\n * @param {Object} [scope=this]\n * @param {Object} [requestColorNum]\n * @return {string} color string.\n */\n getColorFromPalette: function (name, scope, requestColorNum) {\n scope = scope || this;\n var scopeFields = inner(scope);\n var colorIdx = scopeFields.colorIdx || 0;\n var colorNameMap = scopeFields.colorNameMap = scopeFields.colorNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n if (colorNameMap.hasOwnProperty(name)) {\n return colorNameMap[name];\n }\n\n var defaultColorPalette = normalizeToArray(this.get('color', true));\n var layeredColorPalette = this.get('colorLayer', true);\n var colorPalette = requestColorNum == null || !layeredColorPalette ? defaultColorPalette : getNearestColorPalette(layeredColorPalette, requestColorNum); // In case can't find in layered color palette.\n\n colorPalette = colorPalette || defaultColorPalette;\n\n if (!colorPalette || !colorPalette.length) {\n return;\n }\n\n var color = colorPalette[colorIdx];\n\n if (name) {\n colorNameMap[name] = color;\n }\n\n scopeFields.colorIdx = (colorIdx + 1) % colorPalette.length;\n return color;\n }\n};\nmodule.exports = _default;","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/SliderZoomModel\");\n\nrequire(\"./dataZoom/SliderZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function () {\n if (_vue2.default.prototype.$isServer) return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n\n var outer = document.createElement('div');\n outer.className = 'el-scrollbar__wrap';\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n\n var widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n var widthWithScroll = inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n scrollBarWidth = widthNoScroll - widthWithScroll;\n\n return scrollBarWidth;\n};\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar scrollBarWidth = void 0;\n\n;","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {number} [time=500] Time in ms\n * @param {string} [easing='linear']\n * @param {number} [delay=0]\n * @param {Function} [callback]\n *\n * @example\n * // Animate position\n * animation\n * .createWrap()\n * .add(el1, {position: [10, 10]})\n * .add(el2, {shape: {width: 500}, style: {fill: 'red'}}, 400)\n * .done(function () { // done })\n * .start('cubicOut');\n */\nfunction createWrap() {\n var storage = [];\n var elExistsMap = {};\n var doneCallback;\n return {\n /**\n * Caution: a el can only be added once, otherwise 'done'\n * might not be called. This method checks this (by el.id),\n * suppresses adding and returns false when existing el found.\n *\n * @param {modele:zrender/Element} el\n * @param {Object} target\n * @param {number} [time=500]\n * @param {number} [delay=0]\n * @param {string} [easing='linear']\n * @return {boolean} Whether adding succeeded.\n *\n * @example\n * add(el, target, time, delay, easing);\n * add(el, target, time, easing);\n * add(el, target, time);\n * add(el, target);\n */\n add: function (el, target, time, delay, easing) {\n if (zrUtil.isString(delay)) {\n easing = delay;\n delay = 0;\n }\n\n if (elExistsMap[el.id]) {\n return false;\n }\n\n elExistsMap[el.id] = 1;\n storage.push({\n el: el,\n target: target,\n time: time,\n delay: delay,\n easing: easing\n });\n return true;\n },\n\n /**\n * Only execute when animation finished. Will not execute when any\n * of 'stop' or 'stopAnimation' called.\n *\n * @param {Function} callback\n */\n done: function (callback) {\n doneCallback = callback;\n return this;\n },\n\n /**\n * Will stop exist animation firstly.\n */\n start: function () {\n var count = storage.length;\n\n for (var i = 0, len = storage.length; i < len; i++) {\n var item = storage[i];\n item.el.animateTo(item.target, item.time, item.delay, item.easing, done);\n }\n\n return this;\n\n function done() {\n count--;\n\n if (!count) {\n storage.length = 0;\n elExistsMap = {};\n doneCallback && doneCallback();\n }\n }\n }\n };\n}\n\nexports.createWrap = createWrap;","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 53);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-select-dropdown__item\",\n class: {\n selected: _vm.itemSelected,\n \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n hover: _vm.hover\n },\n on: {\n mouseenter: _vm.hoverItem,\n click: function($event) {\n $event.stopPropagation()\n return _vm.selectOptionClick($event)\n }\n }\n },\n [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var optionvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a],\n\n name: 'ElOption',\n\n componentName: 'ElOption',\n\n inject: ['select'],\n\n props: {\n value: {\n required: true\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false\n };\n },\n\n\n computed: {\n isObject: function isObject() {\n return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n },\n currentLabel: function currentLabel() {\n return this.label || (this.isObject ? '' : this.value);\n },\n currentValue: function currentValue() {\n return this.value || this.label || '';\n },\n itemSelected: function itemSelected() {\n if (!this.select.multiple) {\n return this.isEqual(this.value, this.select.value);\n } else {\n return this.contains(this.select.value, this.value);\n }\n },\n limitReached: function limitReached() {\n if (this.select.multiple) {\n return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n } else {\n return false;\n }\n }\n },\n\n watch: {\n currentLabel: function currentLabel() {\n if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n },\n value: function value(val, oldVal) {\n var _select = this.select,\n remote = _select.remote,\n valueKey = _select.valueKey;\n\n if (!this.created && !remote) {\n if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n this.dispatch('ElSelect', 'setSelected');\n }\n }\n },\n\n methods: {\n isEqual: function isEqual(a, b) {\n if (!this.isObject) {\n return a === b;\n } else {\n var valueKey = this.select.valueKey;\n return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n }\n },\n contains: function contains() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var target = arguments[1];\n\n if (!this.isObject) {\n return arr && arr.indexOf(target) > -1;\n } else {\n var valueKey = this.select.valueKey;\n return arr && arr.some(function (item) {\n return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n });\n }\n },\n handleGroupDisabled: function handleGroupDisabled(val) {\n this.groupDisabled = val;\n },\n hoverItem: function hoverItem() {\n if (!this.disabled && !this.groupDisabled) {\n this.select.hoverIndex = this.select.options.indexOf(this);\n }\n },\n selectOptionClick: function selectOptionClick() {\n if (this.disabled !== true && this.groupDisabled !== true) {\n this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n }\n },\n queryChange: function queryChange(query) {\n this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n if (!this.visible) {\n this.select.filteredOptionsCount--;\n }\n }\n },\n\n created: function created() {\n this.select.options.push(this);\n this.select.cachedOptions.push(this);\n this.select.optionsCount++;\n this.select.filteredOptionsCount++;\n\n this.$on('queryChange', this.queryChange);\n this.$on('handleGroupDisabled', this.handleGroupDisabled);\n },\n beforeDestroy: function beforeDestroy() {\n var _select2 = this.select,\n selected = _select2.selected,\n multiple = _select2.multiple;\n\n var selectedOptions = multiple ? selected : [selected];\n var index = this.select.cachedOptions.indexOf(this);\n var selectedIndex = selectedOptions.indexOf(this);\n\n // if option is not selected, remove it from cache\n if (index > -1 && selectedIndex < 0) {\n this.select.cachedOptions.splice(index, 1);\n }\n this.select.onOptionDestroy(this.select.options.indexOf(this));\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_optionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/option.vue\"\n/* harmony default export */ var src_option = __webpack_exports__[\"a\"] = (component.exports);\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 53:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _select_src_option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33);\n\n\n/* istanbul ignore next */\n_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"].install = function (Vue) {\n Vue.component(_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"].name, _select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"]);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"]);\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _labelHelper = require(\"../helper/labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction setLabel(normalStyle, hoverStyle, itemModel, color, seriesModel, dataIndex, labelPositionOutside) {\n var labelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n graphic.setLabelStyle(normalStyle, hoverStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n isRectText: true,\n autoColor: color\n });\n fixPosition(normalStyle);\n fixPosition(hoverStyle);\n}\n\nfunction fixPosition(style, labelPositionOutside) {\n if (style.textPosition === 'outside') {\n style.textPosition = labelPositionOutside;\n }\n}\n\nexports.setLabel = setLabel;","var curve = require(\"../core/curve\");\n\n/**\n * 三次贝塞尔曲线描边包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l && y > y2 + _l && y > y3 + _l || y < y0 - _l && y < y1 - _l && y < y2 - _l && y < y3 - _l || x > x0 + _l && x > x1 + _l && x > x2 + _l && x > x3 + _l || x < x0 - _l && x < x1 - _l && x < x2 - _l && x < x3 - _l) {\n return false;\n }\n\n var d = curve.cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, null);\n return d <= _l / 2;\n}\n\nexports.containStroke = containStroke;","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var BoundingRect = require(\"../core/BoundingRect\");\n\nvar imageHelper = require(\"../graphic/helper/image\");\n\nvar _util = require(\"../core/util\");\n\nvar getContext = _util.getContext;\nvar extend = _util.extend;\nvar retrieve2 = _util.retrieve2;\nvar retrieve3 = _util.retrieve3;\nvar trim = _util.trim;\nvar textWidthCache = {};\nvar textWidthCacheCounter = 0;\nvar TEXT_CACHE_MAX = 5000;\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nvar DEFAULT_FONT = '12px sans-serif'; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n methods[name] = fn;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {number} width\n */\n\n\nfunction getWidth(text, font) {\n font = font || DEFAULT_FONT;\n var key = text + ':' + font;\n\n if (textWidthCache[key]) {\n return textWidthCache[key];\n }\n\n var textLines = (text + '').split('\\n');\n var width = 0;\n\n for (var i = 0, l = textLines.length; i < l; i++) {\n // textContain.measureText may be overrided in SVG or VML\n width = Math.max(measureText(textLines[i], font).width, width);\n }\n\n if (textWidthCacheCounter > TEXT_CACHE_MAX) {\n textWidthCacheCounter = 0;\n textWidthCache = {};\n }\n\n textWidthCacheCounter++;\n textWidthCache[key] = width;\n return width;\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {string} [textAlign='left']\n * @param {string} [textVerticalAlign='top']\n * @param {Array.} [textPadding]\n * @param {Object} [rich]\n * @param {Object} [truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\n\nfunction getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n return rich ? getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) : getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate);\n}\n\nfunction getPlainTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, truncate) {\n var contentBlock = parsePlainText(text, font, textPadding, textLineHeight, truncate);\n var outerWidth = getWidth(text, font);\n\n if (textPadding) {\n outerWidth += textPadding[1] + textPadding[3];\n }\n\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n var rect = new BoundingRect(x, y, outerWidth, outerHeight);\n rect.lineHeight = contentBlock.lineHeight;\n return rect;\n}\n\nfunction getRichTextRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate) {\n var contentBlock = parseRichText(text, {\n rich: rich,\n truncate: truncate,\n font: font,\n textAlign: textAlign,\n textPadding: textPadding,\n textLineHeight: textLineHeight\n });\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var x = adjustTextX(0, outerWidth, textAlign);\n var y = adjustTextY(0, outerHeight, textVerticalAlign);\n return new BoundingRect(x, y, outerWidth, outerHeight);\n}\n/**\n * @public\n * @param {number} x\n * @param {number} width\n * @param {string} [textAlign='left']\n * @return {number} Adjusted x.\n */\n\n\nfunction adjustTextX(x, width, textAlign) {\n // FIXME Right to left language\n if (textAlign === 'right') {\n x -= width;\n } else if (textAlign === 'center') {\n x -= width / 2;\n }\n\n return x;\n}\n/**\n * @public\n * @param {number} y\n * @param {number} height\n * @param {string} [textVerticalAlign='top']\n * @return {number} Adjusted y.\n */\n\n\nfunction adjustTextY(y, height, textVerticalAlign) {\n if (textVerticalAlign === 'middle') {\n y -= height / 2;\n } else if (textVerticalAlign === 'bottom') {\n y -= height;\n }\n\n return y;\n}\n/**\n * Follow same interface to `Displayable.prototype.calculateTextPosition`.\n * @public\n * @param {Obejct} [out] Prepared out object. If not input, auto created in the method.\n * @param {module:zrender/graphic/Style} style where `textPosition` and `textDistance` are visited.\n * @param {Object} rect {x, y, width, height} Rect of the host elment, according to which the text positioned.\n * @return {Object} The input `out`. Set: {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction calculateTextPosition(out, style, rect) {\n var textPosition = style.textPosition;\n var distance = style.textDistance;\n var x = rect.x;\n var y = rect.y;\n distance = distance || 0;\n var height = rect.height;\n var width = rect.width;\n var halfHeight = height / 2;\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (textPosition) {\n case 'left':\n x -= distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'right':\n x += distance + width;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'top':\n x += width / 2;\n y -= distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'bottom':\n x += width / 2;\n y += height + distance;\n textAlign = 'center';\n break;\n\n case 'inside':\n x += width / 2;\n y += halfHeight;\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideLeft':\n x += distance;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n\n case 'insideRight':\n x += width - distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideTop':\n x += width / 2;\n y += distance;\n textAlign = 'center';\n break;\n\n case 'insideBottom':\n x += width / 2;\n y += height - distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideTopLeft':\n x += distance;\n y += distance;\n break;\n\n case 'insideTopRight':\n x += width - distance;\n y += distance;\n textAlign = 'right';\n break;\n\n case 'insideBottomLeft':\n x += distance;\n y += height - distance;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideBottomRight':\n x += width - distance;\n y += height - distance;\n textAlign = 'right';\n textVerticalAlign = 'bottom';\n break;\n }\n\n out = out || {};\n out.x = x;\n out.y = y;\n out.textAlign = textAlign;\n out.textVerticalAlign = textVerticalAlign;\n return out;\n}\n/**\n * To be removed. But still do not remove in case that some one has imported it.\n * @deprecated\n * @public\n * @param {stirng} textPosition\n * @param {Object} rect {x, y, width, height}\n * @param {number} distance\n * @return {Object} {x, y, textAlign, textVerticalAlign}\n */\n\n\nfunction adjustTextPositionOnRect(textPosition, rect, distance) {\n var dummyStyle = {\n textPosition: textPosition,\n textDistance: distance\n };\n return calculateTextPosition({}, dummyStyle, rect);\n}\n/**\n * Show ellipsis if overflow.\n *\n * @public\n * @param {string} text\n * @param {string} containerWidth\n * @param {string} font\n * @param {number} [ellipsis='...']\n * @param {Object} [options]\n * @param {number} [options.maxIterations=3]\n * @param {number} [options.minChar=0] If truncate result are less\n * then minChar, ellipsis will not show, which is\n * better for user hint in some cases.\n * @param {number} [options.placeholder=''] When all truncated, use the placeholder.\n * @return {string}\n */\n\n\nfunction truncateText(text, containerWidth, font, ellipsis, options) {\n if (!containerWidth) {\n return '';\n }\n\n var textLines = (text + '').split('\\n');\n options = prepareTruncateOptions(containerWidth, font, ellipsis, options); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = textLines.length; i < len; i++) {\n textLines[i] = truncateSingleLine(textLines[i], options);\n }\n\n return textLines.join('\\n');\n}\n\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n options = extend({}, options);\n options.font = font;\n var ellipsis = retrieve2(ellipsis, '...');\n options.maxIterations = retrieve2(options.maxIterations, 2);\n var minChar = options.minChar = retrieve2(options.minChar, 0); // FIXME\n // Other languages?\n\n options.cnCharWidth = getWidth('国', font); // FIXME\n // Consider proportional font?\n\n var ascCharWidth = options.ascCharWidth = getWidth('a', font);\n options.placeholder = retrieve2(options.placeholder, ''); // Example 1: minChar: 3, text: 'asdfzxcv', truncate result: 'asdf', but not: 'a...'.\n // Example 2: minChar: 3, text: '维度', truncate result: '维', but not: '...'.\n\n var contentWidth = containerWidth = Math.max(0, containerWidth - 1); // Reserve some gap.\n\n for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n contentWidth -= ascCharWidth;\n }\n\n var ellipsisWidth = getWidth(ellipsis, font);\n\n if (ellipsisWidth > contentWidth) {\n ellipsis = '';\n ellipsisWidth = 0;\n }\n\n contentWidth = containerWidth - ellipsisWidth;\n options.ellipsis = ellipsis;\n options.ellipsisWidth = ellipsisWidth;\n options.contentWidth = contentWidth;\n options.containerWidth = containerWidth;\n return options;\n}\n\nfunction truncateSingleLine(textLine, options) {\n var containerWidth = options.containerWidth;\n var font = options.font;\n var contentWidth = options.contentWidth;\n\n if (!containerWidth) {\n return '';\n }\n\n var lineWidth = getWidth(textLine, font);\n\n if (lineWidth <= containerWidth) {\n return textLine;\n }\n\n for (var j = 0;; j++) {\n if (lineWidth <= contentWidth || j >= options.maxIterations) {\n textLine += options.ellipsis;\n break;\n }\n\n var subLength = j === 0 ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth) : lineWidth > 0 ? Math.floor(textLine.length * contentWidth / lineWidth) : 0;\n textLine = textLine.substr(0, subLength);\n lineWidth = getWidth(textLine, font);\n }\n\n if (textLine === '') {\n textLine = options.placeholder;\n }\n\n return textLine;\n}\n\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n var width = 0;\n var i = 0;\n\n for (var len = text.length; i < len && width < contentWidth; i++) {\n var charCode = text.charCodeAt(i);\n width += 0 <= charCode && charCode <= 127 ? ascCharWidth : cnCharWidth;\n }\n\n return i;\n}\n/**\n * @public\n * @param {string} font\n * @return {number} line height\n */\n\n\nfunction getLineHeight(font) {\n // FIXME A rough approach.\n return getWidth('国', font);\n}\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @return {Object} width\n */\n\n\nfunction measureText(text, font) {\n return methods.measureText(text, font);\n} // Avoid assign to an exported variable, for transforming to cjs.\n\n\nmethods.measureText = function (text, font) {\n var ctx = getContext();\n ctx.font = font || DEFAULT_FONT;\n return ctx.measureText(text);\n};\n/**\n * @public\n * @param {string} text\n * @param {string} font\n * @param {Object} [truncate]\n * @return {Object} block: {lineHeight, lines, height, outerHeight, canCacheByTextString}\n * Notice: for performance, do not calculate outerWidth util needed.\n * `canCacheByTextString` means the result `lines` is only determined by the input `text`.\n * Thus we can simply comparing the `input` text to determin whether the result changed,\n * without travel the result `lines`.\n */\n\n\nfunction parsePlainText(text, font, padding, textLineHeight, truncate) {\n text != null && (text += '');\n var lineHeight = retrieve2(textLineHeight, getLineHeight(font));\n var lines = text ? text.split('\\n') : [];\n var height = lines.length * lineHeight;\n var outerHeight = height;\n var canCacheByTextString = true;\n\n if (padding) {\n outerHeight += padding[0] + padding[2];\n }\n\n if (text && truncate) {\n canCacheByTextString = false;\n var truncOuterHeight = truncate.outerHeight;\n var truncOuterWidth = truncate.outerWidth;\n\n if (truncOuterHeight != null && outerHeight > truncOuterHeight) {\n text = '';\n lines = [];\n } else if (truncOuterWidth != null) {\n var options = prepareTruncateOptions(truncOuterWidth - (padding ? padding[1] + padding[3] : 0), font, truncate.ellipsis, {\n minChar: truncate.minChar,\n placeholder: truncate.placeholder\n }); // FIXME\n // It is not appropriate that every line has '...' when truncate multiple lines.\n\n for (var i = 0, len = lines.length; i < len; i++) {\n lines[i] = truncateSingleLine(lines[i], options);\n }\n }\n }\n\n return {\n lines: lines,\n height: height,\n outerHeight: outerHeight,\n lineHeight: lineHeight,\n canCacheByTextString: canCacheByTextString\n };\n}\n/**\n * For example: 'some text {a|some text}other text{b|some text}xxx{c|}xxx'\n * Also consider 'bbbb{a|xxx\\nzzz}xxxx\\naaaa'.\n *\n * @public\n * @param {string} text\n * @param {Object} style\n * @return {Object} block\n * {\n * width,\n * height,\n * lines: [{\n * lineHeight,\n * width,\n * tokens: [[{\n * styleName,\n * text,\n * width, // include textPadding\n * height, // include textPadding\n * textWidth, // pure text width\n * textHeight, // pure text height\n * lineHeihgt,\n * font,\n * textAlign,\n * textVerticalAlign\n * }], [...], ...]\n * }, ...]\n * }\n * If styleName is undefined, it is plain text.\n */\n\n\nfunction parseRichText(text, style) {\n var contentBlock = {\n lines: [],\n width: 0,\n height: 0\n };\n text != null && (text += '');\n\n if (!text) {\n return contentBlock;\n }\n\n var lastIndex = STYLE_REG.lastIndex = 0;\n var result;\n\n while ((result = STYLE_REG.exec(text)) != null) {\n var matchedIndex = result.index;\n\n if (matchedIndex > lastIndex) {\n pushTokens(contentBlock, text.substring(lastIndex, matchedIndex));\n }\n\n pushTokens(contentBlock, result[2], result[1]);\n lastIndex = STYLE_REG.lastIndex;\n }\n\n if (lastIndex < text.length) {\n pushTokens(contentBlock, text.substring(lastIndex, text.length));\n }\n\n var lines = contentBlock.lines;\n var contentHeight = 0;\n var contentWidth = 0; // For `textWidth: 100%`\n\n var pendingList = [];\n var stlPadding = style.textPadding;\n var truncate = style.truncate;\n var truncateWidth = truncate && truncate.outerWidth;\n var truncateHeight = truncate && truncate.outerHeight;\n\n if (stlPadding) {\n truncateWidth != null && (truncateWidth -= stlPadding[1] + stlPadding[3]);\n truncateHeight != null && (truncateHeight -= stlPadding[0] + stlPadding[2]);\n } // Calculate layout info of tokens.\n\n\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var lineHeight = 0;\n var lineWidth = 0;\n\n for (var j = 0; j < line.tokens.length; j++) {\n var token = line.tokens[j];\n var tokenStyle = token.styleName && style.rich[token.styleName] || {}; // textPadding should not inherit from style.\n\n var textPadding = token.textPadding = tokenStyle.textPadding; // textFont has been asigned to font by `normalizeStyle`.\n\n var font = token.font = tokenStyle.font || style.font; // textHeight can be used when textVerticalAlign is specified in token.\n\n var tokenHeight = token.textHeight = retrieve2( // textHeight should not be inherited, consider it can be specified\n // as box height of the block.\n tokenStyle.textHeight, getLineHeight(font));\n textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n token.height = tokenHeight;\n token.lineHeight = retrieve3(tokenStyle.textLineHeight, style.textLineHeight, tokenHeight);\n token.textAlign = tokenStyle && tokenStyle.textAlign || style.textAlign;\n token.textVerticalAlign = tokenStyle && tokenStyle.textVerticalAlign || 'middle';\n\n if (truncateHeight != null && contentHeight + token.lineHeight > truncateHeight) {\n return {\n lines: [],\n width: 0,\n height: 0\n };\n }\n\n token.textWidth = getWidth(token.text, font);\n var tokenWidth = tokenStyle.textWidth;\n var tokenWidthNotSpecified = tokenWidth == null || tokenWidth === 'auto'; // Percent width, can be `100%`, can be used in drawing separate\n // line when box width is needed to be auto.\n\n if (typeof tokenWidth === 'string' && tokenWidth.charAt(tokenWidth.length - 1) === '%') {\n token.percentWidth = tokenWidth;\n pendingList.push(token);\n tokenWidth = 0; // Do not truncate in this case, because there is no user case\n // and it is too complicated.\n } else {\n if (tokenWidthNotSpecified) {\n tokenWidth = token.textWidth; // FIXME: If image is not loaded and textWidth is not specified, calling\n // `getBoundingRect()` will not get correct result.\n\n var textBackgroundColor = tokenStyle.textBackgroundColor;\n var bgImg = textBackgroundColor && textBackgroundColor.image; // Use cases:\n // (1) If image is not loaded, it will be loaded at render phase and call\n // `dirty()` and `textBackgroundColor.image` will be replaced with the loaded\n // image, and then the right size will be calculated here at the next tick.\n // See `graphic/helper/text.js`.\n // (2) If image loaded, and `textBackgroundColor.image` is image src string,\n // use `imageHelper.findExistImage` to find cached image.\n // `imageHelper.findExistImage` will always be called here before\n // `imageHelper.createOrUpdateImage` in `graphic/helper/text.js#renderRichText`\n // which ensures that image will not be rendered before correct size calcualted.\n\n if (bgImg) {\n bgImg = imageHelper.findExistImage(bgImg);\n\n if (imageHelper.isImageReady(bgImg)) {\n tokenWidth = Math.max(tokenWidth, bgImg.width * tokenHeight / bgImg.height);\n }\n }\n }\n\n var paddingW = textPadding ? textPadding[1] + textPadding[3] : 0;\n tokenWidth += paddingW;\n var remianTruncWidth = truncateWidth != null ? truncateWidth - lineWidth : null;\n\n if (remianTruncWidth != null && remianTruncWidth < tokenWidth) {\n if (!tokenWidthNotSpecified || remianTruncWidth < paddingW) {\n token.text = '';\n token.textWidth = tokenWidth = 0;\n } else {\n token.text = truncateText(token.text, remianTruncWidth - paddingW, font, truncate.ellipsis, {\n minChar: truncate.minChar\n });\n token.textWidth = getWidth(token.text, font);\n tokenWidth = token.textWidth + paddingW;\n }\n }\n }\n\n lineWidth += token.width = tokenWidth;\n tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n }\n\n line.width = lineWidth;\n line.lineHeight = lineHeight;\n contentHeight += lineHeight;\n contentWidth = Math.max(contentWidth, lineWidth);\n }\n\n contentBlock.outerWidth = contentBlock.width = retrieve2(style.textWidth, contentWidth);\n contentBlock.outerHeight = contentBlock.height = retrieve2(style.textHeight, contentHeight);\n\n if (stlPadding) {\n contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n }\n\n for (var i = 0; i < pendingList.length; i++) {\n var token = pendingList[i];\n var percentWidth = token.percentWidth; // Should not base on outerWidth, because token can not be placed out of padding.\n\n token.width = parseInt(percentWidth, 10) / 100 * contentWidth;\n }\n\n return contentBlock;\n}\n\nfunction pushTokens(block, str, styleName) {\n var isEmptyStr = str === '';\n var strs = str.split('\\n');\n var lines = block.lines;\n\n for (var i = 0; i < strs.length; i++) {\n var text = strs[i];\n var token = {\n styleName: styleName,\n text: text,\n isLineHolder: !text && !isEmptyStr\n }; // The first token should be appended to the last line.\n\n if (!i) {\n var tokens = (lines[lines.length - 1] || (lines[0] = {\n tokens: []\n })).tokens; // Consider cases:\n // (1) ''.split('\\n') => ['', '\\n', ''], the '' at the first item\n // (which is a placeholder) should be replaced by new token.\n // (2) A image backage, where token likes {a|}.\n // (3) A redundant '' will affect textAlign in line.\n // (4) tokens with the same tplName should not be merged, because\n // they should be displayed in different box (with border and padding).\n\n var tokensLen = tokens.length;\n tokensLen === 1 && tokens[0].isLineHolder ? tokens[0] = token : // Consider text is '', only insert when it is the \"lineHolder\" or\n // \"emptyStr\". Otherwise a redundant '' will affect textAlign in line.\n (text || !tokensLen || isEmptyStr) && tokens.push(token);\n } // Other tokens always start a new line.\n else {\n // If there is '', insert it as a placeholder.\n lines.push({\n tokens: [token]\n });\n }\n }\n}\n\nfunction makeFont(style) {\n // FIXME in node-canvas fontWeight is before fontStyle\n // Use `fontSize` `fontFamily` to check whether font properties are defined.\n var font = (style.fontSize || style.fontFamily) && [style.fontStyle, style.fontWeight, (style.fontSize || 12) + 'px', // If font properties are defined, `fontFamily` should not be ignored.\n style.fontFamily || 'sans-serif'].join(' ');\n return font && trim(font) || style.textFont || style.font;\n}\n\nexports.DEFAULT_FONT = DEFAULT_FONT;\nexports.$override = $override;\nexports.getWidth = getWidth;\nexports.getBoundingRect = getBoundingRect;\nexports.adjustTextX = adjustTextX;\nexports.adjustTextY = adjustTextY;\nexports.calculateTextPosition = calculateTextPosition;\nexports.adjustTextPositionOnRect = adjustTextPositionOnRect;\nexports.truncateText = truncateText;\nexports.getLineHeight = getLineHeight;\nexports.measureText = measureText;\nexports.parsePlainText = parsePlainText;\nexports.parseRichText = parseRichText;\nexports.makeFont = makeFont;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar Group = require(\"zrender/lib/container/Group\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar clazzUtil = require(\"../util/clazz\");\n\nvar modelUtil = require(\"../util/model\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar _task = require(\"../stream/task\");\n\nvar createTask = _task.createTask;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = modelUtil.makeInner();\nvar renderPlanner = createRenderPlanner();\n\nfunction Chart() {\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n this.group = new Group();\n /**\n * @type {string}\n * @readOnly\n */\n\n this.uid = componentUtil.getUID('viewChart');\n this.renderTask = createTask({\n plan: renderTaskPlan,\n reset: renderTaskReset\n });\n this.renderTask.context = {\n view: this\n };\n}\n\nChart.prototype = {\n type: 'chart',\n\n /**\n * Init the chart.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n init: function (ecModel, api) {},\n\n /**\n * Render the chart.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n render: function (seriesModel, ecModel, api, payload) {},\n\n /**\n * Highlight series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n highlight: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'emphasis');\n },\n\n /**\n * Downplay series or specified data item.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n downplay: function (seriesModel, ecModel, api, payload) {\n toggleHighlight(seriesModel.getData(), payload, 'normal');\n },\n\n /**\n * Remove self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n remove: function (ecModel, api) {\n this.group.removeAll();\n },\n\n /**\n * Dispose self.\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n dispose: function () {},\n\n /**\n * Rendering preparation in progressive mode.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalPrepareRender: null,\n\n /**\n * Render in progressive mode.\n * @param {Object} params See taskParams in `stream/task.js`\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n incrementalRender: null,\n\n /**\n * Update transform directly.\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n * @return {Object} {update: true}\n */\n updateTransform: null,\n\n /**\n * The view contains the given point.\n * @interface\n * @param {Array.} point\n * @return {boolean}\n */\n // containPoint: function () {}\n\n /**\n * @param {string} eventType\n * @param {Object} query\n * @param {module:zrender/Element} targetEl\n * @param {Object} packedEvent\n * @return {boolen} Pass only when return `true`.\n */\n filterForExposedEvent: null\n};\nvar chartProto = Chart.prototype;\n\nchartProto.updateView = chartProto.updateLayout = chartProto.updateVisual = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n};\n/**\n * Set state of single element\n * @param {module:zrender/Element} el\n * @param {string} state 'normal'|'emphasis'\n * @param {number} highlightDigit\n */\n\n\nfunction elSetState(el, state, highlightDigit) {\n if (el) {\n el.trigger(state, highlightDigit);\n\n if (el.isGroup // Simple optimize.\n && !graphicUtil.isHighDownDispatcher(el)) {\n for (var i = 0, len = el.childCount(); i < len; i++) {\n elSetState(el.childAt(i), state, highlightDigit);\n }\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Object} payload\n * @param {string} state 'normal'|'emphasis'\n */\n\n\nfunction toggleHighlight(data, payload, state) {\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n var highlightDigit = payload && payload.highlightKey != null ? graphicUtil.getHighlightDigit(payload.highlightKey) : null;\n\n if (dataIndex != null) {\n each(modelUtil.normalizeToArray(dataIndex), function (dataIdx) {\n elSetState(data.getItemGraphicEl(dataIdx), state, highlightDigit);\n });\n } else {\n data.eachItemGraphicEl(function (el) {\n elSetState(el, state, highlightDigit);\n });\n }\n} // Enable Chart.extend.\n\n\nclazzUtil.enableClassExtend(Chart, ['dispose']); // Add capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nclazzUtil.enableClassManagement(Chart, {\n registerWhenExtend: true\n});\n\nChart.markUpdateMethod = function (payload, methodName) {\n inner(payload).updateMethod = methodName;\n};\n\nfunction renderTaskPlan(context) {\n return renderPlanner(context.model);\n}\n\nfunction renderTaskReset(context) {\n var seriesModel = context.model;\n var ecModel = context.ecModel;\n var api = context.api;\n var payload = context.payload; // ???! remove updateView updateVisual\n\n var progressiveRender = seriesModel.pipelineContext.progressiveRender;\n var view = context.view;\n var updateMethod = payload && inner(payload).updateMethod;\n var methodName = progressiveRender ? 'incrementalPrepareRender' : updateMethod && view[updateMethod] ? updateMethod // `appendData` is also supported when data amount\n // is less than progressive threshold.\n : 'render';\n\n if (methodName !== 'render') {\n view[methodName](seriesModel, ecModel, api, payload);\n }\n\n return progressMethodMap[methodName];\n}\n\nvar progressMethodMap = {\n incrementalPrepareRender: {\n progress: function (params, context) {\n context.view.incrementalRender(params, context.model, context.ecModel, context.api, context.payload);\n }\n },\n render: {\n // Put view.render in `progress` to support appendData. But in this case\n // view.render should not be called in reset, otherwise it will be called\n // twise. Use `forceFirstProgress` to make sure that view.render is called\n // in any cases.\n forceFirstProgress: true,\n progress: function (params, context) {\n context.view.render(context.model, context.ecModel, context.api, context.payload);\n }\n }\n};\nvar _default = Chart;\nmodule.exports = _default;","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _popup = require('element-ui/lib/utils/popup');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopperJS = _vue2.default.prototype.$isServer ? function () {} : require('./popper');\nvar stop = function stop(e) {\n return e.stopPropagation();\n};\n\n/**\n * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.\n * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)\n * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).\n * @param {Boolean} [visible=false] Visibility of the popup element.\n * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.\n */\nexports.default = {\n props: {\n transformOrigin: {\n type: [Boolean, String],\n default: true\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n boundariesPadding: {\n type: Number,\n default: 5\n },\n reference: {},\n popper: {},\n offset: {\n default: 0\n },\n value: Boolean,\n visibleArrow: Boolean,\n arrowOffset: {\n type: Number,\n default: 35\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n }\n },\n\n data: function data() {\n return {\n showPopper: false,\n currentPlacement: ''\n };\n },\n\n\n watch: {\n value: {\n immediate: true,\n handler: function handler(val) {\n this.showPopper = val;\n this.$emit('input', val);\n }\n },\n\n showPopper: function showPopper(val) {\n if (this.disabled) return;\n val ? this.updatePopper() : this.destroyPopper();\n this.$emit('input', val);\n }\n },\n\n methods: {\n createPopper: function createPopper() {\n var _this = this;\n\n if (this.$isServer) return;\n this.currentPlacement = this.currentPlacement || this.placement;\n if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {\n return;\n }\n\n var options = this.popperOptions;\n var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;\n var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;\n\n if (!reference && this.$slots.reference && this.$slots.reference[0]) {\n reference = this.referenceElm = this.$slots.reference[0].elm;\n }\n\n if (!popper || !reference) return;\n if (this.visibleArrow) this.appendArrow(popper);\n if (this.appendToBody) document.body.appendChild(this.popperElm);\n if (this.popperJS && this.popperJS.destroy) {\n this.popperJS.destroy();\n }\n\n options.placement = this.currentPlacement;\n options.offset = this.offset;\n options.arrowOffset = this.arrowOffset;\n this.popperJS = new PopperJS(reference, popper, options);\n this.popperJS.onCreate(function (_) {\n _this.$emit('created', _this);\n _this.resetTransformOrigin();\n _this.$nextTick(_this.updatePopper);\n });\n if (typeof options.onUpdate === 'function') {\n this.popperJS.onUpdate(options.onUpdate);\n }\n this.popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n this.popperElm.addEventListener('click', stop);\n },\n updatePopper: function updatePopper() {\n var popperJS = this.popperJS;\n if (popperJS) {\n popperJS.update();\n if (popperJS._popper) {\n popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n }\n } else {\n this.createPopper();\n }\n },\n doDestroy: function doDestroy(forceDestroy) {\n /* istanbul ignore if */\n if (!this.popperJS || this.showPopper && !forceDestroy) return;\n this.popperJS.destroy();\n this.popperJS = null;\n },\n destroyPopper: function destroyPopper() {\n if (this.popperJS) {\n this.resetTransformOrigin();\n }\n },\n resetTransformOrigin: function resetTransformOrigin() {\n if (!this.transformOrigin) return;\n var placementMap = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n };\n var placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0];\n var origin = placementMap[placement];\n this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center';\n },\n appendArrow: function appendArrow(element) {\n var hash = void 0;\n if (this.appended) {\n return;\n }\n\n this.appended = true;\n\n for (var item in element.attributes) {\n if (/^_v-/.test(element.attributes[item].name)) {\n hash = element.attributes[item].name;\n break;\n }\n }\n\n var arrow = document.createElement('div');\n\n if (hash) {\n arrow.setAttribute(hash, '');\n }\n arrow.setAttribute('x-arrow', '');\n arrow.className = 'popper__arrow';\n element.appendChild(arrow);\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.doDestroy(true);\n if (this.popperElm && this.popperElm.parentNode === document.body) {\n this.popperElm.removeEventListener('click', stop);\n document.body.removeChild(this.popperElm);\n }\n },\n\n\n // call destroy in keep-alive mode\n deactivated: function deactivated() {\n this.$options.beforeDestroy[0].call(this);\n }\n};","// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n","var logError = require(\"../core/log\");\n\nvar vmlCore = require(\"./core\");\n\nvar _util = require(\"../core/util\");\n\nvar each = _util.each;\n\n/**\n * VML Painter.\n *\n * @module zrender/vml/Painter\n */\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n/**\n * @alias module:zrender/vml/Painter\n */\n\n\nfunction VMLPainter(root, storage) {\n vmlCore.initVML();\n this.root = root;\n this.storage = storage;\n var vmlViewport = document.createElement('div');\n var vmlRoot = document.createElement('div');\n vmlViewport.style.cssText = 'display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;';\n vmlRoot.style.cssText = 'position:absolute;left:0;top:0;';\n root.appendChild(vmlViewport);\n this._vmlRoot = vmlRoot;\n this._vmlViewport = vmlViewport;\n this.resize(); // Modify storage\n\n var oldDelFromStorage = storage.delFromStorage;\n var oldAddToStorage = storage.addToStorage;\n\n storage.delFromStorage = function (el) {\n oldDelFromStorage.call(storage, el);\n\n if (el) {\n el.onRemove && el.onRemove(vmlRoot);\n }\n };\n\n storage.addToStorage = function (el) {\n // Displayable already has a vml node\n el.onAdd && el.onAdd(vmlRoot);\n oldAddToStorage.call(storage, el);\n };\n\n this._firstPaint = true;\n}\n\nVMLPainter.prototype = {\n constructor: VMLPainter,\n getType: function () {\n return 'vml';\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._vmlViewport;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * 刷新\n */\n refresh: function () {\n var list = this.storage.getDisplayList(true, true);\n\n this._paintList(list);\n },\n _paintList: function (list) {\n var vmlRoot = this._vmlRoot;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n\n if (el.invisible || el.ignore) {\n if (!el.__alreadyNotVisible) {\n el.onRemove(vmlRoot);\n } // Set as already invisible\n\n\n el.__alreadyNotVisible = true;\n } else {\n if (el.__alreadyNotVisible) {\n el.onAdd(vmlRoot);\n }\n\n el.__alreadyNotVisible = false;\n\n if (el.__dirty) {\n el.beforeBrush && el.beforeBrush();\n (el.brushVML || el.brush).call(el, vmlRoot);\n el.afterBrush && el.afterBrush();\n }\n }\n\n el.__dirty = false;\n }\n\n if (this._firstPaint) {\n // Detached from document at first time\n // to avoid page refreshing too many times\n // FIXME 如果每次都先 removeChild 可能会导致一些填充和描边的效果改变\n this._vmlViewport.appendChild(vmlRoot);\n\n this._firstPaint = false;\n }\n },\n resize: function (width, height) {\n var width = width == null ? this._getWidth() : width;\n var height = height == null ? this._getHeight() : height;\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n var vmlViewportStyle = this._vmlViewport.style;\n vmlViewportStyle.width = width + 'px';\n vmlViewportStyle.height = height + 'px';\n }\n },\n dispose: function () {\n this.root.innerHTML = '';\n this._vmlRoot = this._vmlViewport = this.storage = null;\n },\n getWidth: function () {\n return this._width;\n },\n getHeight: function () {\n return this._height;\n },\n clear: function () {\n if (this._vmlViewport) {\n this.root.removeChild(this._vmlViewport);\n }\n },\n _getWidth: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientWidth || parseInt10(stl.width)) - parseInt10(stl.paddingLeft) - parseInt10(stl.paddingRight) | 0;\n },\n _getHeight: function () {\n var root = this.root;\n var stl = root.currentStyle;\n return (root.clientHeight || parseInt10(stl.height)) - parseInt10(stl.paddingTop) - parseInt10(stl.paddingBottom) | 0;\n }\n}; // Not supported methods\n\nfunction createMethodNotSupport(method) {\n return function () {\n logError('In IE8.0 VML mode painter not support method \"' + method + '\"');\n };\n} // Unsupported methods\n\n\neach(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'toDataURL', 'pathToImage'], function (name) {\n VMLPainter.prototype[name] = createMethodNotSupport(name);\n});\nvar _default = VMLPainter;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(option) {\n if (!option || !zrUtil.isArray(option.series)) {\n return;\n } // Translate 'k' to 'candlestick'.\n\n\n zrUtil.each(option.series, function (seriesItem) {\n if (zrUtil.isObject(seriesItem) && seriesItem.type === 'k') {\n seriesItem.type = 'candlestick';\n }\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar visualDefault = require(\"../../visual/visualDefault\");\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar mapVisual = VisualMapping.mapVisual;\nvar eachVisual = VisualMapping.eachVisual;\nvar isArray = zrUtil.isArray;\nvar each = zrUtil.each;\nvar asc = numberUtil.asc;\nvar linearMap = numberUtil.linearMap;\nvar noop = zrUtil.noop;\nvar VisualMapModel = echarts.extendComponentModel({\n type: 'visualMap',\n dependencies: ['series'],\n\n /**\n * @readOnly\n * @type {Array.}\n */\n stateList: ['inRange', 'outOfRange'],\n\n /**\n * @readOnly\n * @type {Array.}\n */\n replacableOptionKeys: ['inRange', 'outOfRange', 'target', 'controller', 'color'],\n\n /**\n * [lowerBound, upperBound]\n *\n * @readOnly\n * @type {Array.}\n */\n dataBound: [-Infinity, Infinity],\n\n /**\n * @readOnly\n * @type {string|Object}\n */\n layoutMode: {\n type: 'box',\n ignoreSize: true\n },\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n zlevel: 0,\n z: 4,\n seriesIndex: 'all',\n // 'all' or null/undefined: all series.\n // A number or an array of number: the specified series.\n // set min: 0, max: 200, only for campatible with ec2.\n // In fact min max should not have default value.\n min: 0,\n // min value, must specified if pieces is not specified.\n max: 200,\n // max value, must specified if pieces is not specified.\n dimension: null,\n inRange: null,\n // 'color', 'colorHue', 'colorSaturation', 'colorLightness', 'colorAlpha',\n // 'symbol', 'symbolSize'\n outOfRange: null,\n // 'color', 'colorHue', 'colorSaturation',\n // 'colorLightness', 'colorAlpha',\n // 'symbol', 'symbolSize'\n left: 0,\n // 'center' ¦ 'left' ¦ 'right' ¦ {number} (px)\n right: null,\n // The same as left.\n top: null,\n // 'top' ¦ 'bottom' ¦ 'center' ¦ {number} (px)\n bottom: 0,\n // The same as top.\n itemWidth: null,\n itemHeight: null,\n inverse: false,\n orient: 'vertical',\n // 'horizontal' ¦ 'vertical'\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n // 值域边框颜色\n contentColor: '#5793f3',\n inactiveColor: '#aaa',\n borderWidth: 0,\n // 值域边框线宽,单位px,默认为0(无边框)\n padding: 5,\n // 值域内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n textGap: 10,\n //\n precision: 0,\n // 小数精度,默认为0,无小数点\n color: null,\n //颜色(deprecated,兼容ec2,顺序同pieces,不同于inRange/outOfRange)\n formatter: null,\n text: null,\n // 文本,如['高', '低'],兼容ec2,text[0]对应高值,text[1]对应低值\n textStyle: {\n color: '#333' // 值域文字颜色\n\n }\n },\n\n /**\n * @protected\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {Array.}\n */\n this._dataExtent;\n /**\n * @readOnly\n */\n\n this.targetVisuals = {};\n /**\n * @readOnly\n */\n\n this.controllerVisuals = {};\n /**\n * @readOnly\n */\n\n this.textStyleModel;\n /**\n * [width, height]\n * @readOnly\n * @type {Array.}\n */\n\n this.itemSize;\n this.mergeDefaultAndTheme(option, ecModel);\n },\n\n /**\n * @protected\n */\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option; // FIXME\n // necessary?\n // Disable realtime view update if canvas is not supported.\n\n if (!env.canvasSupported) {\n thisOption.realtime = false;\n }\n\n !isInit && visualSolution.replaceVisualOption(thisOption, newOption, this.replacableOptionKeys);\n this.textStyleModel = this.getModel('textStyle');\n this.resetItemSize();\n this.completeVisualOption();\n },\n\n /**\n * @protected\n */\n resetVisual: function (supplementVisualOption) {\n var stateList = this.stateList;\n supplementVisualOption = zrUtil.bind(supplementVisualOption, this);\n this.controllerVisuals = visualSolution.createVisualMappings(this.option.controller, stateList, supplementVisualOption);\n this.targetVisuals = visualSolution.createVisualMappings(this.option.target, stateList, supplementVisualOption);\n },\n\n /**\n * @protected\n * @return {Array.} An array of series indices.\n */\n getTargetSeriesIndices: function () {\n var optionSeriesIndex = this.option.seriesIndex;\n var seriesIndices = [];\n\n if (optionSeriesIndex == null || optionSeriesIndex === 'all') {\n this.ecModel.eachSeries(function (seriesModel, index) {\n seriesIndices.push(index);\n });\n } else {\n seriesIndices = modelUtil.normalizeToArray(optionSeriesIndex);\n }\n\n return seriesIndices;\n },\n\n /**\n * @public\n */\n eachTargetSeries: function (callback, context) {\n zrUtil.each(this.getTargetSeriesIndices(), function (seriesIndex) {\n callback.call(context, this.ecModel.getSeriesByIndex(seriesIndex));\n }, this);\n },\n\n /**\n * @pubilc\n */\n isTargetSeries: function (seriesModel) {\n var is = false;\n this.eachTargetSeries(function (model) {\n model === seriesModel && (is = true);\n });\n return is;\n },\n\n /**\n * @example\n * this.formatValueText(someVal); // format single numeric value to text.\n * this.formatValueText(someVal, true); // format single category value to text.\n * this.formatValueText([min, max]); // format numeric min-max to text.\n * this.formatValueText([this.dataBound[0], max]); // using data lower bound.\n * this.formatValueText([min, this.dataBound[1]]); // using data upper bound.\n *\n * @param {number|Array.} value Real value, or this.dataBound[0 or 1].\n * @param {boolean} [isCategory=false] Only available when value is number.\n * @param {Array.} edgeSymbols Open-close symbol when value is interval.\n * @return {string}\n * @protected\n */\n formatValueText: function (value, isCategory, edgeSymbols) {\n var option = this.option;\n var precision = option.precision;\n var dataBound = this.dataBound;\n var formatter = option.formatter;\n var isMinMax;\n var textValue;\n edgeSymbols = edgeSymbols || ['<', '>'];\n\n if (zrUtil.isArray(value)) {\n value = value.slice();\n isMinMax = true;\n }\n\n textValue = isCategory ? value : isMinMax ? [toFixed(value[0]), toFixed(value[1])] : toFixed(value);\n\n if (zrUtil.isString(formatter)) {\n return formatter.replace('{value}', isMinMax ? textValue[0] : textValue).replace('{value2}', isMinMax ? textValue[1] : textValue);\n } else if (zrUtil.isFunction(formatter)) {\n return isMinMax ? formatter(value[0], value[1]) : formatter(value);\n }\n\n if (isMinMax) {\n if (value[0] === dataBound[0]) {\n return edgeSymbols[0] + ' ' + textValue[1];\n } else if (value[1] === dataBound[1]) {\n return edgeSymbols[1] + ' ' + textValue[0];\n } else {\n return textValue[0] + ' - ' + textValue[1];\n }\n } else {\n // Format single value (includes category case).\n return textValue;\n }\n\n function toFixed(val) {\n return val === dataBound[0] ? 'min' : val === dataBound[1] ? 'max' : (+val).toFixed(Math.min(precision, 20));\n }\n },\n\n /**\n * @protected\n */\n resetExtent: function () {\n var thisOption = this.option; // Can not calculate data extent by data here.\n // Because series and data may be modified in processing stage.\n // So we do not support the feature \"auto min/max\".\n\n var extent = asc([thisOption.min, thisOption.max]);\n this._dataExtent = extent;\n },\n\n /**\n * @public\n * @param {module:echarts/data/List} list\n * @return {string} Concrete dimention. If return null/undefined,\n * no dimension used.\n */\n getDataDimension: function (list) {\n var optDim = this.option.dimension;\n var listDimensions = list.dimensions;\n\n if (optDim == null && !listDimensions.length) {\n return;\n }\n\n if (optDim != null) {\n return list.getDimension(optDim);\n }\n\n var dimNames = list.dimensions;\n\n for (var i = dimNames.length - 1; i >= 0; i--) {\n var dimName = dimNames[i];\n var dimInfo = list.getDimensionInfo(dimName);\n\n if (!dimInfo.isCalculationCoord) {\n return dimName;\n }\n }\n },\n\n /**\n * @public\n * @override\n */\n getExtent: function () {\n return this._dataExtent.slice();\n },\n\n /**\n * @protected\n */\n completeVisualOption: function () {\n var ecModel = this.ecModel;\n var thisOption = this.option;\n var base = {\n inRange: thisOption.inRange,\n outOfRange: thisOption.outOfRange\n };\n var target = thisOption.target || (thisOption.target = {});\n var controller = thisOption.controller || (thisOption.controller = {});\n zrUtil.merge(target, base); // Do not override\n\n zrUtil.merge(controller, base); // Do not override\n\n var isCategory = this.isCategory();\n completeSingle.call(this, target);\n completeSingle.call(this, controller);\n completeInactive.call(this, target, 'inRange', 'outOfRange'); // completeInactive.call(this, target, 'outOfRange', 'inRange');\n\n completeController.call(this, controller);\n\n function completeSingle(base) {\n // Compatible with ec2 dataRange.color.\n // The mapping order of dataRange.color is: [high value, ..., low value]\n // whereas inRange.color and outOfRange.color is [low value, ..., high value]\n // Notice: ec2 has no inverse.\n if (isArray(thisOption.color) // If there has been inRange: {symbol: ...}, adding color is a mistake.\n // So adding color only when no inRange defined.\n && !base.inRange) {\n base.inRange = {\n color: thisOption.color.slice().reverse()\n };\n } // Compatible with previous logic, always give a defautl color, otherwise\n // simple config with no inRange and outOfRange will not work.\n // Originally we use visualMap.color as the default color, but setOption at\n // the second time the default color will be erased. So we change to use\n // constant DEFAULT_COLOR.\n // If user do not want the default color, set inRange: {color: null}.\n\n\n base.inRange = base.inRange || {\n color: ecModel.get('gradientColor')\n }; // If using shortcut like: {inRange: 'symbol'}, complete default value.\n\n each(this.stateList, function (state) {\n var visualType = base[state];\n\n if (zrUtil.isString(visualType)) {\n var defa = visualDefault.get(visualType, 'active', isCategory);\n\n if (defa) {\n base[state] = {};\n base[state][visualType] = defa;\n } else {\n // Mark as not specified.\n delete base[state];\n }\n }\n }, this);\n }\n\n function completeInactive(base, stateExist, stateAbsent) {\n var optExist = base[stateExist];\n var optAbsent = base[stateAbsent];\n\n if (optExist && !optAbsent) {\n optAbsent = base[stateAbsent] = {};\n each(optExist, function (visualData, visualType) {\n if (!VisualMapping.isValidType(visualType)) {\n return;\n }\n\n var defa = visualDefault.get(visualType, 'inactive', isCategory);\n\n if (defa != null) {\n optAbsent[visualType] = defa; // Compatibable with ec2:\n // Only inactive color to rgba(0,0,0,0) can not\n // make label transparent, so use opacity also.\n\n if (visualType === 'color' && !optAbsent.hasOwnProperty('opacity') && !optAbsent.hasOwnProperty('colorAlpha')) {\n optAbsent.opacity = [0, 0];\n }\n }\n });\n }\n }\n\n function completeController(controller) {\n var symbolExists = (controller.inRange || {}).symbol || (controller.outOfRange || {}).symbol;\n var symbolSizeExists = (controller.inRange || {}).symbolSize || (controller.outOfRange || {}).symbolSize;\n var inactiveColor = this.get('inactiveColor');\n each(this.stateList, function (state) {\n var itemSize = this.itemSize;\n var visuals = controller[state]; // Set inactive color for controller if no other color\n // attr (like colorAlpha) specified.\n\n if (!visuals) {\n visuals = controller[state] = {\n color: isCategory ? inactiveColor : [inactiveColor]\n };\n } // Consistent symbol and symbolSize if not specified.\n\n\n if (visuals.symbol == null) {\n visuals.symbol = symbolExists && zrUtil.clone(symbolExists) || (isCategory ? 'roundRect' : ['roundRect']);\n }\n\n if (visuals.symbolSize == null) {\n visuals.symbolSize = symbolSizeExists && zrUtil.clone(symbolSizeExists) || (isCategory ? itemSize[0] : [itemSize[0], itemSize[0]]);\n } // Filter square and none.\n\n\n visuals.symbol = mapVisual(visuals.symbol, function (symbol) {\n return symbol === 'none' || symbol === 'square' ? 'roundRect' : symbol;\n }); // Normalize symbolSize\n\n var symbolSize = visuals.symbolSize;\n\n if (symbolSize != null) {\n var max = -Infinity; // symbolSize can be object when categories defined.\n\n eachVisual(symbolSize, function (value) {\n value > max && (max = value);\n });\n visuals.symbolSize = mapVisual(symbolSize, function (value) {\n return linearMap(value, [0, max], [0, itemSize[0]], true);\n });\n }\n }, this);\n }\n },\n\n /**\n * @protected\n */\n resetItemSize: function () {\n this.itemSize = [parseFloat(this.get('itemWidth')), parseFloat(this.get('itemHeight'))];\n },\n\n /**\n * @public\n */\n isCategory: function () {\n return !!this.option.categories;\n },\n\n /**\n * @public\n * @abstract\n */\n setSelected: noop,\n\n /**\n * @public\n * @abstract\n * @param {*|module:echarts/data/List} valueOrData\n * @param {number} dataIndex\n * @return {string} state See this.stateList\n */\n getValueState: noop,\n\n /**\n * FIXME\n * Do not publish to thirt-part-dev temporarily\n * util the interface is stable. (Should it return\n * a function but not visual meta?)\n *\n * @pubilc\n * @abstract\n * @param {Function} getColorVisual\n * params: value, valueState\n * return: color\n * @return {Object} visualMeta\n * should includes {stops, outerColors}\n * outerColor means [colorBeyondMinValue, colorBeyondMaxValue]\n */\n getVisualMeta: noop\n});\nvar _default = VisualMapModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n return zrUtil.map(['Radius', 'Angle'], function (dim, dimIdx) {\n var axis = this['get' + dim + 'Axis']();\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var method = 'dataTo' + dim;\n var result = axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis[method](val - halfSize) - axis[method](val + halfSize));\n\n if (dim === 'Angle') {\n result = result * Math.PI / 180;\n }\n\n return result;\n }, this);\n}\n\nfunction _default(coordSys) {\n var radiusAxis = coordSys.getRadiusAxis();\n var angleAxis = coordSys.getAngleAxis();\n var radius = radiusAxis.getExtent();\n radius[0] > radius[1] && radius.reverse();\n return {\n coordSys: {\n type: 'polar',\n cx: coordSys.cx,\n cy: coordSys.cy,\n r: radius[1],\n r0: radius[0]\n },\n api: {\n coord: zrUtil.bind(function (data) {\n var radius = radiusAxis.dataToRadius(data[0]);\n var angle = angleAxis.dataToAngle(data[1]);\n var coord = coordSys.coordToPoint([radius, angle]);\n coord.push(radius, angle * Math.PI / 180);\n return coord;\n }),\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _style = _interopRequireDefault(require(\"./style.class\"));\n\nvar _transition = _interopRequireDefault(require(\"@jiaminghi/transition\"));\n\nvar _util = require(\"../plugin/util\");\n\n/**\r\n * @description Class Graph\r\n * @param {Object} graph Graph default configuration\r\n * @param {Object} config Graph config\r\n * @return {Graph} Instance of Graph\r\n */\nvar Graph = function Graph(graph, config) {\n (0, _classCallCheck2[\"default\"])(this, Graph);\n config = (0, _util.deepClone)(config, true);\n var defaultConfig = {\n /**\r\n * @description Weather to render graph\r\n * @type {Boolean}\r\n * @default visible = true\r\n */\n visible: true,\n\n /**\r\n * @description Whether to enable drag\r\n * @type {Boolean}\r\n * @default drag = false\r\n */\n drag: false,\n\n /**\r\n * @description Whether to enable hover\r\n * @type {Boolean}\r\n * @default hover = false\r\n */\n hover: false,\n\n /**\r\n * @description Graph rendering index\r\n * Give priority to index high graph in rendering\r\n * @type {Number}\r\n * @example index = 1\r\n */\n index: 1,\n\n /**\r\n * @description Animation delay time(ms)\r\n * @type {Number}\r\n * @default animationDelay = 0\r\n */\n animationDelay: 0,\n\n /**\r\n * @description Number of animation frames\r\n * @type {Number}\r\n * @default animationFrame = 30\r\n */\n animationFrame: 30,\n\n /**\r\n * @description Animation dynamic curve (Supported by transition)\r\n * @type {String}\r\n * @default animationCurve = 'linear'\r\n * @link https://github.com/jiaming743/Transition\r\n */\n animationCurve: 'linear',\n\n /**\r\n * @description Weather to pause graph animation\r\n * @type {Boolean}\r\n * @default animationPause = false\r\n */\n animationPause: false,\n\n /**\r\n * @description Rectangular hover detection zone\r\n * Use this method for hover detection first\r\n * @type {Null|Array}\r\n * @default hoverRect = null\r\n * @example hoverRect = [0, 0, 100, 100] // [Rect start x, y, Rect width, height]\r\n */\n hoverRect: null,\n\n /**\r\n * @description Mouse enter event handler\r\n * @type {Function|Null}\r\n * @default mouseEnter = null\r\n */\n mouseEnter: null,\n\n /**\r\n * @description Mouse outer event handler\r\n * @type {Function|Null}\r\n * @default mouseOuter = null\r\n */\n mouseOuter: null,\n\n /**\r\n * @description Mouse click event handler\r\n * @type {Function|Null}\r\n * @default click = null\r\n */\n click: null\n };\n var configAbleNot = {\n status: 'static',\n animationRoot: [],\n animationKeys: [],\n animationFrameState: [],\n cache: {}\n };\n if (!config.shape) config.shape = {};\n if (!config.style) config.style = {};\n var shape = Object.assign({}, graph.shape, config.shape);\n Object.assign(defaultConfig, config, configAbleNot);\n Object.assign(this, graph, defaultConfig);\n this.shape = shape;\n this.style = new _style[\"default\"](config.style);\n this.addedProcessor();\n};\n/**\r\n * @description Processor of added\r\n * @return {Undefined} Void\r\n */\n\n\nexports[\"default\"] = Graph;\n\nGraph.prototype.addedProcessor = function () {\n if (typeof this.setGraphCenter === 'function') this.setGraphCenter(null, this); // The life cycle 'added\"\n\n if (typeof this.added === 'function') this.added(this);\n};\n/**\r\n * @description Processor of draw\r\n * @param {CRender} render Instance of CRender\r\n * @param {Graph} graph Instance of Graph\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.drawProcessor = function (render, graph) {\n var ctx = render.ctx;\n graph.style.initStyle(ctx);\n if (typeof this.beforeDraw === 'function') this.beforeDraw(this, render);\n graph.draw(render, graph);\n if (typeof this.drawed === 'function') this.drawed(this, render);\n graph.style.restoreTransform(ctx);\n};\n/**\r\n * @description Processor of hover check\r\n * @param {Array} position Mouse Position\r\n * @param {Graph} graph Instance of Graph\r\n * @return {Boolean} Result of hover check\r\n */\n\n\nGraph.prototype.hoverCheckProcessor = function (position, _ref) {\n var hoverRect = _ref.hoverRect,\n style = _ref.style,\n hoverCheck = _ref.hoverCheck;\n var graphCenter = style.graphCenter,\n rotate = style.rotate,\n scale = style.scale,\n translate = style.translate;\n\n if (graphCenter) {\n if (rotate) position = (0, _util.getRotatePointPos)(-rotate, position, graphCenter);\n if (scale) position = (0, _util.getScalePointPos)(scale.map(function (s) {\n return 1 / s;\n }), position, graphCenter);\n if (translate) position = (0, _util.getTranslatePointPos)(translate.map(function (v) {\n return v * -1;\n }), position);\n }\n\n if (hoverRect) return _util.checkPointIsInRect.apply(void 0, [position].concat((0, _toConsumableArray2[\"default\"])(hoverRect)));\n return hoverCheck(position, this);\n};\n/**\r\n * @description Processor of move\r\n * @param {Event} e Mouse movement event\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.moveProcessor = function (e) {\n this.move(e, this);\n if (typeof this.beforeMove === 'function') this.beforeMove(e, this);\n if (typeof this.setGraphCenter === 'function') this.setGraphCenter(e, this);\n if (typeof this.moved === 'function') this.moved(e, this);\n};\n/**\r\n * @description Update graph state\r\n * @param {String} attrName Updated attribute name\r\n * @param {Any} change Updated value\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.attr = function (attrName) {\n var change = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n if (!attrName || change === undefined) return false;\n var isObject = (0, _typeof2[\"default\"])(this[attrName]) === 'object';\n if (isObject) change = (0, _util.deepClone)(change, true);\n var render = this.render;\n\n if (attrName === 'style') {\n this.style.update(change);\n } else if (isObject) {\n Object.assign(this[attrName], change);\n } else {\n this[attrName] = change;\n }\n\n if (attrName === 'index') render.sortGraphsByIndex();\n render.drawAllGraph();\n};\n/**\r\n * @description Update graphics state (with animation)\r\n * Only shape and style attributes are supported\r\n * @param {String} attrName Updated attribute name\r\n * @param {Any} change Updated value\r\n * @param {Boolean} wait Whether to store the animation waiting\r\n * for the next animation request\r\n * @return {Promise} Animation Promise\r\n */\n\n\nGraph.prototype.animation =\n/*#__PURE__*/\nfunction () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(attrName, change) {\n var wait,\n changeRoot,\n changeKeys,\n beforeState,\n animationFrame,\n animationCurve,\n animationDelay,\n animationFrameState,\n render,\n _args2 = arguments;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n wait = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : false;\n\n if (!(attrName !== 'shape' && attrName !== 'style')) {\n _context2.next = 4;\n break;\n }\n\n console.error('Only supported shape and style animation!');\n return _context2.abrupt(\"return\");\n\n case 4:\n change = (0, _util.deepClone)(change, true);\n if (attrName === 'style') this.style.colorProcessor(change);\n changeRoot = this[attrName];\n changeKeys = Object.keys(change);\n beforeState = {};\n changeKeys.forEach(function (key) {\n return beforeState[key] = changeRoot[key];\n });\n animationFrame = this.animationFrame, animationCurve = this.animationCurve, animationDelay = this.animationDelay;\n animationFrameState = (0, _transition[\"default\"])(animationCurve, beforeState, change, animationFrame, true);\n this.animationRoot.push(changeRoot);\n this.animationKeys.push(changeKeys);\n this.animationFrameState.push(animationFrameState);\n\n if (!wait) {\n _context2.next = 17;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 17:\n if (!(animationDelay > 0)) {\n _context2.next = 20;\n break;\n }\n\n _context2.next = 20;\n return delay(animationDelay);\n\n case 20:\n render = this.render;\n return _context2.abrupt(\"return\", new Promise(\n /*#__PURE__*/\n function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(resolve) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return render.launchAnimation();\n\n case 2:\n resolve();\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n\n case 22:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x, _x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n/**\r\n * @description Extract the next frame of data from the animation queue\r\n * and update the graph state\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.turnNextAnimationFrame = function (timeStamp) {\n var animationDelay = this.animationDelay,\n animationRoot = this.animationRoot,\n animationKeys = this.animationKeys,\n animationFrameState = this.animationFrameState,\n animationPause = this.animationPause;\n if (animationPause) return;\n if (Date.now() - timeStamp < animationDelay) return;\n animationRoot.forEach(function (root, i) {\n animationKeys[i].forEach(function (key) {\n root[key] = animationFrameState[i][0][key];\n });\n });\n animationFrameState.forEach(function (stateItem, i) {\n stateItem.shift();\n var noFrame = stateItem.length === 0;\n if (noFrame) animationRoot[i] = null;\n if (noFrame) animationKeys[i] = null;\n });\n this.animationFrameState = animationFrameState.filter(function (state) {\n return state.length;\n });\n this.animationRoot = animationRoot.filter(function (root) {\n return root;\n });\n this.animationKeys = animationKeys.filter(function (keys) {\n return keys;\n });\n};\n/**\r\n * @description Skip to the last frame of animation\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.animationEnd = function () {\n var animationFrameState = this.animationFrameState,\n animationKeys = this.animationKeys,\n animationRoot = this.animationRoot,\n render = this.render;\n animationRoot.forEach(function (root, i) {\n var currentKeys = animationKeys[i];\n var lastState = animationFrameState[i].pop();\n currentKeys.forEach(function (key) {\n return root[key] = lastState[key];\n });\n });\n this.animationFrameState = [];\n this.animationKeys = [];\n this.animationRoot = [];\n return render.drawAllGraph();\n};\n/**\r\n * @description Pause animation behavior\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.pauseAnimation = function () {\n this.attr('animationPause', true);\n};\n/**\r\n * @description Try animation behavior\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.playAnimation = function () {\n var render = this.render;\n this.attr('animationPause', false);\n return new Promise(\n /*#__PURE__*/\n function () {\n var _ref4 = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(resolve) {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return render.launchAnimation();\n\n case 2:\n resolve();\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function (_x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n};\n/**\r\n * @description Processor of delete\r\n * @param {CRender} render Instance of CRender\r\n * @return {Undefined} Void\r\n */\n\n\nGraph.prototype.delProcessor = function (render) {\n var _this = this;\n\n var graphs = render.graphs;\n var index = graphs.findIndex(function (graph) {\n return graph === _this;\n });\n if (index === -1) return;\n if (typeof this.beforeDelete === 'function') this.beforeDelete(this);\n graphs.splice(index, 1, null);\n if (typeof this.deleted === 'function') this.deleted(this);\n};\n/**\r\n * @description Return a timed release Promise\r\n * @param {Number} time Release time\r\n * @return {Promise} A timed release Promise\r\n */\n\n\nfunction delay(time) {\n return new Promise(function (resolve) {\n setTimeout(resolve, time);\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar modelHelper = require(\"./modelHelper\");\n\nvar findPointFromSeries = require(\"./findPointFromSeries\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar curry = zrUtil.curry;\nvar inner = makeInner();\n/**\n * Basic logic: check all axis, if they do not demand show/highlight,\n * then hide/downplay them.\n *\n * @param {Object} coordSysAxesInfo\n * @param {Object} payload\n * @param {string} [payload.currTrigger] 'click' | 'mousemove' | 'leave'\n * @param {Array.} [payload.x] x and y, which are mandatory, specify a point to\n * trigger axisPointer and tooltip.\n * @param {Array.} [payload.y] x and y, which are mandatory, specify a point to\n * trigger axisPointer and tooltip.\n * @param {Object} [payload.seriesIndex] finder, optional, restrict target axes.\n * @param {Object} [payload.dataIndex] finder, restrict target axes.\n * @param {Object} [payload.axesInfo] finder, restrict target axes.\n * [{\n * axisDim: 'x'|'y'|'angle'|...,\n * axisIndex: ...,\n * value: ...\n * }, ...]\n * @param {Function} [payload.dispatchAction]\n * @param {Object} [payload.tooltipOption]\n * @param {Object|Array.|Function} [payload.position] Tooltip position,\n * which can be specified in dispatchAction\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @return {Object} content of event obj for echarts.connect.\n */\n\nfunction _default(payload, ecModel, api) {\n var currTrigger = payload.currTrigger;\n var point = [payload.x, payload.y];\n var finder = payload;\n var dispatchAction = payload.dispatchAction || zrUtil.bind(api.dispatchAction, api);\n var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo; // Pending\n // See #6121. But we are not able to reproduce it yet.\n\n if (!coordSysAxesInfo) {\n return;\n }\n\n if (illegalPoint(point)) {\n // Used in the default behavior of `connection`: use the sample seriesIndex\n // and dataIndex. And also used in the tooltipView trigger.\n point = findPointFromSeries({\n seriesIndex: finder.seriesIndex,\n // Do not use dataIndexInside from other ec instance.\n // FIXME: auto detect it?\n dataIndex: finder.dataIndex\n }, ecModel).point;\n }\n\n var isIllegalPoint = illegalPoint(point); // Axis and value can be specified when calling dispatchAction({type: 'updateAxisPointer'}).\n // Notice: In this case, it is difficult to get the `point` (which is necessary to show\n // tooltip, so if point is not given, we just use the point found by sample seriesIndex\n // and dataIndex.\n\n var inputAxesInfo = finder.axesInfo;\n var axesInfo = coordSysAxesInfo.axesInfo;\n var shouldHide = currTrigger === 'leave' || illegalPoint(point);\n var outputFinder = {};\n var showValueMap = {};\n var dataByCoordSys = {\n list: [],\n map: {}\n };\n var updaters = {\n showPointer: curry(showPointer, showValueMap),\n showTooltip: curry(showTooltip, dataByCoordSys)\n }; // Process for triggered axes.\n\n each(coordSysAxesInfo.coordSysMap, function (coordSys, coordSysKey) {\n // If a point given, it must be contained by the coordinate system.\n var coordSysContainsPoint = isIllegalPoint || coordSys.containPoint(point);\n each(coordSysAxesInfo.coordSysAxesInfo[coordSysKey], function (axisInfo, key) {\n var axis = axisInfo.axis;\n var inputAxisInfo = findInputAxisInfo(inputAxesInfo, axisInfo); // If no inputAxesInfo, no axis is restricted.\n\n if (!shouldHide && coordSysContainsPoint && (!inputAxesInfo || inputAxisInfo)) {\n var val = inputAxisInfo && inputAxisInfo.value;\n\n if (val == null && !isIllegalPoint) {\n val = axis.pointToData(point);\n }\n\n val != null && processOnAxis(axisInfo, val, updaters, false, outputFinder);\n }\n });\n }); // Process for linked axes.\n\n var linkTriggers = {};\n each(axesInfo, function (tarAxisInfo, tarKey) {\n var linkGroup = tarAxisInfo.linkGroup; // If axis has been triggered in the previous stage, it should not be triggered by link.\n\n if (linkGroup && !showValueMap[tarKey]) {\n each(linkGroup.axesInfo, function (srcAxisInfo, srcKey) {\n var srcValItem = showValueMap[srcKey]; // If srcValItem exist, source axis is triggered, so link to target axis.\n\n if (srcAxisInfo !== tarAxisInfo && srcValItem) {\n var val = srcValItem.value;\n linkGroup.mapper && (val = tarAxisInfo.axis.scale.parse(linkGroup.mapper(val, makeMapperParam(srcAxisInfo), makeMapperParam(tarAxisInfo))));\n linkTriggers[tarAxisInfo.key] = val;\n }\n });\n }\n });\n each(linkTriggers, function (val, tarKey) {\n processOnAxis(axesInfo[tarKey], val, updaters, true, outputFinder);\n });\n updateModelActually(showValueMap, axesInfo, outputFinder);\n dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction);\n dispatchHighDownActually(axesInfo, dispatchAction, api);\n return outputFinder;\n}\n\nfunction processOnAxis(axisInfo, newValue, updaters, dontSnap, outputFinder) {\n var axis = axisInfo.axis;\n\n if (axis.scale.isBlank() || !axis.containData(newValue)) {\n return;\n }\n\n if (!axisInfo.involveSeries) {\n updaters.showPointer(axisInfo, newValue);\n return;\n } // Heavy calculation. So put it after axis.containData checking.\n\n\n var payloadInfo = buildPayloadsBySeries(newValue, axisInfo);\n var payloadBatch = payloadInfo.payloadBatch;\n var snapToValue = payloadInfo.snapToValue; // Fill content of event obj for echarts.connect.\n // By default use the first involved series data as a sample to connect.\n\n if (payloadBatch[0] && outputFinder.seriesIndex == null) {\n zrUtil.extend(outputFinder, payloadBatch[0]);\n } // If no linkSource input, this process is for collecting link\n // target, where snap should not be accepted.\n\n\n if (!dontSnap && axisInfo.snap) {\n if (axis.containData(snapToValue) && snapToValue != null) {\n newValue = snapToValue;\n }\n }\n\n updaters.showPointer(axisInfo, newValue, payloadBatch, outputFinder); // Tooltip should always be snapToValue, otherwise there will be\n // incorrect \"axis value ~ series value\" mapping displayed in tooltip.\n\n updaters.showTooltip(axisInfo, payloadInfo, snapToValue);\n}\n\nfunction buildPayloadsBySeries(value, axisInfo) {\n var axis = axisInfo.axis;\n var dim = axis.dim;\n var snapToValue = value;\n var payloadBatch = [];\n var minDist = Number.MAX_VALUE;\n var minDiff = -1;\n each(axisInfo.seriesModels, function (series, idx) {\n var dataDim = series.getData().mapDimension(dim, true);\n var seriesNestestValue;\n var dataIndices;\n\n if (series.getAxisTooltipData) {\n var result = series.getAxisTooltipData(dataDim, value, axis);\n dataIndices = result.dataIndices;\n seriesNestestValue = result.nestestValue;\n } else {\n dataIndices = series.getData().indicesOfNearest(dataDim[0], value, // Add a threshold to avoid find the wrong dataIndex\n // when data length is not same.\n // false,\n axis.type === 'category' ? 0.5 : null);\n\n if (!dataIndices.length) {\n return;\n }\n\n seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);\n }\n\n if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {\n return;\n }\n\n var diff = value - seriesNestestValue;\n var dist = Math.abs(diff); // Consider category case\n\n if (dist <= minDist) {\n if (dist < minDist || diff >= 0 && minDiff < 0) {\n minDist = dist;\n minDiff = diff;\n snapToValue = seriesNestestValue;\n payloadBatch.length = 0;\n }\n\n each(dataIndices, function (dataIndex) {\n payloadBatch.push({\n seriesIndex: series.seriesIndex,\n dataIndexInside: dataIndex,\n dataIndex: series.getData().getRawIndex(dataIndex)\n });\n });\n }\n });\n return {\n payloadBatch: payloadBatch,\n snapToValue: snapToValue\n };\n}\n\nfunction showPointer(showValueMap, axisInfo, value, payloadBatch) {\n showValueMap[axisInfo.key] = {\n value: value,\n payloadBatch: payloadBatch\n };\n}\n\nfunction showTooltip(dataByCoordSys, axisInfo, payloadInfo, value) {\n var payloadBatch = payloadInfo.payloadBatch;\n var axis = axisInfo.axis;\n var axisModel = axis.model;\n var axisPointerModel = axisInfo.axisPointerModel; // If no data, do not create anything in dataByCoordSys,\n // whose length will be used to judge whether dispatch action.\n\n if (!axisInfo.triggerTooltip || !payloadBatch.length) {\n return;\n }\n\n var coordSysModel = axisInfo.coordSys.model;\n var coordSysKey = modelHelper.makeKey(coordSysModel);\n var coordSysItem = dataByCoordSys.map[coordSysKey];\n\n if (!coordSysItem) {\n coordSysItem = dataByCoordSys.map[coordSysKey] = {\n coordSysId: coordSysModel.id,\n coordSysIndex: coordSysModel.componentIndex,\n coordSysType: coordSysModel.type,\n coordSysMainType: coordSysModel.mainType,\n dataByAxis: []\n };\n dataByCoordSys.list.push(coordSysItem);\n }\n\n coordSysItem.dataByAxis.push({\n axisDim: axis.dim,\n axisIndex: axisModel.componentIndex,\n axisType: axisModel.type,\n axisId: axisModel.id,\n value: value,\n // Caustion: viewHelper.getValueLabel is actually on \"view stage\", which\n // depends that all models have been updated. So it should not be performed\n // here. Considering axisPointerModel used here is volatile, which is hard\n // to be retrieve in TooltipView, we prepare parameters here.\n valueLabelOpt: {\n precision: axisPointerModel.get('label.precision'),\n formatter: axisPointerModel.get('label.formatter')\n },\n seriesDataIndices: payloadBatch.slice()\n });\n}\n\nfunction updateModelActually(showValueMap, axesInfo, outputFinder) {\n var outputAxesInfo = outputFinder.axesInfo = []; // Basic logic: If no 'show' required, 'hide' this axisPointer.\n\n each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n var valItem = showValueMap[key];\n\n if (valItem) {\n !axisInfo.useHandle && (option.status = 'show');\n option.value = valItem.value; // For label formatter param and highlight.\n\n option.seriesDataIndices = (valItem.payloadBatch || []).slice();\n } // When always show (e.g., handle used), remain\n // original value and status.\n else {\n // If hide, value still need to be set, consider\n // click legend to toggle axis blank.\n !axisInfo.useHandle && (option.status = 'hide');\n } // If status is 'hide', should be no info in payload.\n\n\n option.status === 'show' && outputAxesInfo.push({\n axisDim: axisInfo.axis.dim,\n axisIndex: axisInfo.axis.model.componentIndex,\n value: option.value\n });\n });\n}\n\nfunction dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction) {\n // Basic logic: If no showTip required, hideTip will be dispatched.\n if (illegalPoint(point) || !dataByCoordSys.list.length) {\n dispatchAction({\n type: 'hideTip'\n });\n return;\n } // In most case only one axis (or event one series is used). It is\n // convinient to fetch payload.seriesIndex and payload.dataIndex\n // dirtectly. So put the first seriesIndex and dataIndex of the first\n // axis on the payload.\n\n\n var sampleItem = ((dataByCoordSys.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};\n dispatchAction({\n type: 'showTip',\n escapeConnect: true,\n x: point[0],\n y: point[1],\n tooltipOption: payload.tooltipOption,\n position: payload.position,\n dataIndexInside: sampleItem.dataIndexInside,\n dataIndex: sampleItem.dataIndex,\n seriesIndex: sampleItem.seriesIndex,\n dataByCoordSys: dataByCoordSys.list\n });\n}\n\nfunction dispatchHighDownActually(axesInfo, dispatchAction, api) {\n // FIXME\n // highlight status modification shoule be a stage of main process?\n // (Consider confilct (e.g., legend and axisPointer) and setOption)\n var zr = api.getZr();\n var highDownKey = 'axisPointerLastHighlights';\n var lastHighlights = inner(zr)[highDownKey] || {};\n var newHighlights = inner(zr)[highDownKey] = {}; // Update highlight/downplay status according to axisPointer model.\n // Build hash map and remove duplicate incidentally.\n\n each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n option.status === 'show' && each(option.seriesDataIndices, function (batchItem) {\n var key = batchItem.seriesIndex + ' | ' + batchItem.dataIndex;\n newHighlights[key] = batchItem;\n });\n }); // Diff.\n\n var toHighlight = [];\n var toDownplay = [];\n zrUtil.each(lastHighlights, function (batchItem, key) {\n !newHighlights[key] && toDownplay.push(batchItem);\n });\n zrUtil.each(newHighlights, function (batchItem, key) {\n !lastHighlights[key] && toHighlight.push(batchItem);\n });\n toDownplay.length && api.dispatchAction({\n type: 'downplay',\n escapeConnect: true,\n batch: toDownplay\n });\n toHighlight.length && api.dispatchAction({\n type: 'highlight',\n escapeConnect: true,\n batch: toHighlight\n });\n}\n\nfunction findInputAxisInfo(inputAxesInfo, axisInfo) {\n for (var i = 0; i < (inputAxesInfo || []).length; i++) {\n var inputAxisInfo = inputAxesInfo[i];\n\n if (axisInfo.axis.dim === inputAxisInfo.axisDim && axisInfo.axis.model.componentIndex === inputAxisInfo.axisIndex) {\n return inputAxisInfo;\n }\n }\n}\n\nfunction makeMapperParam(axisInfo) {\n var axisModel = axisInfo.axis.model;\n var item = {};\n var dim = item.axisDim = axisInfo.axis.dim;\n item.axisIndex = item[dim + 'AxisIndex'] = axisModel.componentIndex;\n item.axisName = item[dim + 'AxisName'] = axisModel.name;\n item.axisId = item[dim + 'AxisId'] = axisModel.id;\n return item;\n}\n\nfunction illegalPoint(point) {\n return !point || point[0] == null || isNaN(point[0]) || point[1] == null || isNaN(point[1]);\n}\n\nmodule.exports = _default;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @event legendScroll\n * @type {Object}\n * @property {string} type 'legendScroll'\n * @property {string} scrollDataIndex\n */\necharts.registerAction('legendScroll', 'legendscroll', function (payload, ecModel) {\n var scrollDataIndex = payload.scrollDataIndex;\n scrollDataIndex != null && ecModel.eachComponent({\n mainType: 'legend',\n subType: 'scroll',\n query: payload\n }, function (legendModel) {\n legendModel.setScrollDataIndex(scrollDataIndex);\n });\n});","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar Axis2D = function (dim, scale, coordExtent, axisType, position) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis position\n * - 'top'\n * - 'bottom'\n * - 'left'\n * - 'right'\n */\n\n this.position = position || 'bottom';\n};\n\nAxis2D.prototype = {\n constructor: Axis2D,\n\n /**\n * Index of axis, can be used as key\n */\n index: 0,\n\n /**\n * Implemented in .\n * @return {Array.}\n * If not on zero of other axis, return null/undefined.\n * If no axes, return an empty array.\n */\n getAxesOnZeroOf: null,\n\n /**\n * Axis model\n * @param {module:echarts/coord/cartesian/AxisModel}\n */\n model: null,\n isHorizontal: function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n },\n\n /**\n * Each item cooresponds to this.getExtent(), which\n * means globalExtent[0] may greater than globalExtent[1],\n * unless `asc` is input.\n *\n * @param {boolean} [asc]\n * @return {Array.}\n */\n getGlobalExtent: function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n },\n getOtherAxis: function () {\n this.grid.getOtherAxis();\n },\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n },\n\n /**\n * Transform global coord to local coord,\n * i.e. var localCoord = axis.toLocalCoord(80);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toLocalCoord: null,\n\n /**\n * Transform global coord to local coord,\n * i.e. var globalCoord = axis.toLocalCoord(40);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toGlobalCoord: null\n};\nzrUtil.inherits(Axis2D, Axis);\nvar _default = Axis2D;\nmodule.exports = _default;","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isString = _util.isString;\nvar isArray = _util.isArray;\nvar each = _util.each;\nvar assert = _util.assert;\n\nvar _parseSVG = require(\"zrender/lib/tool/parseSVG\");\n\nvar parseXML = _parseSVG.parseXML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar storage = createHashMap(); // For minimize the code size of common echarts package,\n// do not put too much logic in this module.\n\nvar _default = {\n // The format of record: see `echarts.registerMap`.\n // Compatible with previous `echarts.registerMap`.\n registerMap: function (mapName, rawGeoJson, rawSpecialAreas) {\n var records;\n\n if (isArray(rawGeoJson)) {\n records = rawGeoJson;\n } else if (rawGeoJson.svg) {\n records = [{\n type: 'svg',\n source: rawGeoJson.svg,\n specialAreas: rawGeoJson.specialAreas\n }];\n } else {\n // Backward compatibility.\n if (rawGeoJson.geoJson && !rawGeoJson.features) {\n rawSpecialAreas = rawGeoJson.specialAreas;\n rawGeoJson = rawGeoJson.geoJson;\n }\n\n records = [{\n type: 'geoJSON',\n source: rawGeoJson,\n specialAreas: rawSpecialAreas\n }];\n }\n\n each(records, function (record) {\n var type = record.type;\n type === 'geoJson' && (type = record.type = 'geoJSON');\n var parse = parsers[type];\n parse(record);\n });\n return storage.set(mapName, records);\n },\n retrieveMap: function (mapName) {\n return storage.get(mapName);\n }\n};\nvar parsers = {\n geoJSON: function (record) {\n var source = record.source;\n record.geoJSON = !isString(source) ? source : typeof JSON !== 'undefined' && JSON.parse ? JSON.parse(source) : new Function('return (' + source + ');')();\n },\n // Only perform parse to XML object here, which might be time\n // consiming for large SVG.\n // Although convert XML to zrender element is also time consiming,\n // if we do it here, the clone of zrender elements has to be\n // required. So we do it once for each geo instance, util real\n // performance issues call for optimizing it.\n svg: function (record) {\n record.svgXML = parseXML(record.source);\n }\n};\nmodule.exports = _default;","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar isTypedArray = _util.isTypedArray;\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassCheck = _clazz.enableClassCheck;\n\nvar _sourceType = require(\"./helper/sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [sourceFormat]\n *\n * + \"original\":\n * This format is only used in series.data, where\n * itemStyle can be specified in data item.\n *\n * + \"arrayRows\":\n * [\n * ['product', 'score', 'amount'],\n * ['Matcha Latte', 89.3, 95.8],\n * ['Milk Tea', 92.1, 89.4],\n * ['Cheese Cocoa', 94.4, 91.2],\n * ['Walnut Brownie', 85.4, 76.9]\n * ]\n *\n * + \"objectRows\":\n * [\n * {product: 'Matcha Latte', score: 89.3, amount: 95.8},\n * {product: 'Milk Tea', score: 92.1, amount: 89.4},\n * {product: 'Cheese Cocoa', score: 94.4, amount: 91.2},\n * {product: 'Walnut Brownie', score: 85.4, amount: 76.9}\n * ]\n *\n * + \"keyedColumns\":\n * {\n * 'product': ['Matcha Latte', 'Milk Tea', 'Cheese Cocoa', 'Walnut Brownie'],\n * 'count': [823, 235, 1042, 988],\n * 'score': [95.8, 81.4, 91.2, 76.9]\n * }\n *\n * + \"typedArray\"\n *\n * + \"unknown\"\n */\n\n/**\n * @constructor\n * @param {Object} fields\n * @param {string} fields.sourceFormat\n * @param {Array|Object} fields.fromDataset\n * @param {Array|Object} [fields.data]\n * @param {string} [seriesLayoutBy='column']\n * @param {Array.} [dimensionsDefine]\n * @param {Objet|HashMap} [encodeDefine]\n * @param {number} [startIndex=0]\n * @param {number} [dimensionsDetectCount]\n */\nfunction Source(fields) {\n /**\n * @type {boolean}\n */\n this.fromDataset = fields.fromDataset;\n /**\n * Not null/undefined.\n * @type {Array|Object}\n */\n\n this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);\n /**\n * See also \"detectSourceFormat\".\n * Not null/undefined.\n * @type {string}\n */\n\n this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN;\n /**\n * 'row' or 'column'\n * Not null/undefined.\n * @type {string} seriesLayoutBy\n */\n\n this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;\n /**\n * dimensions definition in option.\n * can be null/undefined.\n * @type {Array.}\n */\n\n this.dimensionsDefine = fields.dimensionsDefine;\n /**\n * encode definition in option.\n * can be null/undefined.\n * @type {Objet|HashMap}\n */\n\n this.encodeDefine = fields.encodeDefine && createHashMap(fields.encodeDefine);\n /**\n * Not null/undefined, uint.\n * @type {number}\n */\n\n this.startIndex = fields.startIndex || 0;\n /**\n * Can be null/undefined (when unknown), uint.\n * @type {number}\n */\n\n this.dimensionsDetectCount = fields.dimensionsDetectCount;\n}\n/**\n * Wrap original series data for some compatibility cases.\n */\n\n\nSource.seriesDataToSource = function (data) {\n return new Source({\n data: data,\n sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL,\n fromDataset: false\n });\n};\n\nenableClassCheck(Source);\nvar _default = Source;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\n\nfunction _default(ecModel) {\n var groupResult = groupSeriesByAxis(ecModel);\n each(groupResult, function (groupItem) {\n var seriesModels = groupItem.seriesModels;\n\n if (!seriesModels.length) {\n return;\n }\n\n calculateBase(groupItem);\n each(seriesModels, function (seriesModel, idx) {\n layoutSingleSeries(seriesModel, groupItem.boxOffsetList[idx], groupItem.boxWidthList[idx]);\n });\n });\n}\n/**\n * Group series by axis.\n */\n\n\nfunction groupSeriesByAxis(ecModel) {\n var result = [];\n var axisList = [];\n ecModel.eachSeriesByType('boxplot', function (seriesModel) {\n var baseAxis = seriesModel.getBaseAxis();\n var idx = zrUtil.indexOf(axisList, baseAxis);\n\n if (idx < 0) {\n idx = axisList.length;\n axisList[idx] = baseAxis;\n result[idx] = {\n axis: baseAxis,\n seriesModels: []\n };\n }\n\n result[idx].seriesModels.push(seriesModel);\n });\n return result;\n}\n/**\n * Calculate offset and box width for each series.\n */\n\n\nfunction calculateBase(groupItem) {\n var extent;\n var baseAxis = groupItem.axis;\n var seriesModels = groupItem.seriesModels;\n var seriesCount = seriesModels.length;\n var boxWidthList = groupItem.boxWidthList = [];\n var boxOffsetList = groupItem.boxOffsetList = [];\n var boundList = [];\n var bandWidth;\n\n if (baseAxis.type === 'category') {\n bandWidth = baseAxis.getBandWidth();\n } else {\n var maxDataCount = 0;\n each(seriesModels, function (seriesModel) {\n maxDataCount = Math.max(maxDataCount, seriesModel.getData().count());\n });\n extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / maxDataCount;\n }\n\n each(seriesModels, function (seriesModel) {\n var boxWidthBound = seriesModel.get('boxWidth');\n\n if (!zrUtil.isArray(boxWidthBound)) {\n boxWidthBound = [boxWidthBound, boxWidthBound];\n }\n\n boundList.push([parsePercent(boxWidthBound[0], bandWidth) || 0, parsePercent(boxWidthBound[1], bandWidth) || 0]);\n });\n var availableWidth = bandWidth * 0.8 - 2;\n var boxGap = availableWidth / seriesCount * 0.3;\n var boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;\n var base = boxWidth / 2 - availableWidth / 2;\n each(seriesModels, function (seriesModel, idx) {\n boxOffsetList.push(base);\n base += boxGap + boxWidth;\n boxWidthList.push(Math.min(Math.max(boxWidth, boundList[idx][0]), boundList[idx][1]));\n });\n}\n/**\n * Calculate points location for each series.\n */\n\n\nfunction layoutSingleSeries(seriesModel, offset, boxWidth) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var halfWidth = boxWidth / 2;\n var cDimIdx = seriesModel.get('layout') === 'horizontal' ? 0 : 1;\n var vDimIdx = 1 - cDimIdx;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n\n if (cDim == null || vDims.length < 5) {\n return;\n }\n\n for (var dataIndex = 0; dataIndex < data.count(); dataIndex++) {\n var axisDimVal = data.get(cDim, dataIndex);\n var median = getPoint(axisDimVal, vDims[2], dataIndex);\n var end1 = getPoint(axisDimVal, vDims[0], dataIndex);\n var end2 = getPoint(axisDimVal, vDims[1], dataIndex);\n var end4 = getPoint(axisDimVal, vDims[3], dataIndex);\n var end5 = getPoint(axisDimVal, vDims[4], dataIndex);\n var ends = [];\n addBodyEnd(ends, end2, 0);\n addBodyEnd(ends, end4, 1);\n ends.push(end1, end2, end5, end4);\n layEndLine(ends, end1);\n layEndLine(ends, end5);\n layEndLine(ends, median);\n data.setItemLayout(dataIndex, {\n initBaseline: median[vDimIdx],\n ends: ends\n });\n }\n\n function getPoint(axisDimVal, dimIdx, dataIndex) {\n var val = data.get(dimIdx, dataIndex);\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n var point;\n\n if (isNaN(axisDimVal) || isNaN(val)) {\n point = [NaN, NaN];\n } else {\n point = coordSys.dataToPoint(p);\n point[cDimIdx] += offset;\n }\n\n return point;\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] += halfWidth;\n point2[cDimIdx] -= halfWidth;\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function layEndLine(ends, endCenter) {\n var from = endCenter.slice();\n var to = endCenter.slice();\n from[cDimIdx] -= halfWidth;\n to[cDimIdx] += halfWidth;\n ends.push(from, to);\n }\n}\n\nmodule.exports = _default;","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","var _config = require(\"./config\");\n\nvar devicePixelRatio = _config.devicePixelRatio;\n\nvar util = require(\"./core/util\");\n\nvar logError = require(\"./core/log\");\n\nvar BoundingRect = require(\"./core/BoundingRect\");\n\nvar timsort = require(\"./core/timsort\");\n\nvar Layer = require(\"./Layer\");\n\nvar requestAnimationFrame = require(\"./animation/requestAnimationFrame\");\n\nvar Image = require(\"./graphic/Image\");\n\nvar env = require(\"./core/env\");\n\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\n\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\n\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n\n if (layer.__builtin__) {\n return true;\n }\n\n if (typeof layer.resize !== 'function' || typeof layer.refresh !== 'function') {\n return false;\n }\n\n return true;\n}\n\nvar tmpRect = new BoundingRect(0, 0, 0, 0);\nvar viewRect = new BoundingRect(0, 0, 0, 0);\n\nfunction isDisplayableCulled(el, width, height) {\n tmpRect.copy(el.getBoundingRect());\n\n if (el.transform) {\n tmpRect.applyTransform(el.transform);\n }\n\n viewRect.width = width;\n viewRect.height = height;\n return !tmpRect.intersect(viewRect);\n}\n\nfunction isClipPathChanged(clipPaths, prevClipPaths) {\n // displayable.__clipPaths can only be `null`/`undefined` or an non-empty array.\n if (clipPaths === prevClipPaths) {\n return false;\n }\n\n if (!clipPaths || !prevClipPaths || clipPaths.length !== prevClipPaths.length) {\n return true;\n }\n\n for (var i = 0; i < clipPaths.length; i++) {\n if (clipPaths[i] !== prevClipPaths[i]) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction doClip(clipPaths, ctx) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n clipPath.setTransform(ctx);\n ctx.beginPath();\n clipPath.buildPath(ctx, clipPath.shape);\n ctx.clip(); // Transform back\n\n clipPath.restoreTransform(ctx);\n }\n}\n\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div'); // domRoot.onselectstart = returnFalse; // Avoid page selected\n\n domRoot.style.cssText = ['position:relative', // IOS13 safari probably has a compositing bug (z order of the canvas and the consequent\n // dom does not act as expected) when some of the parent dom has\n // `-webkit-overflow-scrolling: touch;` and the webpage is longer than one screen and\n // the canvas is not at the top part of the page.\n // Check `https://bugs.webkit.org/show_bug.cgi?id=203681` for more details. We remove\n // this `overflow:hidden` to avoid the bug.\n // 'overflow:hidden',\n 'width:' + width + 'px', 'height:' + height + 'px', 'padding:0', 'margin:0', 'border-width:0'].join(';') + ';';\n return domRoot;\n}\n/**\n * @alias module:zrender/Painter\n * @constructor\n * @param {HTMLElement} root 绘图容器\n * @param {module:zrender/Storage} storage\n * @param {Object} opts\n */\n\n\nvar Painter = function (root, storage, opts) {\n this.type = 'canvas'; // In node environment using node-canvas\n\n var singleCanvas = !root.nodeName // In node ?\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n /**\n * @type {number}\n */\n\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n /**\n * @type {boolean}\n * @private\n */\n\n this._singleCanvas = singleCanvas;\n /**\n * 绘图容器\n * @type {HTMLElement}\n */\n\n this.root = root;\n var rootStyle = root.style;\n\n if (rootStyle) {\n rootStyle['-webkit-tap-highlight-color'] = 'transparent';\n rootStyle['-webkit-user-select'] = rootStyle['user-select'] = rootStyle['-webkit-touch-callout'] = 'none';\n root.innerHTML = '';\n }\n /**\n * @type {module:zrender/Storage}\n */\n\n\n this.storage = storage;\n /**\n * @type {Array.}\n * @private\n */\n\n var zlevelList = this._zlevelList = [];\n /**\n * @type {Object.}\n * @private\n */\n\n var layers = this._layers = {};\n /**\n * @type {Object.}\n * @private\n */\n\n this._layerConfig = {};\n /**\n * zrender will do compositing when root is a canvas and have multiple zlevels.\n */\n\n this._needsManuallyCompositing = false;\n\n if (!singleCanvas) {\n this._width = this._getSize(0);\n this._height = this._getSize(1);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n } else {\n var width = root.width;\n var height = root.height;\n\n if (opts.width != null) {\n width = opts.width;\n }\n\n if (opts.height != null) {\n height = opts.height;\n }\n\n this.dpr = opts.devicePixelRatio || 1; // Use canvas width and height directly\n\n root.width = width * this.dpr;\n root.height = height * this.dpr;\n this._width = width;\n this._height = height; // Create layer if only one given canvas\n // Device can be specified to create a high dpi image.\n\n var mainLayer = new Layer(root, this, this.dpr);\n mainLayer.__builtin__ = true;\n mainLayer.initContext(); // FIXME Use canvas width and height\n // mainLayer.resize(width, height);\n\n layers[CANVAS_ZLEVEL] = mainLayer;\n mainLayer.zlevel = CANVAS_ZLEVEL; // Not use common zlevel.\n\n zlevelList.push(CANVAS_ZLEVEL);\n this._domRoot = root;\n }\n /**\n * @type {module:zrender/Layer}\n * @private\n */\n\n\n this._hoverlayer = null;\n this._hoverElements = [];\n};\n\nPainter.prototype = {\n constructor: Painter,\n getType: function () {\n return 'canvas';\n },\n\n /**\n * If painter use a single canvas\n * @return {boolean}\n */\n isSingleCanvas: function () {\n return this._singleCanvas;\n },\n\n /**\n * @return {HTMLDivElement}\n */\n getViewportRoot: function () {\n return this._domRoot;\n },\n getViewportRootOffset: function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n },\n\n /**\n * 刷新\n * @param {boolean} [paintAll=false] 强制绘制所有displayable\n */\n refresh: function (paintAll) {\n var list = this.storage.getDisplayList(true);\n var zlevelList = this._zlevelList;\n this._redrawId = Math.random();\n\n this._paintList(list, paintAll, this._redrawId); // Paint custum layers\n\n\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n\n if (!layer.__builtin__ && layer.refresh) {\n var clearColor = i === 0 ? this._backgroundColor : null;\n layer.refresh(clearColor);\n }\n }\n\n this.refreshHover();\n return this;\n },\n addHover: function (el, hoverStyle) {\n if (el.__hoverMir) {\n return;\n }\n\n var elMirror = new el.constructor({\n style: el.style,\n shape: el.shape,\n z: el.z,\n z2: el.z2,\n silent: el.silent\n });\n elMirror.__from = el;\n el.__hoverMir = elMirror;\n hoverStyle && elMirror.setStyle(hoverStyle);\n\n this._hoverElements.push(elMirror);\n\n return elMirror;\n },\n removeHover: function (el) {\n var elMirror = el.__hoverMir;\n var hoverElements = this._hoverElements;\n var idx = util.indexOf(hoverElements, elMirror);\n\n if (idx >= 0) {\n hoverElements.splice(idx, 1);\n }\n\n el.__hoverMir = null;\n },\n clearHover: function (el) {\n var hoverElements = this._hoverElements;\n\n for (var i = 0; i < hoverElements.length; i++) {\n var from = hoverElements[i].__from;\n\n if (from) {\n from.__hoverMir = null;\n }\n }\n\n hoverElements.length = 0;\n },\n refreshHover: function () {\n var hoverElements = this._hoverElements;\n var len = hoverElements.length;\n var hoverLayer = this._hoverlayer;\n hoverLayer && hoverLayer.clear();\n\n if (!len) {\n return;\n }\n\n timsort(hoverElements, this.storage.displayableSortFunc); // Use a extream large zlevel\n // FIXME?\n\n if (!hoverLayer) {\n hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n }\n\n var scope = {};\n hoverLayer.ctx.save();\n\n for (var i = 0; i < len;) {\n var el = hoverElements[i];\n var originalEl = el.__from; // Original el is removed\n // PENDING\n\n if (!(originalEl && originalEl.__zr)) {\n hoverElements.splice(i, 1);\n originalEl.__hoverMir = null;\n len--;\n continue;\n }\n\n i++; // Use transform\n // FIXME style and shape ?\n\n if (!originalEl.invisible) {\n el.transform = originalEl.transform;\n el.invTransform = originalEl.invTransform;\n el.__clipPaths = originalEl.__clipPaths; // el.\n\n this._doPaintEl(el, hoverLayer, true, scope);\n }\n }\n\n hoverLayer.ctx.restore();\n },\n getHoverLayer: function () {\n return this.getLayer(HOVER_LAYER_ZLEVEL);\n },\n _paintList: function (list, paintAll, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n\n paintAll = paintAll || false;\n\n this._updateLayerStatus(list);\n\n var finished = this._doPaintList(list, paintAll);\n\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n\n if (!finished) {\n var self = this;\n requestAnimationFrame(function () {\n self._paintList(list, paintAll, redrawId);\n });\n }\n },\n _compositeManually: function () {\n var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;\n var width = this._domRoot.width;\n var height = this._domRoot.height;\n ctx.clearRect(0, 0, width, height); // PENDING, If only builtin layer?\n\n this.eachBuiltinLayer(function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n });\n },\n _doPaintList: function (list, paintAll) {\n var layerList = [];\n\n for (var zi = 0; zi < this._zlevelList.length; zi++) {\n var zlevel = this._zlevelList[zi];\n var layer = this._layers[zlevel];\n\n if (layer.__builtin__ && layer !== this._hoverlayer && (layer.__dirty || paintAll)) {\n layerList.push(layer);\n }\n }\n\n var finished = true;\n\n for (var k = 0; k < layerList.length; k++) {\n var layer = layerList[k];\n var ctx = layer.ctx;\n var scope = {};\n ctx.save();\n var start = paintAll ? layer.__startIndex : layer.__drawIndex;\n var useTimer = !paintAll && layer.incremental && Date.now;\n var startTime = useTimer && Date.now();\n var clearColor = layer.zlevel === this._zlevelList[0] ? this._backgroundColor : null; // All elements in this layer are cleared.\n\n if (layer.__startIndex === layer.__endIndex) {\n layer.clear(false, clearColor);\n } else if (start === layer.__startIndex) {\n var firstEl = list[start];\n\n if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n layer.clear(false, clearColor);\n }\n }\n\n if (start === -1) {\n console.error('For some unknown reason. drawIndex is -1');\n start = layer.__startIndex;\n }\n\n for (var i = start; i < layer.__endIndex; i++) {\n var el = list[i];\n\n this._doPaintEl(el, layer, paintAll, scope);\n\n el.__dirty = el.__dirtyText = false;\n\n if (useTimer) {\n // Date.now can be executed in 13,025,305 ops/second.\n var dTime = Date.now() - startTime; // Give 15 millisecond to draw.\n // The rest elements will be drawn in the next frame.\n\n if (dTime > 15) {\n break;\n }\n }\n }\n\n layer.__drawIndex = i;\n\n if (layer.__drawIndex < layer.__endIndex) {\n finished = false;\n }\n\n if (scope.prevElClipPaths) {\n // Needs restore the state. If last drawn element is in the clipping area.\n ctx.restore();\n }\n\n ctx.restore();\n }\n\n if (env.wxa) {\n // Flush for weixin application\n util.each(this._layers, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n\n return finished;\n },\n _doPaintEl: function (el, currentLayer, forcePaint, scope) {\n var ctx = currentLayer.ctx;\n var m = el.transform;\n\n if ((currentLayer.__dirty || forcePaint) && // Ignore invisible element\n !el.invisible // Ignore transparent element\n && el.style.opacity !== 0 // Ignore scale 0 element, in some environment like node-canvas\n // Draw a scale 0 element can cause all following draw wrong\n // And setTransform with scale 0 will cause set back transform failed.\n && !(m && !m[0] && !m[3]) // Ignore culled element\n && !(el.culling && isDisplayableCulled(el, this._width, this._height))) {\n var clipPaths = el.__clipPaths;\n var prevElClipPaths = scope.prevElClipPaths; // Optimize when clipping on group with several elements\n\n if (!prevElClipPaths || isClipPathChanged(clipPaths, prevElClipPaths)) {\n // If has previous clipping state, restore from it\n if (prevElClipPaths) {\n ctx.restore();\n scope.prevElClipPaths = null; // Reset prevEl since context has been restored\n\n scope.prevEl = null;\n } // New clipping state\n\n\n if (clipPaths) {\n ctx.save();\n doClip(clipPaths, ctx);\n scope.prevElClipPaths = clipPaths;\n }\n }\n\n el.beforeBrush && el.beforeBrush(ctx);\n el.brush(ctx, scope.prevEl || null);\n scope.prevEl = el;\n el.afterBrush && el.afterBrush(ctx);\n }\n },\n\n /**\n * 获取 zlevel 所在层,如果不存在则会创建一个新的层\n * @param {number} zlevel\n * @param {boolean} virtual Virtual layer will not be inserted into dom.\n * @return {module:zrender/Layer}\n */\n getLayer: function (zlevel, virtual) {\n if (this._singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n }\n\n var layer = this._layers[zlevel];\n\n if (!layer) {\n // Create a new layer\n layer = new Layer('zr_' + zlevel, this, this.dpr);\n layer.zlevel = zlevel;\n layer.__builtin__ = true;\n\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n } // TODO Remove EL_AFTER_INCREMENTAL_INC magic number\n else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {\n util.merge(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);\n }\n\n if (virtual) {\n layer.virtual = virtual;\n }\n\n this.insertLayer(zlevel, layer); // Context is created after dom inserted to document\n // Or excanvas will get 0px clientWidth and clientHeight\n\n layer.initContext();\n }\n\n return layer;\n },\n insertLayer: function (zlevel, layer) {\n var layersMap = this._layers;\n var zlevelList = this._zlevelList;\n var len = zlevelList.length;\n var prevLayer = null;\n var i = -1;\n var domRoot = this._domRoot;\n\n if (layersMap[zlevel]) {\n logError('ZLevel ' + zlevel + ' has been used already');\n return;\n } // Check if is a valid layer\n\n\n if (!isLayerValid(layer)) {\n logError('Layer of zlevel ' + zlevel + ' is not valid');\n return;\n }\n\n if (len > 0 && zlevel > zlevelList[0]) {\n for (i = 0; i < len - 1; i++) {\n if (zlevelList[i] < zlevel && zlevelList[i + 1] > zlevel) {\n break;\n }\n }\n\n prevLayer = layersMap[zlevelList[i]];\n }\n\n zlevelList.splice(i + 1, 0, zlevel);\n layersMap[zlevel] = layer; // Vitual layer will not directly show on the screen.\n // (It can be a WebGL layer and assigned to a ZImage element)\n // But it still under management of zrender.\n\n if (!layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n } else {\n domRoot.appendChild(layer.dom);\n }\n } else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n } else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n },\n // Iterate each layer\n eachLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n cb.call(context, this._layers[z], z);\n }\n },\n // Iterate each buildin layer\n eachBuiltinLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n // Iterate each other layer except buildin layer\n eachOtherLayer: function (cb, context) {\n var zlevelList = this._zlevelList;\n var layer;\n var z;\n var i;\n\n for (i = 0; i < zlevelList.length; i++) {\n z = zlevelList[i];\n layer = this._layers[z];\n\n if (!layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n },\n\n /**\n * 获取所有已创建的层\n * @param {Array.} [prevLayer]\n */\n getLayers: function () {\n return this._layers;\n },\n _updateLayerStatus: function (list) {\n this.eachBuiltinLayer(function (layer, z) {\n layer.__dirty = layer.__used = false;\n });\n\n function updatePrevLayer(idx) {\n if (prevLayer) {\n if (prevLayer.__endIndex !== idx) {\n prevLayer.__dirty = true;\n }\n\n prevLayer.__endIndex = idx;\n }\n }\n\n if (this._singleCanvas) {\n for (var i = 1; i < list.length; i++) {\n var el = list[i];\n\n if (el.zlevel !== list[i - 1].zlevel || el.incremental) {\n this._needsManuallyCompositing = true;\n break;\n }\n }\n }\n\n var prevLayer = null;\n var incrementalLayerCount = 0;\n var prevZlevel;\n\n for (var i = 0; i < list.length; i++) {\n var el = list[i];\n var zlevel = el.zlevel;\n var layer;\n\n if (prevZlevel !== zlevel) {\n prevZlevel = zlevel;\n incrementalLayerCount = 0;\n } // TODO Not use magic number on zlevel.\n // Each layer with increment element can be separated to 3 layers.\n // (Other Element drawn after incremental element)\n // -----------------zlevel + EL_AFTER_INCREMENTAL_INC--------------------\n // (Incremental element)\n // ----------------------zlevel + INCREMENTAL_INC------------------------\n // (Element drawn before incremental element)\n // --------------------------------zlevel--------------------------------\n\n\n if (el.incremental) {\n layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n layer.incremental = true;\n incrementalLayerCount = 1;\n } else {\n layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n }\n\n if (!layer.__builtin__) {\n logError('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n }\n\n if (layer !== prevLayer) {\n layer.__used = true;\n\n if (layer.__startIndex !== i) {\n layer.__dirty = true;\n }\n\n layer.__startIndex = i;\n\n if (!layer.incremental) {\n layer.__drawIndex = i;\n } else {\n // Mark layer draw index needs to update.\n layer.__drawIndex = -1;\n }\n\n updatePrevLayer(i);\n prevLayer = layer;\n }\n\n if (el.__dirty) {\n layer.__dirty = true;\n\n if (layer.incremental && layer.__drawIndex < 0) {\n // Start draw from the first dirty element.\n layer.__drawIndex = i;\n }\n }\n }\n\n updatePrevLayer(i);\n this.eachBuiltinLayer(function (layer, z) {\n // Used in last frame but not in this frame. Needs clear\n if (!layer.__used && layer.getElementCount() > 0) {\n layer.__dirty = true;\n layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n } // For incremental layer. In case start index changed and no elements are dirty.\n\n\n if (layer.__dirty && layer.__drawIndex < 0) {\n layer.__drawIndex = layer.__startIndex;\n }\n });\n },\n\n /**\n * 清除hover层外所有内容\n */\n clear: function () {\n this.eachBuiltinLayer(this._clearLayer);\n return this;\n },\n _clearLayer: function (layer) {\n layer.clear();\n },\n setBackgroundColor: function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n },\n\n /**\n * 修改指定zlevel的绘制参数\n *\n * @param {string} zlevel\n * @param {Object} config 配置对象\n * @param {string} [config.clearColor=0] 每次清空画布的颜色\n * @param {string} [config.motionBlur=false] 是否开启动态模糊\n * @param {number} [config.lastFrameAlpha=0.7]\n * 在开启动态模糊的时候使用,与上一帧混合的alpha值,值越大尾迹越明显\n */\n configLayer: function (zlevel, config) {\n if (config) {\n var layerConfig = this._layerConfig;\n\n if (!layerConfig[zlevel]) {\n layerConfig[zlevel] = config;\n } else {\n util.merge(layerConfig[zlevel], config, true);\n }\n\n for (var i = 0; i < this._zlevelList.length; i++) {\n var _zlevel = this._zlevelList[i]; // TODO Remove EL_AFTER_INCREMENTAL_INC magic number\n\n if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n var layer = this._layers[_zlevel];\n util.merge(layer, layerConfig[zlevel], true);\n }\n }\n }\n },\n\n /**\n * 删除指定层\n * @param {number} zlevel 层所在的zlevel\n */\n delLayer: function (zlevel) {\n var layers = this._layers;\n var zlevelList = this._zlevelList;\n var layer = layers[zlevel];\n\n if (!layer) {\n return;\n }\n\n layer.dom.parentNode.removeChild(layer.dom);\n delete layers[zlevel];\n zlevelList.splice(util.indexOf(zlevelList, zlevel), 1);\n },\n\n /**\n * 区域大小变化后重绘\n */\n resize: function (width, height) {\n if (!this._domRoot.style) {\n // Maybe in node or worker\n if (width == null || height == null) {\n return;\n }\n\n this._width = width;\n this._height = height;\n this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n } else {\n var domRoot = this._domRoot; // FIXME Why ?\n\n domRoot.style.display = 'none'; // Save input w/h\n\n var opts = this._opts;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = this._getSize(0);\n height = this._getSize(1);\n domRoot.style.display = ''; // 优化没有实际改变的resize\n\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].resize(width, height);\n }\n }\n\n util.each(this._progressiveLayers, function (layer) {\n layer.resize(width, height);\n });\n this.refresh(true);\n }\n\n this._width = width;\n this._height = height;\n }\n\n return this;\n },\n\n /**\n * 清除单独的一个层\n * @param {number} zlevel\n */\n clearLayer: function (zlevel) {\n var layer = this._layers[zlevel];\n\n if (layer) {\n layer.clear();\n }\n },\n\n /**\n * 释放\n */\n dispose: function () {\n this.root.innerHTML = '';\n this.root = this.storage = this._domRoot = this._layers = null;\n },\n\n /**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @param {number} [opts.pixelRatio]\n */\n getRenderedCanvas: function (opts) {\n opts = opts || {};\n\n if (this._singleCanvas && !this._compositeManually) {\n return this._layers[CANVAS_ZLEVEL].dom;\n }\n\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width = imageLayer.dom.width;\n var height = imageLayer.dom.height;\n var ctx = imageLayer.ctx;\n this.eachLayer(function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n } else if (layer.renderToCanvas) {\n imageLayer.ctx.save();\n layer.renderToCanvas(imageLayer.ctx);\n imageLayer.ctx.restore();\n }\n });\n } else {\n // PENDING, echarts-gl and incremental rendering.\n var scope = {};\n var displayList = this.storage.getDisplayList(true);\n\n for (var i = 0; i < displayList.length; i++) {\n var el = displayList[i];\n\n this._doPaintEl(el, imageLayer, true, scope);\n }\n }\n\n return imageLayer.dom;\n },\n\n /**\n * 获取绘图区域宽度\n */\n getWidth: function () {\n return this._width;\n },\n\n /**\n * 获取绘图区域高度\n */\n getHeight: function () {\n return this._height;\n },\n _getSize: function (whIdx) {\n var opts = this._opts;\n var wh = ['width', 'height'][whIdx];\n var cwh = ['clientWidth', 'clientHeight'][whIdx];\n var plt = ['paddingLeft', 'paddingTop'][whIdx];\n var prb = ['paddingRight', 'paddingBottom'][whIdx];\n\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n\n var root = this.root; // IE8 does not support getComputedStyle, but it use VML.\n\n var stl = document.defaultView.getComputedStyle(root);\n return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;\n },\n pathToImage: function (path, dpr) {\n dpr = dpr || this.dpr;\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var rect = path.getBoundingRect();\n var style = path.style;\n var shadowBlurSize = style.shadowBlur * dpr;\n var shadowOffsetX = style.shadowOffsetX * dpr;\n var shadowOffsetY = style.shadowOffsetY * dpr;\n var lineWidth = style.hasStroke() ? style.lineWidth : 0;\n var leftMargin = Math.max(lineWidth / 2, -shadowOffsetX + shadowBlurSize);\n var rightMargin = Math.max(lineWidth / 2, shadowOffsetX + shadowBlurSize);\n var topMargin = Math.max(lineWidth / 2, -shadowOffsetY + shadowBlurSize);\n var bottomMargin = Math.max(lineWidth / 2, shadowOffsetY + shadowBlurSize);\n var width = rect.width + leftMargin + rightMargin;\n var height = rect.height + topMargin + bottomMargin;\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n ctx.scale(dpr, dpr);\n ctx.clearRect(0, 0, width, height);\n ctx.dpr = dpr;\n var pathTransform = {\n position: path.position,\n rotation: path.rotation,\n scale: path.scale\n };\n path.position = [leftMargin - rect.x, topMargin - rect.y];\n path.rotation = 0;\n path.scale = [1, 1];\n path.updateTransform();\n\n if (path) {\n path.brush(ctx);\n }\n\n var ImageShape = Image;\n var imgShape = new ImageShape({\n style: {\n x: 0,\n y: 0,\n image: canvas\n }\n });\n\n if (pathTransform.position != null) {\n imgShape.position = path.position = pathTransform.position;\n }\n\n if (pathTransform.rotation != null) {\n imgShape.rotation = path.rotation = pathTransform.rotation;\n }\n\n if (pathTransform.scale != null) {\n imgShape.scale = path.scale = pathTransform.scale;\n }\n\n return imgShape;\n }\n};\nvar _default = Painter;\nmodule.exports = _default;","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar textContain = require(\"zrender/lib/contain/text\");\n\nvar numberUtil = require(\"./number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// import Text from 'zrender/src/graphic/Text';\n\n/**\n * add commas after every three numbers\n * @param {string|number} x\n * @return {string}\n */\nfunction addCommas(x) {\n if (isNaN(x)) {\n return '-';\n }\n\n x = (x + '').split('.');\n return x[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g, '$1,') + (x.length > 1 ? '.' + x[1] : '');\n}\n/**\n * @param {string} str\n * @param {boolean} [upperCaseFirst=false]\n * @return {string} str\n */\n\n\nfunction toCamelCase(str, upperCaseFirst) {\n str = (str || '').toLowerCase().replace(/-(.)/g, function (match, group1) {\n return group1.toUpperCase();\n });\n\n if (upperCaseFirst && str) {\n str = str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n return str;\n}\n\nvar normalizeCssArray = zrUtil.normalizeCssArray;\nvar replaceReg = /([&<>\"'])/g;\nvar replaceMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\n\nfunction encodeHTML(source) {\n return source == null ? '' : (source + '').replace(replaceReg, function (str, c) {\n return replaceMap[c];\n });\n}\n\nvar TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];\n\nvar wrapVar = function (varName, seriesIdx) {\n return '{' + varName + (seriesIdx == null ? '' : seriesIdx) + '}';\n};\n/**\n * Template formatter\n * @param {string} tpl\n * @param {Array.|Object} paramsList\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTpl(tpl, paramsList, encode) {\n if (!zrUtil.isArray(paramsList)) {\n paramsList = [paramsList];\n }\n\n var seriesLen = paramsList.length;\n\n if (!seriesLen) {\n return '';\n }\n\n var $vars = paramsList[0].$vars || [];\n\n for (var i = 0; i < $vars.length; i++) {\n var alias = TPL_VAR_ALIAS[i];\n tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));\n }\n\n for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {\n for (var k = 0; k < $vars.length; k++) {\n var val = paramsList[seriesIdx][$vars[k]];\n tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? encodeHTML(val) : val);\n }\n }\n\n return tpl;\n}\n/**\n * simple Template formatter\n *\n * @param {string} tpl\n * @param {Object} param\n * @param {boolean} [encode=false]\n * @return {string}\n */\n\n\nfunction formatTplSimple(tpl, param, encode) {\n zrUtil.each(param, function (value, key) {\n tpl = tpl.replace('{' + key + '}', encode ? encodeHTML(value) : value);\n });\n return tpl;\n}\n/**\n * @param {Object|string} [opt] If string, means color.\n * @param {string} [opt.color]\n * @param {string} [opt.extraCssText]\n * @param {string} [opt.type='item'] 'item' or 'subItem'\n * @param {string} [opt.renderMode='html'] render mode of tooltip, 'html' or 'richText'\n * @param {string} [opt.markerId='X'] id name for marker. If only one marker is in a rich text, this can be omitted.\n * @return {string}\n */\n\n\nfunction getTooltipMarker(opt, extraCssText) {\n opt = zrUtil.isString(opt) ? {\n color: opt,\n extraCssText: extraCssText\n } : opt || {};\n var color = opt.color;\n var type = opt.type;\n var extraCssText = opt.extraCssText;\n var renderMode = opt.renderMode || 'html';\n var markerId = opt.markerId || 'X';\n\n if (!color) {\n return '';\n }\n\n if (renderMode === 'html') {\n return type === 'subItem' ? '' : '';\n } else {\n // Space for rich element marker\n return {\n renderMode: renderMode,\n content: '{marker' + markerId + '|} ',\n style: {\n color: color\n }\n };\n }\n}\n\nfunction pad(str, len) {\n str += '';\n return '0000'.substr(0, len - str.length) + str;\n}\n/**\n * ISO Date format\n * @param {string} tpl\n * @param {number} value\n * @param {boolean} [isUTC=false] Default in local time.\n * see `module:echarts/scale/Time`\n * and `module:echarts/util/number#parseDate`.\n * @inner\n */\n\n\nfunction formatTime(tpl, value, isUTC) {\n if (tpl === 'week' || tpl === 'month' || tpl === 'quarter' || tpl === 'half-year' || tpl === 'year') {\n tpl = 'MM-dd\\nyyyy';\n }\n\n var date = numberUtil.parseDate(value);\n var utc = isUTC ? 'UTC' : '';\n var y = date['get' + utc + 'FullYear']();\n var M = date['get' + utc + 'Month']() + 1;\n var d = date['get' + utc + 'Date']();\n var h = date['get' + utc + 'Hours']();\n var m = date['get' + utc + 'Minutes']();\n var s = date['get' + utc + 'Seconds']();\n var S = date['get' + utc + 'Milliseconds']();\n tpl = tpl.replace('MM', pad(M, 2)).replace('M', M).replace('yyyy', y).replace('yy', y % 100).replace('dd', pad(d, 2)).replace('d', d).replace('hh', pad(h, 2)).replace('h', h).replace('mm', pad(m, 2)).replace('m', m).replace('ss', pad(s, 2)).replace('s', s).replace('SSS', pad(S, 3));\n return tpl;\n}\n/**\n * Capital first\n * @param {string} str\n * @return {string}\n */\n\n\nfunction capitalFirst(str) {\n return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;\n}\n\nvar truncateText = textContain.truncateText;\n/**\n * @public\n * @param {Object} opt\n * @param {string} opt.text\n * @param {string} opt.font\n * @param {string} [opt.textAlign='left']\n * @param {string} [opt.textVerticalAlign='top']\n * @param {Array.} [opt.textPadding]\n * @param {number} [opt.textLineHeight]\n * @param {Object} [opt.rich]\n * @param {Object} [opt.truncate]\n * @return {Object} {x, y, width, height, lineHeight}\n */\n\nfunction getTextBoundingRect(opt) {\n return textContain.getBoundingRect(opt.text, opt.font, opt.textAlign, opt.textVerticalAlign, opt.textPadding, opt.textLineHeight, opt.rich, opt.truncate);\n}\n/**\n * @deprecated\n * the `textLineHeight` was added later.\n * For backward compatiblility, put it as the last parameter.\n * But deprecated this interface. Please use `getTextBoundingRect` instead.\n */\n\n\nfunction getTextRect(text, font, textAlign, textVerticalAlign, textPadding, rich, truncate, textLineHeight) {\n return textContain.getBoundingRect(text, font, textAlign, textVerticalAlign, textPadding, textLineHeight, rich, truncate);\n}\n/**\n * open new tab\n * @param {string} link url\n * @param {string} target blank or self\n */\n\n\nfunction windowOpen(link, target) {\n if (target === '_blank' || target === 'blank') {\n var blank = window.open();\n blank.opener = null;\n blank.location = link;\n } else {\n window.open(link, target);\n }\n}\n\nexports.addCommas = addCommas;\nexports.toCamelCase = toCamelCase;\nexports.normalizeCssArray = normalizeCssArray;\nexports.encodeHTML = encodeHTML;\nexports.formatTpl = formatTpl;\nexports.formatTplSimple = formatTplSimple;\nexports.getTooltipMarker = getTooltipMarker;\nexports.formatTime = formatTime;\nexports.capitalFirst = capitalFirst;\nexports.truncateText = truncateText;\nexports.getTextBoundingRect = getTextBoundingRect;\nexports.getTextRect = getTextRect;\nexports.windowOpen = windowOpen;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar List = require(\"../../data/List\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar TimelineModel = ComponentModel.extend({\n type: 'timeline',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 4,\n // 二级层叠\n show: true,\n axisType: 'time',\n // 模式是时间类型,支持 value, category\n realtime: true,\n left: '20%',\n top: null,\n right: '20%',\n bottom: 0,\n width: null,\n height: 40,\n padding: 5,\n controlPosition: 'left',\n // 'left' 'right' 'top' 'bottom' 'none'\n autoPlay: false,\n rewind: false,\n // 反向播放\n loop: true,\n playInterval: 2000,\n // 播放时间间隔,单位ms\n currentIndex: 0,\n itemStyle: {},\n label: {\n color: '#000'\n },\n data: []\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * @private\n * @type {module:echarts/data/List}\n */\n this._data;\n /**\n * @private\n * @type {Array.}\n */\n\n this._names;\n this.mergeDefaultAndTheme(option, ecModel);\n\n this._initData();\n },\n\n /**\n * @override\n */\n mergeOption: function (option) {\n TimelineModel.superApply(this, 'mergeOption', arguments);\n\n this._initData();\n },\n\n /**\n * @param {number} [currentIndex]\n */\n setCurrentIndex: function (currentIndex) {\n if (currentIndex == null) {\n currentIndex = this.option.currentIndex;\n }\n\n var count = this._data.count();\n\n if (this.option.loop) {\n currentIndex = (currentIndex % count + count) % count;\n } else {\n currentIndex >= count && (currentIndex = count - 1);\n currentIndex < 0 && (currentIndex = 0);\n }\n\n this.option.currentIndex = currentIndex;\n },\n\n /**\n * @return {number} currentIndex\n */\n getCurrentIndex: function () {\n return this.option.currentIndex;\n },\n\n /**\n * @return {boolean}\n */\n isIndexMax: function () {\n return this.getCurrentIndex() >= this._data.count() - 1;\n },\n\n /**\n * @param {boolean} state true: play, false: stop\n */\n setPlayState: function (state) {\n this.option.autoPlay = !!state;\n },\n\n /**\n * @return {boolean} true: play, false: stop\n */\n getPlayState: function () {\n return !!this.option.autoPlay;\n },\n\n /**\n * @private\n */\n _initData: function () {\n var thisOption = this.option;\n var dataArr = thisOption.data || [];\n var axisType = thisOption.axisType;\n var names = this._names = [];\n\n if (axisType === 'category') {\n var idxArr = [];\n zrUtil.each(dataArr, function (item, index) {\n var value = modelUtil.getDataItemValue(item);\n var newItem;\n\n if (zrUtil.isObject(item)) {\n newItem = zrUtil.clone(item);\n newItem.value = index;\n } else {\n newItem = index;\n }\n\n idxArr.push(newItem);\n\n if (!zrUtil.isString(value) && (value == null || isNaN(value))) {\n value = '';\n }\n\n names.push(value + '');\n });\n dataArr = idxArr;\n }\n\n var dimType = {\n category: 'ordinal',\n time: 'time'\n }[axisType] || 'number';\n var data = this._data = new List([{\n name: 'value',\n type: dimType\n }], this);\n data.initData(dataArr, names);\n },\n getData: function () {\n return this._data;\n },\n\n /**\n * @public\n * @return {Array.} categoreis\n */\n getCategories: function () {\n if (this.get('axisType') === 'category') {\n return this._names.slice();\n }\n }\n});\nvar _default = TimelineModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(axisModel, opt) {\n opt = opt || {};\n var single = axisModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var axisPosition = axis.position;\n var orient = axis.orient;\n var rect = single.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var positionMap = {\n horizontal: {\n top: rectBound[2],\n bottom: rectBound[3]\n },\n vertical: {\n left: rectBound[0],\n right: rectBound[1]\n }\n };\n layout.position = [orient === 'vertical' ? positionMap.vertical[axisPosition] : rectBound[0], orient === 'horizontal' ? positionMap.horizontal[axisPosition] : rectBound[3]];\n var r = {\n horizontal: 0,\n vertical: 1\n };\n layout.rotation = Math.PI / 2 * r[orient];\n var directionMap = {\n top: -1,\n bottom: 1,\n right: 1,\n left: -1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = directionMap[axisPosition];\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n }\n\n var labelRotation = opt.rotate;\n labelRotation == null && (labelRotation = axisModel.get('axisLabel.rotate'));\n layout.labelRotation = axisPosition === 'top' ? -labelRotation : labelRotation;\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar isString = _util.isString;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Note that it is too complicated to support 3d stack by value\n * (have to create two-dimension inverted index), so in 3d case\n * we just support that stacked by index.\n *\n * @param {module:echarts/model/Series} seriesModel\n * @param {Array.} dimensionInfoList The same as the input of .\n * The input dimensionInfoList will be modified.\n * @param {Object} [opt]\n * @param {boolean} [opt.stackedCoordDimension=''] Specify a coord dimension if needed.\n * @param {boolean} [opt.byIndex=false]\n * @return {Object} calculationInfo\n * {\n * stackedDimension: string\n * stackedByDimension: string\n * isStackedByIndex: boolean\n * stackedOverDimension: string\n * stackResultDimension: string\n * }\n */\nfunction enableDataStack(seriesModel, dimensionInfoList, opt) {\n opt = opt || {};\n var byIndex = opt.byIndex;\n var stackedCoordDimension = opt.stackedCoordDimension; // Compatibal: when `stack` is set as '', do not stack.\n\n var mayStack = !!(seriesModel && seriesModel.get('stack'));\n var stackedByDimInfo;\n var stackedDimInfo;\n var stackResultDimension;\n var stackedOverDimension;\n each(dimensionInfoList, function (dimensionInfo, index) {\n if (isString(dimensionInfo)) {\n dimensionInfoList[index] = dimensionInfo = {\n name: dimensionInfo\n };\n }\n\n if (mayStack && !dimensionInfo.isExtraCoord) {\n // Find the first ordinal dimension as the stackedByDimInfo.\n if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {\n stackedByDimInfo = dimensionInfo;\n } // Find the first stackable dimension as the stackedDimInfo.\n\n\n if (!stackedDimInfo && dimensionInfo.type !== 'ordinal' && dimensionInfo.type !== 'time' && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {\n stackedDimInfo = dimensionInfo;\n }\n }\n });\n\n if (stackedDimInfo && !byIndex && !stackedByDimInfo) {\n // Compatible with previous design, value axis (time axis) only stack by index.\n // It may make sense if the user provides elaborately constructed data.\n byIndex = true;\n } // Add stack dimension, they can be both calculated by coordinate system in `unionExtent`.\n // That put stack logic in List is for using conveniently in echarts extensions, but it\n // might not be a good way.\n\n\n if (stackedDimInfo) {\n // Use a weird name that not duplicated with other names.\n stackResultDimension = '__\\0ecstackresult';\n stackedOverDimension = '__\\0ecstackedover'; // Create inverted index to fast query index by value.\n\n if (stackedByDimInfo) {\n stackedByDimInfo.createInvertedIndices = true;\n }\n\n var stackedDimCoordDim = stackedDimInfo.coordDim;\n var stackedDimType = stackedDimInfo.type;\n var stackedDimCoordIndex = 0;\n each(dimensionInfoList, function (dimensionInfo) {\n if (dimensionInfo.coordDim === stackedDimCoordDim) {\n stackedDimCoordIndex++;\n }\n });\n dimensionInfoList.push({\n name: stackResultDimension,\n coordDim: stackedDimCoordDim,\n coordDimIndex: stackedDimCoordIndex,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true\n });\n stackedDimCoordIndex++;\n dimensionInfoList.push({\n name: stackedOverDimension,\n // This dimension contains stack base (generally, 0), so do not set it as\n // `stackedDimCoordDim` to avoid extent calculation, consider log scale.\n coordDim: stackedOverDimension,\n coordDimIndex: stackedDimCoordIndex,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true\n });\n }\n\n return {\n stackedDimension: stackedDimInfo && stackedDimInfo.name,\n stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,\n isStackedByIndex: byIndex,\n stackedOverDimension: stackedOverDimension,\n stackResultDimension: stackResultDimension\n };\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {string} stackedDim\n */\n\n\nfunction isDimensionStacked(data, stackedDim\n/*, stackedByDim*/\n) {\n // Each single series only maps to one pair of axis. So we do not need to\n // check stackByDim, whatever stacked by a dimension or stacked by index.\n return !!stackedDim && stackedDim === data.getCalculationInfo('stackedDimension'); // && (\n // stackedByDim != null\n // ? stackedByDim === data.getCalculationInfo('stackedByDimension')\n // : data.getCalculationInfo('isStackedByIndex')\n // );\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {string} targetDim\n * @param {string} [stackedByDim] If not input this parameter, check whether\n * stacked by index.\n * @return {string} dimension\n */\n\n\nfunction getStackedDimension(data, targetDim) {\n return isDimensionStacked(data, targetDim) ? data.getCalculationInfo('stackResultDimension') : targetDim;\n}\n\nexports.enableDataStack = enableDataStack;\nexports.isDimensionStacked = isDimensionStacked;\nexports.getStackedDimension = getStackedDimension;","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar MONTH_TEXT = {\n EN: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n CN: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']\n};\nvar WEEK_TEXT = {\n EN: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n CN: ['日', '一', '二', '三', '四', '五', '六']\n};\n\nvar _default = echarts.extendComponentView({\n type: 'calendar',\n\n /**\n * top/left line points\n * @private\n */\n _tlpoints: null,\n\n /**\n * bottom/right line points\n * @private\n */\n _blpoints: null,\n\n /**\n * first day of month\n * @private\n */\n _firstDayOfMonth: null,\n\n /**\n * first day point of month\n * @private\n */\n _firstDayPoints: null,\n render: function (calendarModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n var coordSys = calendarModel.coordinateSystem; // range info\n\n var rangeData = coordSys.getRangeInfo();\n var orient = coordSys.getOrient();\n\n this._renderDayRect(calendarModel, rangeData, group); // _renderLines must be called prior to following function\n\n\n this._renderLines(calendarModel, rangeData, orient, group);\n\n this._renderYearText(calendarModel, rangeData, orient, group);\n\n this._renderMonthText(calendarModel, orient, group);\n\n this._renderWeekText(calendarModel, rangeData, orient, group);\n },\n // render day rect\n _renderDayRect: function (calendarModel, rangeData, group) {\n var coordSys = calendarModel.coordinateSystem;\n var itemRectStyleModel = calendarModel.getModel('itemStyle').getItemStyle();\n var sw = coordSys.getCellWidth();\n var sh = coordSys.getCellHeight();\n\n for (var i = rangeData.start.time; i <= rangeData.end.time; i = coordSys.getNextNDay(i, 1).time) {\n var point = coordSys.dataToRect([i], false).tl; // every rect\n\n var rect = new graphic.Rect({\n shape: {\n x: point[0],\n y: point[1],\n width: sw,\n height: sh\n },\n cursor: 'default',\n style: itemRectStyleModel\n });\n group.add(rect);\n }\n },\n // render separate line\n _renderLines: function (calendarModel, rangeData, orient, group) {\n var self = this;\n var coordSys = calendarModel.coordinateSystem;\n var lineStyleModel = calendarModel.getModel('splitLine.lineStyle').getLineStyle();\n var show = calendarModel.get('splitLine.show');\n var lineWidth = lineStyleModel.lineWidth;\n this._tlpoints = [];\n this._blpoints = [];\n this._firstDayOfMonth = [];\n this._firstDayPoints = [];\n var firstDay = rangeData.start;\n\n for (var i = 0; firstDay.time <= rangeData.end.time; i++) {\n addPoints(firstDay.formatedDate);\n\n if (i === 0) {\n firstDay = coordSys.getDateInfo(rangeData.start.y + '-' + rangeData.start.m);\n }\n\n var date = firstDay.date;\n date.setMonth(date.getMonth() + 1);\n firstDay = coordSys.getDateInfo(date);\n }\n\n addPoints(coordSys.getNextNDay(rangeData.end.time, 1).formatedDate);\n\n function addPoints(date) {\n self._firstDayOfMonth.push(coordSys.getDateInfo(date));\n\n self._firstDayPoints.push(coordSys.dataToRect([date], false).tl);\n\n var points = self._getLinePointsOfOneWeek(calendarModel, date, orient);\n\n self._tlpoints.push(points[0]);\n\n self._blpoints.push(points[points.length - 1]);\n\n show && self._drawSplitline(points, lineStyleModel, group);\n } // render top/left line\n\n\n show && this._drawSplitline(self._getEdgesPoints(self._tlpoints, lineWidth, orient), lineStyleModel, group); // render bottom/right line\n\n show && this._drawSplitline(self._getEdgesPoints(self._blpoints, lineWidth, orient), lineStyleModel, group);\n },\n // get points at both ends\n _getEdgesPoints: function (points, lineWidth, orient) {\n var rs = [points[0].slice(), points[points.length - 1].slice()];\n var idx = orient === 'horizontal' ? 0 : 1; // both ends of the line are extend half lineWidth\n\n rs[0][idx] = rs[0][idx] - lineWidth / 2;\n rs[1][idx] = rs[1][idx] + lineWidth / 2;\n return rs;\n },\n // render split line\n _drawSplitline: function (points, lineStyleModel, group) {\n var poyline = new graphic.Polyline({\n z2: 20,\n shape: {\n points: points\n },\n style: lineStyleModel\n });\n group.add(poyline);\n },\n // render month line of one week points\n _getLinePointsOfOneWeek: function (calendarModel, date, orient) {\n var coordSys = calendarModel.coordinateSystem;\n date = coordSys.getDateInfo(date);\n var points = [];\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(date.time, i);\n var point = coordSys.dataToRect([tmpD.time], false);\n points[2 * tmpD.day] = point.tl;\n points[2 * tmpD.day + 1] = point[orient === 'horizontal' ? 'bl' : 'tr'];\n }\n\n return points;\n },\n _formatterLabel: function (formatter, params) {\n if (typeof formatter === 'string' && formatter) {\n return formatUtil.formatTplSimple(formatter, params);\n }\n\n if (typeof formatter === 'function') {\n return formatter(params);\n }\n\n return params.nameMap;\n },\n _yearTextPositionControl: function (textEl, point, orient, position, margin) {\n point = point.slice();\n var aligns = ['center', 'bottom'];\n\n if (position === 'bottom') {\n point[1] += margin;\n aligns = ['center', 'top'];\n } else if (position === 'left') {\n point[0] -= margin;\n } else if (position === 'right') {\n point[0] += margin;\n aligns = ['center', 'top'];\n } else {\n // top\n point[1] -= margin;\n }\n\n var rotate = 0;\n\n if (position === 'left' || position === 'right') {\n rotate = Math.PI / 2;\n }\n\n return {\n rotation: rotate,\n position: point,\n style: {\n textAlign: aligns[0],\n textVerticalAlign: aligns[1]\n }\n };\n },\n // render year\n _renderYearText: function (calendarModel, rangeData, orient, group) {\n var yearLabel = calendarModel.getModel('yearLabel');\n\n if (!yearLabel.get('show')) {\n return;\n }\n\n var margin = yearLabel.get('margin');\n var pos = yearLabel.get('position');\n\n if (!pos) {\n pos = orient !== 'horizontal' ? 'top' : 'left';\n }\n\n var points = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]];\n var xc = (points[0][0] + points[1][0]) / 2;\n var yc = (points[0][1] + points[1][1]) / 2;\n var idx = orient === 'horizontal' ? 0 : 1;\n var posPoints = {\n top: [xc, points[idx][1]],\n bottom: [xc, points[1 - idx][1]],\n left: [points[1 - idx][0], yc],\n right: [points[idx][0], yc]\n };\n var name = rangeData.start.y;\n\n if (+rangeData.end.y > +rangeData.start.y) {\n name = name + '-' + rangeData.end.y;\n }\n\n var formatter = yearLabel.get('formatter');\n var params = {\n start: rangeData.start.y,\n end: rangeData.end.y,\n nameMap: name\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var yearText = new graphic.Text({\n z2: 30\n });\n graphic.setTextStyle(yearText.style, yearLabel, {\n text: content\n }), yearText.attr(this._yearTextPositionControl(yearText, posPoints[pos], orient, pos, margin));\n group.add(yearText);\n },\n _monthTextPositionControl: function (point, isCenter, orient, position, margin) {\n var align = 'left';\n var vAlign = 'top';\n var x = point[0];\n var y = point[1];\n\n if (orient === 'horizontal') {\n y = y + margin;\n\n if (isCenter) {\n align = 'center';\n }\n\n if (position === 'start') {\n vAlign = 'bottom';\n }\n } else {\n x = x + margin;\n\n if (isCenter) {\n vAlign = 'middle';\n }\n\n if (position === 'start') {\n align = 'right';\n }\n }\n\n return {\n x: x,\n y: y,\n textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render month and year text\n _renderMonthText: function (calendarModel, orient, group) {\n var monthLabel = calendarModel.getModel('monthLabel');\n\n if (!monthLabel.get('show')) {\n return;\n }\n\n var nameMap = monthLabel.get('nameMap');\n var margin = monthLabel.get('margin');\n var pos = monthLabel.get('position');\n var align = monthLabel.get('align');\n var termPoints = [this._tlpoints, this._blpoints];\n\n if (zrUtil.isString(nameMap)) {\n nameMap = MONTH_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var idx = pos === 'start' ? 0 : 1;\n var axis = orient === 'horizontal' ? 0 : 1;\n margin = pos === 'start' ? -margin : margin;\n var isCenter = align === 'center';\n\n for (var i = 0; i < termPoints[idx].length - 1; i++) {\n var tmp = termPoints[idx][i].slice();\n var firstDay = this._firstDayOfMonth[i];\n\n if (isCenter) {\n var firstDayPoints = this._firstDayPoints[i];\n tmp[axis] = (firstDayPoints[axis] + termPoints[0][i + 1][axis]) / 2;\n }\n\n var formatter = monthLabel.get('formatter');\n var name = nameMap[+firstDay.m - 1];\n var params = {\n yyyy: firstDay.y,\n yy: (firstDay.y + '').slice(2),\n MM: firstDay.m,\n M: +firstDay.m,\n nameMap: name\n };\n\n var content = this._formatterLabel(formatter, params);\n\n var monthText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(monthText.style, monthLabel, {\n text: content\n }), this._monthTextPositionControl(tmp, isCenter, orient, pos, margin));\n group.add(monthText);\n }\n },\n _weekTextPositionControl: function (point, orient, position, margin, cellSize) {\n var align = 'center';\n var vAlign = 'middle';\n var x = point[0];\n var y = point[1];\n var isStart = position === 'start';\n\n if (orient === 'horizontal') {\n x = x + margin + (isStart ? 1 : -1) * cellSize[0] / 2;\n align = isStart ? 'right' : 'left';\n } else {\n y = y + margin + (isStart ? 1 : -1) * cellSize[1] / 2;\n vAlign = isStart ? 'bottom' : 'top';\n }\n\n return {\n x: x,\n y: y,\n textAlign: align,\n textVerticalAlign: vAlign\n };\n },\n // render weeks\n _renderWeekText: function (calendarModel, rangeData, orient, group) {\n var dayLabel = calendarModel.getModel('dayLabel');\n\n if (!dayLabel.get('show')) {\n return;\n }\n\n var coordSys = calendarModel.coordinateSystem;\n var pos = dayLabel.get('position');\n var nameMap = dayLabel.get('nameMap');\n var margin = dayLabel.get('margin');\n var firstDayOfWeek = coordSys.getFirstDayOfWeek();\n\n if (zrUtil.isString(nameMap)) {\n nameMap = WEEK_TEXT[nameMap.toUpperCase()] || [];\n }\n\n var start = coordSys.getNextNDay(rangeData.end.time, 7 - rangeData.lweek).time;\n var cellSize = [coordSys.getCellWidth(), coordSys.getCellHeight()];\n margin = numberUtil.parsePercent(margin, cellSize[orient === 'horizontal' ? 0 : 1]);\n\n if (pos === 'start') {\n start = coordSys.getNextNDay(rangeData.start.time, -(7 + rangeData.fweek)).time;\n margin = -margin;\n }\n\n for (var i = 0; i < 7; i++) {\n var tmpD = coordSys.getNextNDay(start, i);\n var point = coordSys.dataToRect([tmpD.time], false).center;\n var day = i;\n day = Math.abs((i + firstDayOfWeek) % 7);\n var weekText = new graphic.Text({\n z2: 30\n });\n zrUtil.extend(graphic.setTextStyle(weekText.style, dayLabel, {\n text: nameMap[day]\n }), this._weekTextPositionControl(point, orient, pos, margin, cellSize));\n group.add(weekText);\n }\n }\n});\n\nmodule.exports = _default;","var PathProxy = require(\"../core/PathProxy\");\n\nvar _vector = require(\"../core/vector\");\n\nvar v2ApplyTransform = _vector.applyTransform;\nvar CMD = PathProxy.CMD;\nvar points = [[], [], []];\nvar mathSqrt = Math.sqrt;\nvar mathAtan2 = Math.atan2;\n\nfunction _default(path, m) {\n var data = path.data;\n var cmd;\n var nPoint;\n var i;\n var j;\n var k;\n var p;\n var M = CMD.M;\n var C = CMD.C;\n var L = CMD.L;\n var R = CMD.R;\n var A = CMD.A;\n var Q = CMD.Q;\n\n for (i = 0, j = 0; i < data.length;) {\n cmd = data[i++];\n j = i;\n nPoint = 0;\n\n switch (cmd) {\n case M:\n nPoint = 1;\n break;\n\n case L:\n nPoint = 1;\n break;\n\n case C:\n nPoint = 3;\n break;\n\n case Q:\n nPoint = 2;\n break;\n\n case A:\n var x = m[4];\n var y = m[5];\n var sx = mathSqrt(m[0] * m[0] + m[1] * m[1]);\n var sy = mathSqrt(m[2] * m[2] + m[3] * m[3]);\n var angle = mathAtan2(-m[1] / sy, m[0] / sx); // cx\n\n data[i] *= sx;\n data[i++] += x; // cy\n\n data[i] *= sy;\n data[i++] += y; // Scale rx and ry\n // FIXME Assume psi is 0 here\n\n data[i++] *= sx;\n data[i++] *= sy; // Start angle\n\n data[i++] += angle; // end angle\n\n data[i++] += angle; // FIXME psi\n\n i += 2;\n j = i;\n break;\n\n case R:\n // x0, y0\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1]; // x1, y1\n\n p[0] += data[i++];\n p[1] += data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1];\n }\n\n for (k = 0; k < nPoint; k++) {\n var p = points[k];\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m); // Write back\n\n data[j++] = p[0];\n data[j++] = p[1];\n }\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./timeline/preprocessor\");\n\nrequire(\"./timeline/typeDefaulter\");\n\nrequire(\"./timeline/timelineAction\");\n\nrequire(\"./timeline/SliderTimelineModel\");\n\nrequire(\"./timeline/SliderTimelineView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction normalize(a) {\n if (!(a instanceof Array)) {\n a = [a, a];\n }\n\n return a;\n}\n\nvar opacityQuery = 'lineStyle.opacity'.split('.');\nvar _default = {\n seriesType: 'lines',\n reset: function (seriesModel, ecModel, api) {\n var symbolType = normalize(seriesModel.get('symbol'));\n var symbolSize = normalize(seriesModel.get('symbolSize'));\n var data = seriesModel.getData();\n data.setVisual('fromSymbol', symbolType && symbolType[0]);\n data.setVisual('toSymbol', symbolType && symbolType[1]);\n data.setVisual('fromSymbolSize', symbolSize && symbolSize[0]);\n data.setVisual('toSymbolSize', symbolSize && symbolSize[1]);\n data.setVisual('opacity', seriesModel.get(opacityQuery));\n\n function dataEach(data, idx) {\n var itemModel = data.getItemModel(idx);\n var symbolType = normalize(itemModel.getShallow('symbol', true));\n var symbolSize = normalize(itemModel.getShallow('symbolSize', true));\n var opacity = itemModel.get(opacityQuery);\n symbolType[0] && data.setItemVisual(idx, 'fromSymbol', symbolType[0]);\n symbolType[1] && data.setItemVisual(idx, 'toSymbol', symbolType[1]);\n symbolSize[0] && data.setItemVisual(idx, 'fromSymbolSize', symbolSize[0]);\n symbolSize[1] && data.setItemVisual(idx, 'toSymbolSize', symbolSize[1]);\n data.setItemVisual(idx, 'opacity', opacity);\n }\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n};\nmodule.exports = _default;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 86);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 86:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"button\",\n {\n staticClass: \"el-button\",\n class: [\n _vm.type ? \"el-button--\" + _vm.type : \"\",\n _vm.buttonSize ? \"el-button--\" + _vm.buttonSize : \"\",\n {\n \"is-disabled\": _vm.buttonDisabled,\n \"is-loading\": _vm.loading,\n \"is-plain\": _vm.plain,\n \"is-round\": _vm.round,\n \"is-circle\": _vm.circle\n }\n ],\n attrs: {\n disabled: _vm.buttonDisabled || _vm.loading,\n autofocus: _vm.autofocus,\n type: _vm.nativeType\n },\n on: { click: _vm.handleClick }\n },\n [\n _vm.loading ? _c(\"i\", { staticClass: \"el-icon-loading\" }) : _vm._e(),\n _vm.icon && !_vm.loading ? _c(\"i\", { class: _vm.icon }) : _vm._e(),\n _vm.$slots.default ? _c(\"span\", [_vm._t(\"default\")], 2) : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var buttonvue_type_script_lang_js_ = ({\n name: 'ElButton',\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n props: {\n type: {\n type: String,\n default: 'default'\n },\n size: String,\n icon: {\n type: String,\n default: ''\n },\n nativeType: {\n type: String,\n default: 'button'\n },\n loading: Boolean,\n disabled: Boolean,\n plain: Boolean,\n autofocus: Boolean,\n round: Boolean,\n circle: Boolean\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n buttonSize: function buttonSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n buttonDisabled: function buttonDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n }\n },\n\n methods: {\n handleClick: function handleClick(evt) {\n this.$emit('click', evt);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/button/src/button.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_buttonvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/button/src/button.vue\"\n/* harmony default export */ var src_button = (component.exports);\n// CONCATENATED MODULE: ./packages/button/index.js\n\n\n/* istanbul ignore next */\nsrc_button.install = function (Vue) {\n Vue.component(src_button.name, src_button);\n};\n\n/* harmony default export */ var packages_button = __webpack_exports__[\"default\"] = (src_button);\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Geo = require(\"./Geo\");\n\nvar layout = require(\"../../util/layout\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\nvar mapDataStorage = require(\"./mapDataStorage\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Resize method bound to the geo\n * @param {module:echarts/coord/geo/GeoModel|module:echarts/chart/map/MapModel} geoModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction resizeGeo(geoModel, api) {\n var boundingCoords = geoModel.get('boundingCoords');\n\n if (boundingCoords != null) {\n var leftTop = boundingCoords[0];\n var rightBottom = boundingCoords[1];\n\n if (isNaN(leftTop[0]) || isNaN(leftTop[1]) || isNaN(rightBottom[0]) || isNaN(rightBottom[1])) {} else {\n this.setBoundingRect(leftTop[0], leftTop[1], rightBottom[0] - leftTop[0], rightBottom[1] - leftTop[1]);\n }\n }\n\n var rect = this.getBoundingRect();\n var boxLayoutOption;\n var center = geoModel.get('layoutCenter');\n var size = geoModel.get('layoutSize');\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n var aspect = rect.width / rect.height * this.aspectScale;\n var useCenterAndSize = false;\n\n if (center && size) {\n center = [numberUtil.parsePercent(center[0], viewWidth), numberUtil.parsePercent(center[1], viewHeight)];\n size = numberUtil.parsePercent(size, Math.min(viewWidth, viewHeight));\n\n if (!isNaN(center[0]) && !isNaN(center[1]) && !isNaN(size)) {\n useCenterAndSize = true;\n } else {}\n }\n\n var viewRect;\n\n if (useCenterAndSize) {\n var viewRect = {};\n\n if (aspect > 1) {\n // Width is same with size\n viewRect.width = size;\n viewRect.height = size / aspect;\n } else {\n viewRect.height = size;\n viewRect.width = size * aspect;\n }\n\n viewRect.y = center[1] - viewRect.height / 2;\n viewRect.x = center[0] - viewRect.width / 2;\n } else {\n // Use left/top/width/height\n boxLayoutOption = geoModel.getBoxLayoutParams(); // 0.75 rate\n\n boxLayoutOption.aspect = aspect;\n viewRect = layout.getLayoutRect(boxLayoutOption, {\n width: viewWidth,\n height: viewHeight\n });\n }\n\n this.setViewRect(viewRect.x, viewRect.y, viewRect.width, viewRect.height);\n this.setCenter(geoModel.get('center'));\n this.setZoom(geoModel.get('zoom'));\n}\n/**\n * @param {module:echarts/coord/Geo} geo\n * @param {module:echarts/model/Model} model\n * @inner\n */\n\n\nfunction setGeoCoords(geo, model) {\n zrUtil.each(model.get('geoCoord'), function (geoCoord, name) {\n geo.addGeoCoord(name, geoCoord);\n });\n}\n\nvar geoCreator = {\n // For deciding which dimensions to use when creating list data\n dimensions: Geo.prototype.dimensions,\n create: function (ecModel, api) {\n var geoList = []; // FIXME Create each time may be slow\n\n ecModel.eachComponent('geo', function (geoModel, idx) {\n var name = geoModel.get('map');\n var aspectScale = geoModel.get('aspectScale');\n var invertLongitute = true;\n var mapRecords = mapDataStorage.retrieveMap(name);\n\n if (mapRecords && mapRecords[0] && mapRecords[0].type === 'svg') {\n aspectScale == null && (aspectScale = 1);\n invertLongitute = false;\n } else {\n aspectScale == null && (aspectScale = 0.75);\n }\n\n var geo = new Geo(name + idx, name, geoModel.get('nameMap'), invertLongitute);\n geo.aspectScale = aspectScale;\n geo.zoomLimit = geoModel.get('scaleLimit');\n geoList.push(geo);\n setGeoCoords(geo, geoModel);\n geoModel.coordinateSystem = geo;\n geo.model = geoModel; // Inject resize method\n\n geo.resize = resizeGeo;\n geo.resize(geoModel, api);\n });\n ecModel.eachSeries(function (seriesModel) {\n var coordSys = seriesModel.get('coordinateSystem');\n\n if (coordSys === 'geo') {\n var geoIndex = seriesModel.get('geoIndex') || 0;\n seriesModel.coordinateSystem = geoList[geoIndex];\n }\n }); // If has map series\n\n var mapModelGroupBySeries = {};\n ecModel.eachSeriesByType('map', function (seriesModel) {\n if (!seriesModel.getHostGeoModel()) {\n var mapType = seriesModel.getMapType();\n mapModelGroupBySeries[mapType] = mapModelGroupBySeries[mapType] || [];\n mapModelGroupBySeries[mapType].push(seriesModel);\n }\n });\n zrUtil.each(mapModelGroupBySeries, function (mapSeries, mapType) {\n var nameMapList = zrUtil.map(mapSeries, function (singleMapSeries) {\n return singleMapSeries.get('nameMap');\n });\n var geo = new Geo(mapType, mapType, zrUtil.mergeAll(nameMapList));\n geo.zoomLimit = zrUtil.retrieve.apply(null, zrUtil.map(mapSeries, function (singleMapSeries) {\n return singleMapSeries.get('scaleLimit');\n }));\n geoList.push(geo); // Inject resize method\n\n geo.resize = resizeGeo;\n geo.aspectScale = mapSeries[0].get('aspectScale');\n geo.resize(mapSeries[0], api);\n zrUtil.each(mapSeries, function (singleMapSeries) {\n singleMapSeries.coordinateSystem = geo;\n setGeoCoords(geo, singleMapSeries);\n });\n });\n return geoList;\n },\n\n /**\n * Fill given regions array\n * @param {Array.} originRegionArr\n * @param {string} mapName\n * @param {Object} [nameMap]\n * @return {Array}\n */\n getFilledRegions: function (originRegionArr, mapName, nameMap) {\n // Not use the original\n var regionsArr = (originRegionArr || []).slice();\n var dataNameMap = zrUtil.createHashMap();\n\n for (var i = 0; i < regionsArr.length; i++) {\n dataNameMap.set(regionsArr[i].name, regionsArr[i]);\n }\n\n var source = geoSourceManager.load(mapName, nameMap);\n zrUtil.each(source.regions, function (region) {\n var name = region.name;\n !dataNameMap.get(name) && regionsArr.push({\n name: name\n });\n });\n return regionsArr;\n }\n};\necharts.registerCoordinateSystem('geo', geoCreator);\nvar _default = geoCreator;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* Some formulas were originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment of the method \"step\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\nvar scaleAndAdd = vec2.scaleAndAdd; // function adjacentNode(n, e) {\n// return e.n1 === n ? e.n2 : e.n1;\n// }\n\nfunction forceLayout(nodes, edges, opts) {\n var rect = opts.rect;\n var width = rect.width;\n var height = rect.height;\n var center = [rect.x + width / 2, rect.y + height / 2]; // var scale = opts.scale || 1;\n\n var gravity = opts.gravity == null ? 0.1 : opts.gravity; // for (var i = 0; i < edges.length; i++) {\n // var e = edges[i];\n // var n1 = e.n1;\n // var n2 = e.n2;\n // n1.edges = n1.edges || [];\n // n2.edges = n2.edges || [];\n // n1.edges.push(e);\n // n2.edges.push(e);\n // }\n // Init position\n\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n\n if (!n.p) {\n n.p = vec2.create(width * (Math.random() - 0.5) + center[0], height * (Math.random() - 0.5) + center[1]);\n }\n\n n.pp = vec2.clone(n.p);\n n.edges = null;\n } // Formula in 'Graph Drawing by Force-directed Placement'\n // var k = scale * Math.sqrt(width * height / nodes.length);\n // var k2 = k * k;\n\n\n var initialFriction = opts.friction == null ? 0.6 : opts.friction;\n var friction = initialFriction;\n return {\n warmUp: function () {\n friction = initialFriction * 0.8;\n },\n setFixed: function (idx) {\n nodes[idx].fixed = true;\n },\n setUnfixed: function (idx) {\n nodes[idx].fixed = false;\n },\n\n /**\n * Some formulas were originally copied from \"d3.js\"\n * https://github.com/d3/d3/blob/b516d77fb8566b576088e73410437494717ada26/src/layout/force.js\n * with some modifications made for this project.\n * See the license statement at the head of this file.\n */\n step: function (cb) {\n var v12 = [];\n var nLen = nodes.length;\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n\n if (e.ignoreForceLayout) {\n continue;\n }\n\n var n1 = e.n1;\n var n2 = e.n2;\n vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12) - e.d;\n var w = n2.w / (n1.w + n2.w);\n\n if (isNaN(w)) {\n w = 0;\n }\n\n vec2.normalize(v12, v12);\n !n1.fixed && scaleAndAdd(n1.p, n1.p, v12, w * d * friction);\n !n2.fixed && scaleAndAdd(n2.p, n2.p, v12, -(1 - w) * d * friction);\n } // Gravity\n\n\n for (var i = 0; i < nLen; i++) {\n var n = nodes[i];\n\n if (!n.fixed) {\n vec2.sub(v12, center, n.p); // var d = vec2.len(v12);\n // vec2.scale(v12, v12, 1 / d);\n // var gravityFactor = gravity;\n\n scaleAndAdd(n.p, n.p, v12, gravity * friction);\n }\n } // Repulsive\n // PENDING\n\n\n for (var i = 0; i < nLen; i++) {\n var n1 = nodes[i];\n\n for (var j = i + 1; j < nLen; j++) {\n var n2 = nodes[j];\n vec2.sub(v12, n2.p, n1.p);\n var d = vec2.len(v12);\n\n if (d === 0) {\n // Random repulse\n vec2.set(v12, Math.random() - 0.5, Math.random() - 0.5);\n d = 1;\n }\n\n var repFact = (n1.rep + n2.rep) / d / d;\n !n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);\n !n2.fixed && scaleAndAdd(n2.pp, n2.pp, v12, -repFact);\n }\n }\n\n var v = [];\n\n for (var i = 0; i < nLen; i++) {\n var n = nodes[i];\n\n if (!n.fixed) {\n vec2.sub(v, n.p, n.pp);\n scaleAndAdd(n.p, n.p, v, friction);\n vec2.copy(n.pp, n.p);\n }\n }\n\n friction = friction * 0.992;\n cb && cb(nodes, edges, friction < 0.01);\n }\n };\n}\n\nexports.forceLayout = forceLayout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Calculate slider move result.\n * Usage:\n * (1) If both handle0 and handle1 are needed to be moved, set minSpan the same as\n * maxSpan and the same as `Math.abs(handleEnd[1] - handleEnds[0])`.\n * (2) If handle0 is forbidden to cross handle1, set minSpan as `0`.\n *\n * @param {number} delta Move length.\n * @param {Array.} handleEnds handleEnds[0] can be bigger then handleEnds[1].\n * handleEnds will be modified in this method.\n * @param {Array.} extent handleEnds is restricted by extent.\n * extent[0] should less or equals than extent[1].\n * @param {number|string} handleIndex Can be 'all', means that both move the two handleEnds.\n * @param {number} [minSpan] The range of dataZoom can not be smaller than that.\n * If not set, handle0 and cross handle1. If set as a non-negative\n * number (including `0`), handles will push each other when reaching\n * the minSpan.\n * @param {number} [maxSpan] The range of dataZoom can not be larger than that.\n * @return {Array.} The input handleEnds.\n */\nfunction _default(delta, handleEnds, extent, handleIndex, minSpan, maxSpan) {\n delta = delta || 0;\n var extentSpan = extent[1] - extent[0]; // Notice maxSpan and minSpan can be null/undefined.\n\n if (minSpan != null) {\n minSpan = restrict(minSpan, [0, extentSpan]);\n }\n\n if (maxSpan != null) {\n maxSpan = Math.max(maxSpan, minSpan != null ? minSpan : 0);\n }\n\n if (handleIndex === 'all') {\n var handleSpan = Math.abs(handleEnds[1] - handleEnds[0]);\n handleSpan = restrict(handleSpan, [0, extentSpan]);\n minSpan = maxSpan = restrict(handleSpan, [minSpan, maxSpan]);\n handleIndex = 0;\n }\n\n handleEnds[0] = restrict(handleEnds[0], extent);\n handleEnds[1] = restrict(handleEnds[1], extent);\n var originalDistSign = getSpanSign(handleEnds, handleIndex);\n handleEnds[handleIndex] += delta; // Restrict in extent.\n\n var extentMinSpan = minSpan || 0;\n var realExtent = extent.slice();\n originalDistSign.sign < 0 ? realExtent[0] += extentMinSpan : realExtent[1] -= extentMinSpan;\n handleEnds[handleIndex] = restrict(handleEnds[handleIndex], realExtent); // Expand span.\n\n var currDistSign = getSpanSign(handleEnds, handleIndex);\n\n if (minSpan != null && (currDistSign.sign !== originalDistSign.sign || currDistSign.span < minSpan)) {\n // If minSpan exists, 'cross' is forbidden.\n handleEnds[1 - handleIndex] = handleEnds[handleIndex] + originalDistSign.sign * minSpan;\n } // Shrink span.\n\n\n var currDistSign = getSpanSign(handleEnds, handleIndex);\n\n if (maxSpan != null && currDistSign.span > maxSpan) {\n handleEnds[1 - handleIndex] = handleEnds[handleIndex] + currDistSign.sign * maxSpan;\n }\n\n return handleEnds;\n}\n\nfunction getSpanSign(handleEnds, handleIndex) {\n var dist = handleEnds[handleIndex] - handleEnds[1 - handleIndex]; // If `handleEnds[0] === handleEnds[1]`, always believe that handleEnd[0]\n // is at left of handleEnds[1] for non-cross case.\n\n return {\n span: Math.abs(dist),\n sign: dist > 0 ? -1 : dist < 0 ? 1 : handleIndex ? -1 : 1\n };\n}\n\nfunction restrict(value, extend) {\n return Math.min(extend[1] != null ? extend[1] : Infinity, Math.max(extend[0] != null ? extend[0] : -Infinity, value));\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./line/LineSeries\");\n\nrequire(\"./line/LineView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\nvar dataSample = require(\"../processor/dataSample\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol('line', 'circle', 'line'));\necharts.registerLayout(layoutPoints('line')); // Down sample after filter\n\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, dataSample('line'));","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./tree/TreeSeries\");\n\nrequire(\"./tree/TreeView\");\n\nrequire(\"./tree/treeAction\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar treeLayout = require(\"./tree/treeLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol('tree', 'circle'));\necharts.registerLayout(treeLayout);","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.default = {\n el: {\n colorpicker: {\n confirm: '确定',\n clear: '清空'\n },\n datepicker: {\n now: '此刻',\n today: '今天',\n cancel: '取消',\n clear: '清空',\n confirm: '确定',\n selectDate: '选择日期',\n selectTime: '选择时间',\n startDate: '开始日期',\n startTime: '开始时间',\n endDate: '结束日期',\n endTime: '结束时间',\n prevYear: '前一年',\n nextYear: '后一年',\n prevMonth: '上个月',\n nextMonth: '下个月',\n year: '年',\n month1: '1 月',\n month2: '2 月',\n month3: '3 月',\n month4: '4 月',\n month5: '5 月',\n month6: '6 月',\n month7: '7 月',\n month8: '8 月',\n month9: '9 月',\n month10: '10 月',\n month11: '11 月',\n month12: '12 月',\n // week: '周次',\n weeks: {\n sun: '日',\n mon: '一',\n tue: '二',\n wed: '三',\n thu: '四',\n fri: '五',\n sat: '六'\n },\n months: {\n jan: '一月',\n feb: '二月',\n mar: '三月',\n apr: '四月',\n may: '五月',\n jun: '六月',\n jul: '七月',\n aug: '八月',\n sep: '九月',\n oct: '十月',\n nov: '十一月',\n dec: '十二月'\n }\n },\n select: {\n loading: '加载中',\n noMatch: '无匹配数据',\n noData: '无数据',\n placeholder: '请选择'\n },\n cascader: {\n noMatch: '无匹配数据',\n loading: '加载中',\n placeholder: '请选择',\n noData: '暂无数据'\n },\n pagination: {\n goto: '前往',\n pagesize: '条/页',\n total: '共 {total} 条',\n pageClassifier: '页'\n },\n messagebox: {\n title: '提示',\n confirm: '确定',\n cancel: '取消',\n error: '输入的数据不合法!'\n },\n upload: {\n deleteTip: '按 delete 键可删除',\n delete: '删除',\n preview: '查看图片',\n continue: '继续上传'\n },\n table: {\n emptyText: '暂无数据',\n confirmFilter: '筛选',\n resetFilter: '重置',\n clearFilter: '全部',\n sumText: '合计'\n },\n tree: {\n emptyText: '暂无数据'\n },\n transfer: {\n noMatch: '无匹配数据',\n noData: '无数据',\n titles: ['列表 1', '列表 2'],\n filterPlaceholder: '请输入搜索内容',\n noCheckedFormat: '共 {total} 项',\n hasCheckedFormat: '已选 {checked}/{total} 项'\n },\n image: {\n error: '加载失败'\n },\n pageHeader: {\n title: '返回'\n },\n popconfirm: {\n confirmButtonText: '确定',\n cancelButtonText: '取消'\n },\n empty: {\n description: '暂无数据'\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.barConfig = void 0;\nvar barConfig = {\n /**\n * @description Whether to display this bar chart\n * @type {Boolean}\n * @default show = true\n */\n show: true,\n\n /**\n * @description Legend name\n * @type {String}\n * @default name = ''\n */\n name: '',\n\n /**\n * @description Data stacking\n * The data value of the series element of the same stack\n * will be superimposed (the latter value will be superimposed on the previous value)\n * @type {String}\n * @default stack = ''\n */\n stack: '',\n\n /**\n * @description Bar shape type\n * @type {String}\n * @default shapeType = 'normal'\n * @example shapeType = 'normal' | 'leftEchelon' | 'rightEchelon'\n */\n shapeType: 'normal',\n\n /**\n * @description Echelon bar sharpness offset\n * @type {Number}\n * @default echelonOffset = 10\n */\n echelonOffset: 10,\n\n /**\n * @description Bar width\n * This property should be set on the last 'bar' series\n * in this coordinate system to take effect and will be in effect\n * for all 'bar' series in this coordinate system\n * @type {String|Number}\n * @default barWidth = 'auto'\n * @example barWidth = 'auto' | '10%' | 20\n */\n barWidth: 'auto',\n\n /**\n * @description Bar gap\n * This property should be set on the last 'bar' series\n * in this coordinate system to take effect and will be in effect\n * for all 'bar' series in this coordinate system\n * @type {String|Number}\n * @default barGap = '30%'\n * @example barGap = '30%' | 30\n */\n barGap: '30%',\n\n /**\n * @description Bar category gap\n * This property should be set on the last 'bar' series\n * in this coordinate system to take effect and will be in effect\n * for all 'bar' series in this coordinate system\n * @type {String|Number}\n * @default barCategoryGap = '20%'\n * @example barCategoryGap = '20%' | 20\n */\n barCategoryGap: '20%',\n\n /**\n * @description Bar x axis index\n * @type {Number}\n * @default xAxisIndex = 0\n * @example xAxisIndex = 0 | 1\n */\n xAxisIndex: 0,\n\n /**\n * @description Bar y axis index\n * @type {Number}\n * @default yAxisIndex = 0\n * @example yAxisIndex = 0 | 1\n */\n yAxisIndex: 0,\n\n /**\n * @description Bar chart data\n * @type {Array}\n * @default data = []\n * @example data = [100, 200, 300]\n */\n data: [],\n\n /**\n * @description Background bar configuration\n * @type {Object}\n */\n backgroundBar: {\n /**\n * @description Whether to display background bar\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Background bar width\n * @type {String|Number}\n * @default width = 'auto'\n * @example width = 'auto' | '30%' | 30\n */\n width: 'auto',\n\n /**\n * @description Background bar default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fill: 'rgba(200, 200, 200, .4)'\n }\n },\n\n /**\n * @description Bar label configuration\n * @type {Object}\n */\n label: {\n /**\n * @description Whether to display bar label\n * @type {Boolean}\n * @default show = false\n */\n show: false,\n\n /**\n * @description Bar label position\n * @type {String}\n * @default position = 'top'\n * @example position = 'top' | 'center' | 'bottom'\n */\n position: 'top',\n\n /**\n * @description Bar label offset\n * @type {Array}\n * @default offset = [0, -10]\n */\n offset: [0, -10],\n\n /**\n * @description Bar label formatter\n * @type {String|Function}\n * @default formatter = null\n * @example formatter = '{value}件'\n * @example formatter = (dataItem) => (dataItem.value)\n */\n formatter: null,\n\n /**\n * @description Bar label default style configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n style: {\n fontSize: 10\n }\n },\n\n /**\n * @description Bar gradient configuration\n * @type {Object}\n */\n gradient: {\n /**\n * @description Gradient color (Hex|rgb|rgba)\n * @type {Array}\n * @default color = []\n */\n color: [],\n\n /**\n * @description Local gradient\n * @type {Boolean}\n * @default local = true\n */\n local: true\n },\n\n /**\n * @description Bar style default configuration\n * @type {Object}\n * @default style = {Configuration Of Class Style}\n */\n barStyle: {},\n\n /**\n * @description Independent color mode\n * When set to true, independent color mode is enabled\n * @type {Boolean}\n * @default independentColor = false\n */\n independentColor: false,\n\n /**\n * @description Independent colors\n * Only effective when independent color mode is enabled\n * Default value is the same as the color in the root configuration\n * Two-dimensional color array can produce gradient colors\n * @type {Array}\n * @example independentColor = ['#fff', '#000']\n * @example independentColor = [['#fff', '#000'], '#000']\n */\n independentColors: [],\n\n /**\n * @description Bar chart render level\n * Priority rendering high level\n * @type {Number}\n * @default rLevel = 0\n */\n rLevel: 0,\n\n /**\n * @description Bar animation curve\n * @type {String}\n * @default animationCurve = 'easeOutCubic'\n */\n animationCurve: 'easeOutCubic',\n\n /**\n * @description Bar animation frame\n * @type {Number}\n * @default animationFrame = 50\n */\n animationFrame: 50\n};\nexports.barConfig = barConfig;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _helper = require(\"./helper\");\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// var arrayDiff = require('zrender/src/core/arrayDiff');\n// 'zrender/src/core/arrayDiff' has been used before, but it did\n// not do well in performance when roam with fixed dataZoom window.\n// function convertToIntId(newIdList, oldIdList) {\n// // Generate int id instead of string id.\n// // Compare string maybe slow in score function of arrDiff\n// // Assume id in idList are all unique\n// var idIndicesMap = {};\n// var idx = 0;\n// for (var i = 0; i < newIdList.length; i++) {\n// idIndicesMap[newIdList[i]] = idx;\n// newIdList[i] = idx++;\n// }\n// for (var i = 0; i < oldIdList.length; i++) {\n// var oldId = oldIdList[i];\n// // Same with newIdList\n// if (idIndicesMap[oldId]) {\n// oldIdList[i] = idIndicesMap[oldId];\n// }\n// else {\n// oldIdList[i] = idx++;\n// }\n// }\n// }\nfunction diffData(oldData, newData) {\n var diffResult = [];\n newData.diff(oldData).add(function (idx) {\n diffResult.push({\n cmd: '+',\n idx: idx\n });\n }).update(function (newIdx, oldIdx) {\n diffResult.push({\n cmd: '=',\n idx: oldIdx,\n idx1: newIdx\n });\n }).remove(function (idx) {\n diffResult.push({\n cmd: '-',\n idx: idx\n });\n }).execute();\n return diffResult;\n}\n\nfunction _default(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {\n var diff = diffData(oldData, newData); // var newIdList = newData.mapArray(newData.getId);\n // var oldIdList = oldData.mapArray(oldData.getId);\n // convertToIntId(newIdList, oldIdList);\n // // FIXME One data ?\n // diff = arrayDiff(oldIdList, newIdList);\n\n var currPoints = [];\n var nextPoints = []; // Points for stacking base line\n\n var currStackedPoints = [];\n var nextStackedPoints = [];\n var status = [];\n var sortedIndices = [];\n var rawIndices = [];\n var newDataOldCoordInfo = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin);\n var oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);\n\n for (var i = 0; i < diff.length; i++) {\n var diffItem = diff[i];\n var pointAdded = true; // FIXME, animation is not so perfect when dataZoom window moves fast\n // Which is in case remvoing or add more than one data in the tail or head\n\n switch (diffItem.cmd) {\n case '=':\n var currentPt = oldData.getItemLayout(diffItem.idx);\n var nextPt = newData.getItemLayout(diffItem.idx1); // If previous data is NaN, use next point directly\n\n if (isNaN(currentPt[0]) || isNaN(currentPt[1])) {\n currentPt = nextPt.slice();\n }\n\n currPoints.push(currentPt);\n nextPoints.push(nextPt);\n currStackedPoints.push(oldStackedOnPoints[diffItem.idx]);\n nextStackedPoints.push(newStackedOnPoints[diffItem.idx1]);\n rawIndices.push(newData.getRawIndex(diffItem.idx1));\n break;\n\n case '+':\n var idx = diffItem.idx;\n currPoints.push(oldCoordSys.dataToPoint([newData.get(newDataOldCoordInfo.dataDimsForPoint[0], idx), newData.get(newDataOldCoordInfo.dataDimsForPoint[1], idx)]));\n nextPoints.push(newData.getItemLayout(idx).slice());\n currStackedPoints.push(getStackedOnPoint(newDataOldCoordInfo, oldCoordSys, newData, idx));\n nextStackedPoints.push(newStackedOnPoints[idx]);\n rawIndices.push(newData.getRawIndex(idx));\n break;\n\n case '-':\n var idx = diffItem.idx;\n var rawIndex = oldData.getRawIndex(idx); // Data is replaced. In the case of dynamic data queue\n // FIXME FIXME FIXME\n\n if (rawIndex !== idx) {\n currPoints.push(oldData.getItemLayout(idx));\n nextPoints.push(newCoordSys.dataToPoint([oldData.get(oldDataNewCoordInfo.dataDimsForPoint[0], idx), oldData.get(oldDataNewCoordInfo.dataDimsForPoint[1], idx)]));\n currStackedPoints.push(oldStackedOnPoints[idx]);\n nextStackedPoints.push(getStackedOnPoint(oldDataNewCoordInfo, newCoordSys, oldData, idx));\n rawIndices.push(rawIndex);\n } else {\n pointAdded = false;\n }\n\n } // Original indices\n\n\n if (pointAdded) {\n status.push(diffItem);\n sortedIndices.push(sortedIndices.length);\n }\n } // Diff result may be crossed if all items are changed\n // Sort by data index\n\n\n sortedIndices.sort(function (a, b) {\n return rawIndices[a] - rawIndices[b];\n });\n var sortedCurrPoints = [];\n var sortedNextPoints = [];\n var sortedCurrStackedPoints = [];\n var sortedNextStackedPoints = [];\n var sortedStatus = [];\n\n for (var i = 0; i < sortedIndices.length; i++) {\n var idx = sortedIndices[i];\n sortedCurrPoints[i] = currPoints[idx];\n sortedNextPoints[i] = nextPoints[idx];\n sortedCurrStackedPoints[i] = currStackedPoints[idx];\n sortedNextStackedPoints[i] = nextStackedPoints[idx];\n sortedStatus[i] = status[idx];\n }\n\n return {\n current: sortedCurrPoints,\n next: sortedNextPoints,\n stackedOnCurrent: sortedCurrStackedPoints,\n stackedOnNext: sortedNextStackedPoints,\n status: sortedStatus\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BaseAxisPointer = require(\"./BaseAxisPointer\");\n\nvar viewHelper = require(\"./viewHelper\");\n\nvar singleAxisHelper = require(\"../../coord/single/singleAxisHelper\");\n\nvar AxisView = require(\"../axis/AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar XY = ['x', 'y'];\nvar WH = ['width', 'height'];\nvar SingleAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n var coordSys = axis.coordinateSystem;\n var otherExtent = getGlobalExtent(coordSys, 1 - getPointDimIndex(axis));\n var pixelValue = coordSys.dataToPoint(value)[0];\n var axisPointerType = axisPointerModel.get('type');\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var layoutInfo = singleAxisHelper.layout(axisModel);\n viewHelper.buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n },\n\n /**\n * @override\n */\n getHandleTransform: function (value, axisModel, axisPointerModel) {\n var layoutInfo = singleAxisHelper.layout(axisModel, {\n labelInside: false\n });\n layoutInfo.labelMargin = axisPointerModel.get('handle.margin');\n return {\n position: viewHelper.getTransformedPosition(axisModel.axis, value, layoutInfo),\n rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n };\n },\n\n /**\n * @override\n */\n updateHandleTransform: function (transform, delta, axisModel, axisPointerModel) {\n var axis = axisModel.axis;\n var coordSys = axis.coordinateSystem;\n var dimIndex = getPointDimIndex(axis);\n var axisExtent = getGlobalExtent(coordSys, dimIndex);\n var currPosition = transform.position;\n currPosition[dimIndex] += delta[dimIndex];\n currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);\n currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);\n var otherExtent = getGlobalExtent(coordSys, 1 - dimIndex);\n var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n var cursorPoint = [cursorOtherValue, cursorOtherValue];\n cursorPoint[dimIndex] = currPosition[dimIndex];\n return {\n position: currPosition,\n rotation: transform.rotation,\n cursorPoint: cursorPoint,\n tooltipOption: {\n verticalAlign: 'middle'\n }\n };\n }\n});\nvar pointerShapeBuilder = {\n line: function (axis, pixelValue, otherExtent) {\n var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getPointDimIndex(axis));\n return {\n type: 'Line',\n subPixelOptimize: true,\n shape: targetShape\n };\n },\n shadow: function (axis, pixelValue, otherExtent) {\n var bandWidth = axis.getBandWidth();\n var span = otherExtent[1] - otherExtent[0];\n return {\n type: 'Rect',\n shape: viewHelper.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getPointDimIndex(axis))\n };\n }\n};\n\nfunction getPointDimIndex(axis) {\n return axis.isHorizontal() ? 0 : 1;\n}\n\nfunction getGlobalExtent(coordSys, dimIndex) {\n var rect = coordSys.getRect();\n return [rect[XY[dimIndex]], rect[XY[dimIndex]] + rect[WH[dimIndex]]];\n}\n\nAxisView.registerAxisPointerClass('SingleAxisPointer', SingleAxisPointer);\nvar _default = SingleAxisPointer;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar LegendModel = require(\"./LegendModel\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar mergeLayoutParam = _layout.mergeLayoutParam;\nvar getLayoutParams = _layout.getLayoutParams;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ScrollableLegendModel = LegendModel.extend({\n type: 'legend.scroll',\n\n /**\n * @param {number} scrollDataIndex\n */\n setScrollDataIndex: function (scrollDataIndex) {\n this.option.scrollDataIndex = scrollDataIndex;\n },\n defaultOption: {\n scrollDataIndex: 0,\n pageButtonItemGap: 5,\n pageButtonGap: null,\n pageButtonPosition: 'end',\n // 'start' or 'end'\n pageFormatter: '{current}/{total}',\n // If null/undefined, do not show page.\n pageIcons: {\n horizontal: ['M0,0L12,-10L12,10z', 'M0,0L-12,-10L-12,10z'],\n vertical: ['M0,0L20,0L10,-20z', 'M0,0L20,0L10,20z']\n },\n pageIconColor: '#2f4554',\n pageIconInactiveColor: '#aaa',\n pageIconSize: 15,\n // Can be [10, 3], which represents [width, height]\n pageTextStyle: {\n color: '#333'\n },\n animationDurationUpdate: 800\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n ScrollableLegendModel.superCall(this, 'init', option, parentModel, ecModel, extraOpt);\n mergeAndNormalizeLayoutParams(this, option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n ScrollableLegendModel.superCall(this, 'mergeOption', option, extraOpt);\n mergeAndNormalizeLayoutParams(this, this.option, option);\n }\n}); // Do not `ignoreSize` to enable setting {left: 10, right: 10}.\n\nfunction mergeAndNormalizeLayoutParams(legendModel, target, raw) {\n var orient = legendModel.getOrient();\n var ignoreSize = [1, 1];\n ignoreSize[orient.index] = 0;\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = ScrollableLegendModel;\nmodule.exports = _default;","require(\"./graphic\");\n\nvar _zrender = require(\"../zrender\");\n\nvar registerPainter = _zrender.registerPainter;\n\nvar Painter = require(\"./Painter\");\n\nregisterPainter('vml', Painter);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _bbox = require(\"zrender/lib/core/bbox\");\n\nvar fromPoints = _bbox.fromPoints;\n\nvar SymbolDraw = require(\"../helper/SymbolDraw\");\n\nvar SymbolClz = require(\"../helper/Symbol\");\n\nvar lineAnimationDiff = require(\"./lineAnimationDiff\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar _poly = require(\"./poly\");\n\nvar Polyline = _poly.Polyline;\nvar Polygon = _poly.Polygon;\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar _helper = require(\"./helper\");\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\nvar _createClipPathFromCoordSys = require(\"../helper/createClipPathFromCoordSys\");\n\nvar createGridClipPath = _createClipPathFromCoordSys.createGridClipPath;\nvar createPolarClipPath = _createClipPathFromCoordSys.createPolarClipPath;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME step not support polar\nfunction isPointsSame(points1, points2) {\n if (points1.length !== points2.length) {\n return;\n }\n\n for (var i = 0; i < points1.length; i++) {\n var p1 = points1[i];\n var p2 = points2[i];\n\n if (p1[0] !== p2[0] || p1[1] !== p2[1]) {\n return;\n }\n }\n\n return true;\n}\n\nfunction getBoundingDiff(points1, points2) {\n var min1 = [];\n var max1 = [];\n var min2 = [];\n var max2 = [];\n fromPoints(points1, min1, max1);\n fromPoints(points2, min2, max2); // Get a max value from each corner of two boundings.\n\n return Math.max(Math.abs(min1[0] - min2[0]), Math.abs(min1[1] - min2[1]), Math.abs(max1[0] - max2[0]), Math.abs(max1[1] - max2[1]));\n}\n\nfunction getSmooth(smooth) {\n return typeof smooth === 'number' ? smooth : smooth ? 0.5 : 0;\n}\n/**\n * @param {module:echarts/coord/cartesian/Cartesian2D|module:echarts/coord/polar/Polar} coordSys\n * @param {module:echarts/data/List} data\n * @param {Object} dataCoordInfo\n * @param {Array.>} points\n */\n\n\nfunction getStackedOnPoints(coordSys, data, dataCoordInfo) {\n if (!dataCoordInfo.valueDim) {\n return [];\n }\n\n var points = [];\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n points.push(getStackedOnPoint(dataCoordInfo, coordSys, data, idx));\n }\n\n return points;\n}\n\nfunction turnPointsIntoStep(points, coordSys, stepTurnAt) {\n var baseAxis = coordSys.getBaseAxis();\n var baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;\n var stepPoints = [];\n\n for (var i = 0; i < points.length - 1; i++) {\n var nextPt = points[i + 1];\n var pt = points[i];\n stepPoints.push(pt);\n var stepPt = [];\n\n switch (stepTurnAt) {\n case 'end':\n stepPt[baseIndex] = nextPt[baseIndex];\n stepPt[1 - baseIndex] = pt[1 - baseIndex]; // default is start\n\n stepPoints.push(stepPt);\n break;\n\n case 'middle':\n // default is start\n var middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;\n var stepPt2 = [];\n stepPt[baseIndex] = stepPt2[baseIndex] = middle;\n stepPt[1 - baseIndex] = pt[1 - baseIndex];\n stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];\n stepPoints.push(stepPt);\n stepPoints.push(stepPt2);\n break;\n\n default:\n stepPt[baseIndex] = pt[baseIndex];\n stepPt[1 - baseIndex] = nextPt[1 - baseIndex]; // default is start\n\n stepPoints.push(stepPt);\n }\n } // Last points\n\n\n points[i] && stepPoints.push(points[i]);\n return stepPoints;\n}\n\nfunction getVisualGradient(data, coordSys) {\n var visualMetaList = data.getVisual('visualMeta');\n\n if (!visualMetaList || !visualMetaList.length || !data.count()) {\n // When data.count() is 0, gradient range can not be calculated.\n return;\n }\n\n if (coordSys.type !== 'cartesian2d') {\n return;\n }\n\n var coordDim;\n var visualMeta;\n\n for (var i = visualMetaList.length - 1; i >= 0; i--) {\n var dimIndex = visualMetaList[i].dimension;\n var dimName = data.dimensions[dimIndex];\n var dimInfo = data.getDimensionInfo(dimName);\n coordDim = dimInfo && dimInfo.coordDim; // Can only be x or y\n\n if (coordDim === 'x' || coordDim === 'y') {\n visualMeta = visualMetaList[i];\n break;\n }\n }\n\n if (!visualMeta) {\n return;\n } // If the area to be rendered is bigger than area defined by LinearGradient,\n // the canvas spec prescribes that the color of the first stop and the last\n // stop should be used. But if two stops are added at offset 0, in effect\n // browsers use the color of the second stop to render area outside\n // LinearGradient. So we can only infinitesimally extend area defined in\n // LinearGradient to render `outerColors`.\n\n\n var axis = coordSys.getAxis(coordDim); // dataToCoor mapping may not be linear, but must be monotonic.\n\n var colorStops = zrUtil.map(visualMeta.stops, function (stop) {\n return {\n coord: axis.toGlobalCoord(axis.dataToCoord(stop.value)),\n color: stop.color\n };\n });\n var stopLen = colorStops.length;\n var outerColors = visualMeta.outerColors.slice();\n\n if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {\n colorStops.reverse();\n outerColors.reverse();\n }\n\n var tinyExtent = 10; // Arbitrary value: 10px\n\n var minCoord = colorStops[0].coord - tinyExtent;\n var maxCoord = colorStops[stopLen - 1].coord + tinyExtent;\n var coordSpan = maxCoord - minCoord;\n\n if (coordSpan < 1e-3) {\n return 'transparent';\n }\n\n zrUtil.each(colorStops, function (stop) {\n stop.offset = (stop.coord - minCoord) / coordSpan;\n });\n colorStops.push({\n offset: stopLen ? colorStops[stopLen - 1].offset : 0.5,\n color: outerColors[1] || 'transparent'\n });\n colorStops.unshift({\n // notice colorStops.length have been changed.\n offset: stopLen ? colorStops[0].offset : 0.5,\n color: outerColors[0] || 'transparent'\n }); // zrUtil.each(colorStops, function (colorStop) {\n // // Make sure each offset has rounded px to avoid not sharp edge\n // colorStop.offset = (Math.round(colorStop.offset * (end - start) + start) - start) / (end - start);\n // });\n\n var gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStops, true);\n gradient[coordDim] = minCoord;\n gradient[coordDim + '2'] = maxCoord;\n return gradient;\n}\n\nfunction getIsIgnoreFunc(seriesModel, data, coordSys) {\n var showAllSymbol = seriesModel.get('showAllSymbol');\n var isAuto = showAllSymbol === 'auto';\n\n if (showAllSymbol && !isAuto) {\n return;\n }\n\n var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n if (!categoryAxis) {\n return;\n } // Note that category label interval strategy might bring some weird effect\n // in some scenario: users may wonder why some of the symbols are not\n // displayed. So we show all symbols as possible as we can.\n\n\n if (isAuto // Simplify the logic, do not determine label overlap here.\n && canShowAllSymbolForCategory(categoryAxis, data)) {\n return;\n } // Otherwise follow the label interval strategy on category axis.\n\n\n var categoryDataDim = data.mapDimension(categoryAxis.dim);\n var labelMap = {};\n zrUtil.each(categoryAxis.getViewLabels(), function (labelItem) {\n labelMap[labelItem.tickValue] = 1;\n });\n return function (dataIndex) {\n return !labelMap.hasOwnProperty(data.get(categoryDataDim, dataIndex));\n };\n}\n\nfunction canShowAllSymbolForCategory(categoryAxis, data) {\n // In mose cases, line is monotonous on category axis, and the label size\n // is close with each other. So we check the symbol size and some of the\n // label size alone with the category axis to estimate whether all symbol\n // can be shown without overlap.\n var axisExtent = categoryAxis.getExtent();\n var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis.scale.count();\n isNaN(availSize) && (availSize = 0); // 0/0 is NaN.\n // Sampling some points, max 5.\n\n var dataLen = data.count();\n var step = Math.max(1, Math.round(dataLen / 5));\n\n for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step) {\n if (SymbolClz.getSymbolSize(data, dataIndex // Only for cartesian, where `isHorizontal` exists.\n )[categoryAxis.isHorizontal() ? 1 : 0] // Empirical number\n * 1.5 > availSize) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction createLineClipPath(coordSys, hasAnimation, seriesModel) {\n if (coordSys.type === 'cartesian2d') {\n var isHorizontal = coordSys.getBaseAxis().isHorizontal();\n var clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel); // Expand clip shape to avoid clipping when line value exceeds axis\n\n if (!seriesModel.get('clip', true)) {\n var rectShape = clipPath.shape;\n var expandSize = Math.max(rectShape.width, rectShape.height);\n\n if (isHorizontal) {\n rectShape.y -= expandSize;\n rectShape.height += expandSize * 2;\n } else {\n rectShape.x -= expandSize;\n rectShape.width += expandSize * 2;\n }\n }\n\n return clipPath;\n } else {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n }\n}\n\nvar _default = ChartView.extend({\n type: 'line',\n init: function () {\n var lineGroup = new graphic.Group();\n var symbolDraw = new SymbolDraw();\n this.group.add(symbolDraw.group);\n this._symbolDraw = symbolDraw;\n this._lineGroup = lineGroup;\n },\n render: function (seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var lineStyleModel = seriesModel.getModel('lineStyle');\n var areaStyleModel = seriesModel.getModel('areaStyle');\n var points = data.mapArray(data.getItemLayout);\n var isCoordSysPolar = coordSys.type === 'polar';\n var prevCoordSys = this._coordSys;\n var symbolDraw = this._symbolDraw;\n var polyline = this._polyline;\n var polygon = this._polygon;\n var lineGroup = this._lineGroup;\n var hasAnimation = seriesModel.get('animation');\n var isAreaChart = !areaStyleModel.isEmpty();\n var valueOrigin = areaStyleModel.get('origin');\n var dataCoordInfo = prepareDataCoordInfo(coordSys, data, valueOrigin);\n var stackedOnPoints = getStackedOnPoints(coordSys, data, dataCoordInfo);\n var showSymbol = seriesModel.get('showSymbol');\n var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc(seriesModel, data, coordSys); // Remove temporary symbols\n\n var oldData = this._data;\n oldData && oldData.eachItemGraphicEl(function (el, idx) {\n if (el.__temp) {\n group.remove(el);\n oldData.setItemGraphicEl(idx, null);\n }\n }); // Remove previous created symbols if showSymbol changed to false\n\n if (!showSymbol) {\n symbolDraw.remove();\n }\n\n group.add(lineGroup); // FIXME step not support polar\n\n var step = !isCoordSysPolar && seriesModel.get('step');\n var clipShapeForSymbol;\n\n if (coordSys && coordSys.getArea && seriesModel.get('clip', true)) {\n clipShapeForSymbol = coordSys.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n // See #7913 and `test/dataZoom-clip.html`.\n\n if (clipShapeForSymbol.width != null) {\n clipShapeForSymbol.x -= 0.1;\n clipShapeForSymbol.y -= 0.1;\n clipShapeForSymbol.width += 0.2;\n clipShapeForSymbol.height += 0.2;\n } else if (clipShapeForSymbol.r0) {\n clipShapeForSymbol.r0 -= 0.5;\n clipShapeForSymbol.r1 += 0.5;\n }\n }\n\n this._clipShapeForSymbol = clipShapeForSymbol; // Initialization animation or coordinate system changed\n\n if (!(polyline && prevCoordSys.type === coordSys.type && step === this._step)) {\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol\n });\n\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step);\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step);\n }\n\n polyline = this._newPolyline(points, coordSys, hasAnimation);\n\n if (isAreaChart) {\n polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);\n }\n\n lineGroup.setClipPath(createLineClipPath(coordSys, true, seriesModel));\n } else {\n if (isAreaChart && !polygon) {\n // If areaStyle is added\n polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);\n } else if (polygon && !isAreaChart) {\n // If areaStyle is removed\n lineGroup.remove(polygon);\n polygon = this._polygon = null;\n } // Update clipPath\n\n\n lineGroup.setClipPath(createLineClipPath(coordSys, false, seriesModel)); // Always update, or it is wrong in the case turning on legend\n // because points are not changed\n\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol\n }); // Stop symbol animation and sync with line points\n // FIXME performance?\n\n data.eachItemGraphicEl(function (el) {\n el.stopAnimation(true);\n }); // In the case data zoom triggerred refreshing frequently\n // Data may not change if line has a category axis. So it should animate nothing\n\n if (!isPointsSame(this._stackedOnPoints, stackedOnPoints) || !isPointsSame(this._points, points)) {\n if (hasAnimation) {\n this._updateAnimation(data, stackedOnPoints, coordSys, api, step, valueOrigin);\n } else {\n // Not do it in update with animation\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step);\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step);\n }\n\n polyline.setShape({\n points: points\n });\n polygon && polygon.setShape({\n points: points,\n stackedOnPoints: stackedOnPoints\n });\n }\n }\n }\n\n var visualColor = getVisualGradient(data, coordSys) || data.getVisual('color');\n polyline.useStyle(zrUtil.defaults( // Use color in lineStyle first\n lineStyleModel.getLineStyle(), {\n fill: 'none',\n stroke: visualColor,\n lineJoin: 'bevel'\n }));\n var smooth = seriesModel.get('smooth');\n smooth = getSmooth(seriesModel.get('smooth'));\n polyline.setShape({\n smooth: smooth,\n smoothMonotone: seriesModel.get('smoothMonotone'),\n connectNulls: seriesModel.get('connectNulls')\n });\n\n if (polygon) {\n var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');\n var stackedOnSmooth = 0;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: visualColor,\n opacity: 0.7,\n lineJoin: 'bevel'\n }));\n\n if (stackedOnSeries) {\n stackedOnSmooth = getSmooth(stackedOnSeries.get('smooth'));\n }\n\n polygon.setShape({\n smooth: smooth,\n stackedOnSmooth: stackedOnSmooth,\n smoothMonotone: seriesModel.get('smoothMonotone'),\n connectNulls: seriesModel.get('connectNulls')\n });\n }\n\n this._data = data; // Save the coordinate system for transition animation when data changed\n\n this._coordSys = coordSys;\n this._stackedOnPoints = stackedOnPoints;\n this._points = points;\n this._step = step;\n this._valueOrigin = valueOrigin;\n },\n dispose: function () {},\n highlight: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (!symbol) {\n // Create a temporary symbol if it is not exists\n var pt = data.getItemLayout(dataIndex);\n\n if (!pt) {\n // Null data\n return;\n } // fix #11360: should't draw symbol outside clipShapeForSymbol\n\n\n if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(pt[0], pt[1])) {\n return;\n }\n\n symbol = new SymbolClz(data, dataIndex);\n symbol.position = pt;\n symbol.setZ(seriesModel.get('zlevel'), seriesModel.get('z'));\n symbol.ignore = isNaN(pt[0]) || isNaN(pt[1]);\n symbol.__temp = true;\n data.setItemGraphicEl(dataIndex, symbol); // Stop scale animation\n\n symbol.stopSymbolAnimation(true);\n this.group.add(symbol);\n }\n\n symbol.highlight();\n } else {\n // Highlight whole series\n ChartView.prototype.highlight.call(this, seriesModel, ecModel, api, payload);\n }\n },\n downplay: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n if (dataIndex != null && dataIndex >= 0) {\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (symbol) {\n if (symbol.__temp) {\n data.setItemGraphicEl(dataIndex, null);\n this.group.remove(symbol);\n } else {\n symbol.downplay();\n }\n }\n } else {\n // FIXME\n // can not downplay completely.\n // Downplay whole series\n ChartView.prototype.downplay.call(this, seriesModel, ecModel, api, payload);\n }\n },\n\n /**\n * @param {module:zrender/container/Group} group\n * @param {Array.>} points\n * @private\n */\n _newPolyline: function (points) {\n var polyline = this._polyline; // Remove previous created polyline\n\n if (polyline) {\n this._lineGroup.remove(polyline);\n }\n\n polyline = new Polyline({\n shape: {\n points: points\n },\n silent: true,\n z2: 10\n });\n\n this._lineGroup.add(polyline);\n\n this._polyline = polyline;\n return polyline;\n },\n\n /**\n * @param {module:zrender/container/Group} group\n * @param {Array.>} stackedOnPoints\n * @param {Array.>} points\n * @private\n */\n _newPolygon: function (points, stackedOnPoints) {\n var polygon = this._polygon; // Remove previous created polygon\n\n if (polygon) {\n this._lineGroup.remove(polygon);\n }\n\n polygon = new Polygon({\n shape: {\n points: points,\n stackedOnPoints: stackedOnPoints\n },\n silent: true\n });\n\n this._lineGroup.add(polygon);\n\n this._polygon = polygon;\n return polygon;\n },\n\n /**\n * @private\n */\n // FIXME Two value axis\n _updateAnimation: function (data, stackedOnPoints, coordSys, api, step, valueOrigin) {\n var polyline = this._polyline;\n var polygon = this._polygon;\n var seriesModel = data.hostModel;\n var diff = lineAnimationDiff(this._data, data, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin, valueOrigin);\n var current = diff.current;\n var stackedOnCurrent = diff.stackedOnCurrent;\n var next = diff.next;\n var stackedOnNext = diff.stackedOnNext;\n\n if (step) {\n // TODO If stacked series is not step\n current = turnPointsIntoStep(diff.current, coordSys, step);\n stackedOnCurrent = turnPointsIntoStep(diff.stackedOnCurrent, coordSys, step);\n next = turnPointsIntoStep(diff.next, coordSys, step);\n stackedOnNext = turnPointsIntoStep(diff.stackedOnNext, coordSys, step);\n } // Don't apply animation if diff is large.\n // For better result and avoid memory explosion problems like\n // https://github.com/apache/incubator-echarts/issues/12229\n\n\n if (getBoundingDiff(current, next) > 3000 || polygon && getBoundingDiff(stackedOnCurrent, stackedOnNext) > 3000) {\n polyline.setShape({\n points: next\n });\n\n if (polygon) {\n polygon.setShape({\n points: next,\n stackedOnPoints: stackedOnNext\n });\n }\n\n return;\n } // `diff.current` is subset of `current` (which should be ensured by\n // turnPointsIntoStep), so points in `__points` can be updated when\n // points in `current` are update during animation.\n\n\n polyline.shape.__points = diff.current;\n polyline.shape.points = current;\n graphic.updateProps(polyline, {\n shape: {\n points: next\n }\n }, seriesModel);\n\n if (polygon) {\n polygon.setShape({\n points: current,\n stackedOnPoints: stackedOnCurrent\n });\n graphic.updateProps(polygon, {\n shape: {\n points: next,\n stackedOnPoints: stackedOnNext\n }\n }, seriesModel);\n }\n\n var updatedDataInfo = [];\n var diffStatus = diff.status;\n\n for (var i = 0; i < diffStatus.length; i++) {\n var cmd = diffStatus[i].cmd;\n\n if (cmd === '=') {\n var el = data.getItemGraphicEl(diffStatus[i].idx1);\n\n if (el) {\n updatedDataInfo.push({\n el: el,\n ptIdx: i // Index of points\n\n });\n }\n }\n }\n\n if (polyline.animators && polyline.animators.length) {\n polyline.animators[0].during(function () {\n for (var i = 0; i < updatedDataInfo.length; i++) {\n var el = updatedDataInfo[i].el;\n el.attr('position', polyline.shape.__points[updatedDataInfo[i].ptIdx]);\n }\n });\n }\n },\n remove: function (ecModel) {\n var group = this.group;\n var oldData = this._data;\n\n this._lineGroup.removeAll();\n\n this._symbolDraw.remove(true); // Remove temporary created elements when highlighting\n\n\n oldData && oldData.eachItemGraphicEl(function (el, idx) {\n if (el.__temp) {\n group.remove(el);\n oldData.setItemGraphicEl(idx, null);\n }\n });\n this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._data = null;\n }\n});\n\nmodule.exports = _default;","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar contrastColor = '#eee';\n\nvar axisCommon = function () {\n return {\n axisLine: {\n lineStyle: {\n color: contrastColor\n }\n },\n axisTick: {\n lineStyle: {\n color: contrastColor\n }\n },\n axisLabel: {\n textStyle: {\n color: contrastColor\n }\n },\n splitLine: {\n lineStyle: {\n type: 'dashed',\n color: '#aaa'\n }\n },\n splitArea: {\n areaStyle: {\n color: contrastColor\n }\n }\n };\n};\n\nvar colorPalette = ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'];\nvar theme = {\n color: colorPalette,\n backgroundColor: '#333',\n tooltip: {\n axisPointer: {\n lineStyle: {\n color: contrastColor\n },\n crossStyle: {\n color: contrastColor\n },\n label: {\n color: '#000'\n }\n }\n },\n legend: {\n textStyle: {\n color: contrastColor\n }\n },\n textStyle: {\n color: contrastColor\n },\n title: {\n textStyle: {\n color: contrastColor\n }\n },\n toolbox: {\n iconStyle: {\n normal: {\n borderColor: contrastColor\n }\n }\n },\n dataZoom: {\n textStyle: {\n color: contrastColor\n }\n },\n visualMap: {\n textStyle: {\n color: contrastColor\n }\n },\n timeline: {\n lineStyle: {\n color: contrastColor\n },\n itemStyle: {\n normal: {\n color: colorPalette[1]\n }\n },\n label: {\n normal: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n controlStyle: {\n normal: {\n color: contrastColor,\n borderColor: contrastColor\n }\n }\n },\n timeAxis: axisCommon(),\n logAxis: axisCommon(),\n valueAxis: axisCommon(),\n categoryAxis: axisCommon(),\n line: {\n symbol: 'circle'\n },\n graph: {\n color: colorPalette\n },\n gauge: {\n title: {\n textStyle: {\n color: contrastColor\n }\n }\n },\n candlestick: {\n itemStyle: {\n normal: {\n color: '#FD1050',\n color0: '#0CF49B',\n borderColor: '#FD1050',\n borderColor0: '#0CF49B'\n }\n }\n }\n};\ntheme.categoryAxis.splitLine.show = false;\nvar _default = theme;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar AxisView = require(\"./AxisView\");\n\nvar cartesianAxisHelper = require(\"../../coord/cartesian/cartesianAxisHelper\");\n\nvar _axisSplitHelper = require(\"./axisSplitHelper\");\n\nvar rectCoordAxisBuildSplitArea = _axisSplitHelper.rectCoordAxisBuildSplitArea;\nvar rectCoordAxisHandleRemove = _axisSplitHelper.rectCoordAxisHandleRemove;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\nvar CartesianAxisView = AxisView.extend({\n type: 'cartesianAxis',\n axisPointerClass: 'CartesianAxisPointer',\n\n /**\n * @override\n */\n render: function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var gridModel = axisModel.getCoordSysModel();\n var layout = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get(name + '.show')) {\n this['_' + name](axisModel, gridModel);\n }\n }, this);\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n CartesianAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);\n },\n remove: function () {\n rectCoordAxisHandleRemove(this);\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _splitLine: function (axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n var tickValue = ticksCoords[i].tickValue;\n\n this._axisGroup.add(new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n subPixelOptimize: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n }));\n }\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _minorSplitLine: function (axisModel, gridModel) {\n var axis = axisModel.axis;\n var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n this._axisGroup.add(new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n subPixelOptimize: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: lineStyle,\n silent: true\n }));\n }\n }\n },\n\n /**\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @private\n */\n _splitArea: function (axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(this, this._axisGroup, axisModel, gridModel);\n }\n});\nCartesianAxisView.extend({\n type: 'xAxis'\n});\nCartesianAxisView.extend({\n type: 'yAxis'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar polygonContain = require(\"zrender/lib/contain/polygon\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/geo/Region\n */\n\n/**\n * @param {string|Region} name\n * @param {Array} geometries\n * @param {Array.} cp\n */\nfunction Region(name, geometries, cp) {\n /**\n * @type {string}\n * @readOnly\n */\n this.name = name;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.geometries = geometries;\n\n if (!cp) {\n var rect = this.getBoundingRect();\n cp = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n } else {\n cp = [cp[0], cp[1]];\n }\n /**\n * @type {Array.}\n */\n\n\n this.center = cp;\n}\n\nRegion.prototype = {\n constructor: Region,\n properties: null,\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n var rect = this._rect;\n\n if (rect) {\n return rect;\n }\n\n var MAX_NUMBER = Number.MAX_VALUE;\n var min = [MAX_NUMBER, MAX_NUMBER];\n var max = [-MAX_NUMBER, -MAX_NUMBER];\n var min2 = [];\n var max2 = [];\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon\n if (geometries[i].type !== 'polygon') {\n continue;\n } // Doesn't consider hole\n\n\n var exterior = geometries[i].exterior;\n bbox.fromPoints(exterior, min2, max2);\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return this._rect = new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * @param {} coord\n * @return {boolean}\n */\n contain: function (coord) {\n var rect = this.getBoundingRect();\n var geometries = this.geometries;\n\n if (!rect.contain(coord[0], coord[1])) {\n return false;\n }\n\n loopGeo: for (var i = 0, len = geometries.length; i < len; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n if (polygonContain.contain(exterior, coord[0], coord[1])) {\n // Not in the region if point is in the hole.\n for (var k = 0; k < (interiors ? interiors.length : 0); k++) {\n if (polygonContain.contain(interiors[k])) {\n continue loopGeo;\n }\n }\n\n return true;\n }\n }\n\n return false;\n },\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var aspect = rect.width / rect.height;\n\n if (!width) {\n width = aspect * height;\n } else if (!height) {\n height = width / aspect;\n }\n\n var target = new BoundingRect(x, y, width, height);\n var transform = rect.calculateTransform(target);\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n for (var p = 0; p < exterior.length; p++) {\n vec2.applyTransform(exterior[p], exterior[p], transform);\n }\n\n for (var h = 0; h < (interiors ? interiors.length : 0); h++) {\n for (var p = 0; p < interiors[h].length; p++) {\n vec2.applyTransform(interiors[h][p], interiors[h][p], transform);\n }\n }\n }\n\n rect = this._rect;\n rect.copy(target); // Update center\n\n this.center = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n },\n cloneShallow: function (name) {\n name == null && (name = this.name);\n var newRegion = new Region(name, this.geometries, this.center);\n newRegion._rect = this._rect;\n newRegion.transformTo = null; // Simply avoid to be called.\n\n return newRegion;\n }\n};\nvar _default = Region;\nmodule.exports = _default;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar throttleUtil = require(\"../util/throttle\");\n\nvar parallelPreprocessor = require(\"../coord/parallel/parallelPreprocessor\");\n\nrequire(\"../coord/parallel/parallelCreator\");\n\nrequire(\"../coord/parallel/ParallelModel\");\n\nrequire(\"./parallelAxis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CLICK_THRESHOLD = 5; // > 4\n// Parallel view\n\necharts.extendComponentView({\n type: 'parallel',\n render: function (parallelModel, ecModel, api) {\n this._model = parallelModel;\n this._api = api;\n\n if (!this._handlers) {\n this._handlers = {};\n zrUtil.each(handlers, function (handler, eventName) {\n api.getZr().on(eventName, this._handlers[eventName] = zrUtil.bind(handler, this));\n }, this);\n }\n\n throttleUtil.createOrUpdate(this, '_throttledDispatchExpand', parallelModel.get('axisExpandRate'), 'fixRate');\n },\n dispose: function (ecModel, api) {\n zrUtil.each(this._handlers, function (handler, eventName) {\n api.getZr().off(eventName, handler);\n });\n this._handlers = null;\n },\n\n /**\n * @param {Object} [opt] If null, cancle the last action triggering for debounce.\n */\n _throttledDispatchExpand: function (opt) {\n this._dispatchExpand(opt);\n },\n _dispatchExpand: function (opt) {\n opt && this._api.dispatchAction(zrUtil.extend({\n type: 'parallelAxisExpand'\n }, opt));\n }\n});\nvar handlers = {\n mousedown: function (e) {\n if (checkTrigger(this, 'click')) {\n this._mouseDownPoint = [e.offsetX, e.offsetY];\n }\n },\n mouseup: function (e) {\n var mouseDownPoint = this._mouseDownPoint;\n\n if (checkTrigger(this, 'click') && mouseDownPoint) {\n var point = [e.offsetX, e.offsetY];\n var dist = Math.pow(mouseDownPoint[0] - point[0], 2) + Math.pow(mouseDownPoint[1] - point[1], 2);\n\n if (dist > CLICK_THRESHOLD) {\n return;\n }\n\n var result = this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n\n result.behavior !== 'none' && this._dispatchExpand({\n axisExpandWindow: result.axisExpandWindow\n });\n }\n\n this._mouseDownPoint = null;\n },\n mousemove: function (e) {\n // Should do nothing when brushing.\n if (this._mouseDownPoint || !checkTrigger(this, 'mousemove')) {\n return;\n }\n\n var model = this._model;\n var result = model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX, e.offsetY]);\n var behavior = result.behavior;\n behavior === 'jump' && this._throttledDispatchExpand.debounceNextCall(model.get('axisExpandDebounce'));\n\n this._throttledDispatchExpand(behavior === 'none' ? null // Cancle the last trigger, in case that mouse slide out of the area quickly.\n : {\n axisExpandWindow: result.axisExpandWindow,\n // Jumping uses animation, and sliding suppresses animation.\n animation: behavior === 'jump' ? null : false\n });\n }\n};\n\nfunction checkTrigger(view, triggerOn) {\n var model = view._model;\n return model.get('axisExpandable') && model.get('axisExpandTriggerOn') === triggerOn;\n}\n\necharts.registerPreprocessor(parallelPreprocessor);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar Model = require(\"../../model/Model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar DEFAULT_OUT_OF_BRUSH_COLOR = ['#ddd'];\nvar BrushModel = echarts.extendComponentModel({\n type: 'brush',\n dependencies: ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n // inBrush: null,\n // outOfBrush: null,\n toolbox: null,\n // Default value see preprocessor.\n brushLink: null,\n // Series indices array, broadcast using dataIndex.\n // or 'all', which means all series. 'none' or null means no series.\n seriesIndex: 'all',\n // seriesIndex array, specify series controlled by this brush component.\n geoIndex: null,\n //\n xAxisIndex: null,\n yAxisIndex: null,\n brushType: 'rect',\n // Default brushType, see BrushController.\n brushMode: 'single',\n // Default brushMode, 'single' or 'multiple'\n transformable: true,\n // Default transformable.\n brushStyle: {\n // Default brushStyle\n borderWidth: 1,\n color: 'rgba(120,140,180,0.3)',\n borderColor: 'rgba(120,140,180,0.8)'\n },\n throttleType: 'fixRate',\n // Throttle in brushSelected event. 'fixRate' or 'debounce'.\n // If null, no throttle. Valid only in the first brush component\n throttleDelay: 0,\n // Unit: ms, 0 means every event will be triggered.\n // FIXME\n // 试验效果\n removeOnClick: true,\n z: 10000\n },\n\n /**\n * @readOnly\n * @type {Array.}\n */\n areas: [],\n\n /**\n * Current activated brush type.\n * If null, brush is inactived.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {string}\n */\n brushType: null,\n\n /**\n * Current brush opt.\n * see module:echarts/component/helper/BrushController\n * @readOnly\n * @type {Object}\n */\n brushOption: {},\n\n /**\n * @readOnly\n * @type {Array.}\n */\n coordInfoList: [],\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option;\n !isInit && visualSolution.replaceVisualOption(thisOption, newOption, ['inBrush', 'outOfBrush']);\n var inBrush = thisOption.inBrush = thisOption.inBrush || {}; // Always give default visual, consider setOption at the second time.\n\n thisOption.outOfBrush = thisOption.outOfBrush || {\n color: DEFAULT_OUT_OF_BRUSH_COLOR\n };\n\n if (!inBrush.hasOwnProperty('liftZ')) {\n // Bigger than the highlight z lift, otherwise it will\n // be effected by the highlight z when brush.\n inBrush.liftZ = 5;\n }\n },\n\n /**\n * If ranges is null/undefined, range state remain.\n *\n * @param {Array.} [ranges]\n */\n setAreas: function (areas) {\n // If ranges is null/undefined, range state remain.\n // This helps user to dispatchAction({type: 'brush'}) with no areas\n // set but just want to get the current brush select info from a `brush` event.\n if (!areas) {\n return;\n }\n\n this.areas = zrUtil.map(areas, function (area) {\n return generateBrushOption(this.option, area);\n }, this);\n },\n\n /**\n * see module:echarts/component/helper/BrushController\n * @param {Object} brushOption\n */\n setBrushOption: function (brushOption) {\n this.brushOption = generateBrushOption(this.option, brushOption);\n this.brushType = this.brushOption.brushType;\n }\n});\n\nfunction generateBrushOption(option, brushOption) {\n return zrUtil.merge({\n brushType: option.brushType,\n brushMode: option.brushMode,\n transformable: option.transformable,\n brushStyle: new Model(option.brushStyle).getItemStyle(),\n removeOnClick: option.removeOnClick,\n z: option.z\n }, brushOption, true);\n}\n\nvar _default = BrushModel;\nmodule.exports = _default;","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 73);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/migrating\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 73:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n _vm.type === \"textarea\" ? \"el-textarea\" : \"el-input\",\n _vm.inputSize ? \"el-input--\" + _vm.inputSize : \"\",\n {\n \"is-disabled\": _vm.inputDisabled,\n \"is-exceed\": _vm.inputExceed,\n \"el-input-group\": _vm.$slots.prepend || _vm.$slots.append,\n \"el-input-group--append\": _vm.$slots.append,\n \"el-input-group--prepend\": _vm.$slots.prepend,\n \"el-input--prefix\": _vm.$slots.prefix || _vm.prefixIcon,\n \"el-input--suffix\":\n _vm.$slots.suffix ||\n _vm.suffixIcon ||\n _vm.clearable ||\n _vm.showPassword\n }\n ],\n on: {\n mouseenter: function($event) {\n _vm.hovering = true\n },\n mouseleave: function($event) {\n _vm.hovering = false\n }\n }\n },\n [\n _vm.type !== \"textarea\"\n ? [\n _vm.$slots.prepend\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__prepend\" },\n [_vm._t(\"prepend\")],\n 2\n )\n : _vm._e(),\n _vm.type !== \"textarea\"\n ? _c(\n \"input\",\n _vm._b(\n {\n ref: \"input\",\n staticClass: \"el-input__inner\",\n attrs: {\n tabindex: _vm.tabindex,\n type: _vm.showPassword\n ? _vm.passwordVisible\n ? \"text\"\n : \"password\"\n : _vm.type,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : _vm._e(),\n _vm.$slots.prefix || _vm.prefixIcon\n ? _c(\n \"span\",\n { staticClass: \"el-input__prefix\" },\n [\n _vm._t(\"prefix\"),\n _vm.prefixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.prefixIcon\n })\n : _vm._e()\n ],\n 2\n )\n : _vm._e(),\n _vm.getSuffixVisible()\n ? _c(\"span\", { staticClass: \"el-input__suffix\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__suffix-inner\" },\n [\n !_vm.showClear ||\n !_vm.showPwdVisible ||\n !_vm.isWordLimitVisible\n ? [\n _vm._t(\"suffix\"),\n _vm.suffixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.suffixIcon\n })\n : _vm._e()\n ]\n : _vm._e(),\n _vm.showClear\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-circle-close el-input__clear\",\n on: {\n mousedown: function($event) {\n $event.preventDefault()\n },\n click: _vm.clear\n }\n })\n : _vm._e(),\n _vm.showPwdVisible\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-view el-input__clear\",\n on: { click: _vm.handlePasswordVisible }\n })\n : _vm._e(),\n _vm.isWordLimitVisible\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__count-inner\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.textLength) +\n \"/\" +\n _vm._s(_vm.upperLimit) +\n \"\\n \"\n )\n ]\n )\n ])\n : _vm._e()\n ],\n 2\n ),\n _vm.validateState\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: [\"el-input__validateIcon\", _vm.validateIcon]\n })\n : _vm._e()\n ])\n : _vm._e(),\n _vm.$slots.append\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__append\" },\n [_vm._t(\"append\")],\n 2\n )\n : _vm._e()\n ]\n : _c(\n \"textarea\",\n _vm._b(\n {\n ref: \"textarea\",\n staticClass: \"el-textarea__inner\",\n style: _vm.textareaStyle,\n attrs: {\n tabindex: _vm.tabindex,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"textarea\",\n _vm.$attrs,\n false\n )\n ),\n _vm.isWordLimitVisible && _vm.type === \"textarea\"\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _vm._v(_vm._s(_vm.textLength) + \"/\" + _vm._s(_vm.upperLimit))\n ])\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_ = __webpack_require__(11);\nvar migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);\n\n// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js\nvar hiddenTextarea = void 0;\n\nvar HIDDEN_STYLE = '\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\nvar CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\nfunction calculateNodeStyling(targetElement) {\n var style = window.getComputedStyle(targetElement);\n\n var boxSizing = style.getPropertyValue('box-sizing');\n\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\n var contextStyle = CONTEXT_STYLE.map(function (name) {\n return name + ':' + style.getPropertyValue(name);\n }).join(';');\n\n return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing };\n}\n\nfunction calcTextareaHeight(targetElement) {\n var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n var _calculateNodeStyling = calculateNodeStyling(targetElement),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n contextStyle = _calculateNodeStyling.contextStyle;\n\n hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE);\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n\n var height = hiddenTextarea.scrollHeight;\n var result = {};\n\n if (boxSizing === 'border-box') {\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize;\n }\n\n hiddenTextarea.value = '';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n var minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n result.minHeight = minHeight + 'px';\n }\n if (maxRows !== null) {\n var maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n result.height = height + 'px';\n hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);\n hiddenTextarea = null;\n return result;\n};\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ var inputvue_type_script_lang_js_ = ({\n name: 'ElInput',\n\n componentName: 'ElInput',\n\n mixins: [emitter_default.a, migrating_default.a],\n\n inheritAttrs: false,\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n data: function data() {\n return {\n textareaCalcStyle: {},\n hovering: false,\n focused: false,\n isComposing: false,\n passwordVisible: false\n };\n },\n\n\n props: {\n value: [String, Number],\n size: String,\n resize: String,\n form: String,\n disabled: Boolean,\n readonly: Boolean,\n type: {\n type: String,\n default: 'text'\n },\n autosize: {\n type: [Boolean, Object],\n default: false\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n validateEvent: {\n type: Boolean,\n default: true\n },\n suffixIcon: String,\n prefixIcon: String,\n label: String,\n clearable: {\n type: Boolean,\n default: false\n },\n showPassword: {\n type: Boolean,\n default: false\n },\n showWordLimit: {\n type: Boolean,\n default: false\n },\n tabindex: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n validateState: function validateState() {\n return this.elFormItem ? this.elFormItem.validateState : '';\n },\n needStatusIcon: function needStatusIcon() {\n return this.elForm ? this.elForm.statusIcon : false;\n },\n validateIcon: function validateIcon() {\n return {\n validating: 'el-icon-loading',\n success: 'el-icon-circle-check',\n error: 'el-icon-circle-close'\n }[this.validateState];\n },\n textareaStyle: function textareaStyle() {\n return merge_default()({}, this.textareaCalcStyle, { resize: this.resize });\n },\n inputSize: function inputSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n inputDisabled: function inputDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n nativeInputValue: function nativeInputValue() {\n return this.value === null || this.value === undefined ? '' : String(this.value);\n },\n showClear: function showClear() {\n return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering);\n },\n showPwdVisible: function showPwdVisible() {\n return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused);\n },\n isWordLimitVisible: function isWordLimitVisible() {\n return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword;\n },\n upperLimit: function upperLimit() {\n return this.$attrs.maxlength;\n },\n textLength: function textLength() {\n if (typeof this.value === 'number') {\n return String(this.value).length;\n }\n\n return (this.value || '').length;\n },\n inputExceed: function inputExceed() {\n // show exceed style if length of initial value greater then maxlength\n return this.isWordLimitVisible && this.textLength > this.upperLimit;\n }\n },\n\n watch: {\n value: function value(val) {\n this.$nextTick(this.resizeTextarea);\n if (this.validateEvent) {\n this.dispatch('ElFormItem', 'el.form.change', [val]);\n }\n },\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n nativeInputValue: function nativeInputValue() {\n this.setNativeInputValue();\n },\n\n // when change between and