{"version":3,"sources":["webpack:///static/js/vendor.88dcd0b1eb6f06881880.js","webpack:///./~/zrender/lib/core/util.js","webpack:///./~/core-js/modules/_export.js","webpack:///./~/echarts/lib/echarts.js","webpack:///./~/svg-baker-runtime/browser-symbol.js","webpack:///./~/svg-sprite-loader/runtime/browser-sprite.build.js","webpack:///./~/vue-loader/lib/component-normalizer.js","webpack:///./~/echarts/lib/util/graphic.js","webpack:///./~/echarts/lib/util/number.js","webpack:///./~/echarts/lib/util/model.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/echarts/lib/config.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/echarts/lib/util/layout.js","webpack:///./~/zrender/lib/core/vector.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/echarts/lib/util/format.js","webpack:///./~/zrender/lib/core/BoundingRect.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/zrender/lib/graphic/Path.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/zrender/lib/core/env.js","webpack:///./~/async-validator/es/util.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/echarts/lib/model/Model.js","webpack:///./~/vue/dist/vue.esm.js","webpack:///./~/echarts/lib/model/Component.js","webpack:///./~/echarts/lib/model/Series.js","webpack:///./~/core-js/library/modules/_core.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/zrender/lib/core/matrix.js","webpack:///./~/core-js/library/modules/_global.js","webpack:///./~/async-validator/es/rule/index.js","webpack:///./~/core-js/library/modules/_wks.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/axios/lib/utils.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/echarts/lib/data/List.js","webpack:///./~/echarts/lib/util/symbol.js","webpack:///./~/zrender/lib/contain/text.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/echarts/lib/CoordinateSystem.js","webpack:///./~/echarts/lib/coord/axisHelper.js","webpack:///(webpack)/buildin/global.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/echarts/lib/data/helper/dataStackHelper.js","webpack:///./~/echarts/lib/view/Chart.js","webpack:///./~/element-ui/lib/utils/util.js","webpack:///./~/zrender/lib/core/event.js","webpack:///./~/zrender/lib/tool/color.js","webpack:///./~/core-js/library/modules/_export.js","webpack:///./~/core-js/library/modules/_descriptors.js","webpack:///./~/core-js/library/modules/_object-dp.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/echarts/lib/chart/helper/createListFromArray.js","webpack:///./~/echarts/lib/data/helper/sourceHelper.js","webpack:///./~/echarts/lib/util/clazz.js","webpack:///./~/element-ui/lib/utils/dom.js","webpack:///./~/core-js/library/modules/_an-object.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/echarts/lib/component/axis/AxisBuilder.js","webpack:///./~/echarts/lib/component/toolbox/featureManager.js","webpack:///./~/echarts/lib/coord/Axis.js","webpack:///./~/echarts/lib/lang.js","webpack:///./~/echarts/lib/util/throttle.js","webpack:///./~/zrender/lib/core/curve.js","webpack:///./~/core-js/library/modules/_is-object.js","webpack:///./~/core-js/library/modules/_hide.js","webpack:///./~/core-js/library/modules/_has.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_to-absolute-index.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./~/core-js/modules/_validate-collection.js","webpack:///./~/echarts/lib/chart/helper/treeHelper.js","webpack:///./~/echarts/lib/component/axis/AxisView.js","webpack:///./~/echarts/lib/data/DataDiffer.js","webpack:///./~/echarts/lib/data/helper/dataProvider.js","webpack:///./~/echarts/lib/visual/VisualMapping.js","webpack:///./~/echarts/lib/visual/symbol.js","webpack:///./~/element-ui/lib/mixins/emitter.js","webpack:///./~/zrender/lib/container/Group.js","webpack:///./~/zrender/lib/graphic/Text.js","webpack:///./~/zrender/lib/mixin/Eventful.js","webpack:///./~/babel-runtime/core-js/promise.js","webpack:///./~/babel-runtime/core-js/object/assign.js","webpack:///./~/core-js/library/modules/_fails.js","webpack:///./~/core-js/library/modules/_to-iobject.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/echarts/lib/chart/helper/createListSimply.js","webpack:///./~/echarts/lib/chart/helper/createRenderPlanner.js","webpack:///./~/echarts/lib/component/dataZoom/DataZoomModel.js","webpack:///./~/echarts/lib/component/dataZoom/DataZoomView.js","webpack:///./~/echarts/lib/component/helper/sliderMove.js","webpack:///./~/echarts/lib/coord/axisModelCommonMixin.js","webpack:///./~/echarts/lib/data/helper/createDimensions.js","webpack:///./~/echarts/lib/model/mixin/makeStyleMapper.js","webpack:///./~/zrender/lib/core/PathProxy.js","webpack:///./~/zrender/lib/graphic/Image.js","webpack:///./~/core-js/library/modules/_ctx.js","webpack:///./~/babel-runtime/helpers/typeof.js","webpack:///./~/core-js/library/modules/_to-object.js","webpack:///./~/core-js/library/modules/_cof.js","webpack:///./~/core-js/library/modules/_iterators.js","webpack:///./~/core-js/library/modules/_library.js","webpack:///./~/core-js/library/modules/_object-keys.js","webpack:///./~/core-js/library/modules/_property-desc.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/echarts/lib/chart/helper/SymbolDraw.js","webpack:///./~/echarts/lib/chart/helper/createClipPathFromCoordSys.js","webpack:///./~/echarts/lib/component/axisPointer.js","webpack:///./~/echarts/lib/component/gridSimple.js","webpack:///./~/echarts/lib/component/helper/RoamController.js","webpack:///./~/echarts/lib/data/Source.js","webpack:///./~/echarts/lib/data/helper/dimensionHelper.js","webpack:///./~/echarts/lib/data/helper/sourceType.js","webpack:///./~/echarts/lib/layout/points.js","webpack:///./~/echarts/lib/processor/dataFilter.js","webpack:///./~/echarts/lib/util/component.js","webpack:///./~/echarts/lib/visual/LegendVisualProvider.js","webpack:///./~/element-ui/lib/locale/index.js","webpack:///./~/zrender/lib/core/log.js","webpack:///./~/zrender/lib/graphic/Displayable.js","webpack:///./~/core-js/library/modules/_a-function.js","webpack:///./~/core-js/library/modules/_set-to-string-tag.js","webpack:///./~/core-js/library/modules/_object-pie.js","webpack:///./~/core-js/library/modules/_uid.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_regexp-exec-abstract.js","webpack:///./~/core-js/modules/_set-collection-from.js","webpack:///./~/core-js/modules/_set-collection-of.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/core-js/modules/_user-agent.js","webpack:///./~/echarts/lib/chart/helper/Symbol.js","webpack:///./~/echarts/lib/component/axisPointer/modelHelper.js","webpack:///./~/echarts/lib/component/axisPointer/viewHelper.js","webpack:///./~/echarts/lib/component/helper/cursorHelper.js","webpack:///./~/echarts/lib/coord/axisModelCreator.js","webpack:///./~/echarts/lib/coord/geo/geoSourceManager.js","webpack:///./~/echarts/lib/layout/barGrid.js","webpack:///./~/echarts/lib/scale/Interval.js","webpack:///./~/echarts/lib/scale/Scale.js","webpack:///./~/echarts/lib/view/Component.js","webpack:///./~/echarts/lib/visual/dataColor.js","webpack:///./~/echarts/lib/visual/visualSolution.js","webpack:///./~/element-ui/lib/utils/merge.js","webpack:///./~/element-ui/lib/utils/shared.js","webpack:///./~/element-ui/lib/utils/vue-popper.js","webpack:///./~/throttle-debounce/debounce.js","webpack:///./~/zrender/lib/config.js","webpack:///./~/zrender/lib/core/bbox.js","webpack:///./~/zrender/lib/graphic/Gradient.js","webpack:///./~/zrender/lib/graphic/constant.js","webpack:///./~/zrender/lib/graphic/helper/text.js","webpack:///./~/zrender/lib/zrender.js","webpack:///./~/core-js/library/modules/es6.string.iterator.js","webpack:///./~/core-js/library/modules/_object-gops.js","webpack:///./~/core-js/library/modules/_to-length.js","webpack:///./~/core-js/library/modules/_wks-ext.js","webpack:///./~/axios/lib/defaults.js","webpack:///./~/vue-xpc/src/components/table/store.js","webpack:///./~/vue-xpc/src/config.js","webpack:///./~/core-js/library/modules/_defined.js","webpack:///./~/core-js/library/modules/_dom-create.js","webpack:///./~/core-js/library/modules/_enum-bug-keys.js","webpack:///./~/core-js/library/modules/_new-promise-capability.js","webpack:///./~/core-js/library/modules/_shared-key.js","webpack:///./~/core-js/library/modules/_shared.js","webpack:///./~/core-js/library/modules/_to-integer.js","webpack:///./~/core-js/library/modules/_to-primitive.js","webpack:///./~/core-js/library/modules/_wks-define.js","webpack:///./~/core-js/modules/_advance-string-index.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_new-promise-capability.js","webpack:///./~/core-js/modules/_regexp-exec.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/echarts/lib/action/roamHelper.js","webpack:///./~/echarts/lib/chart/graph/graphHelper.js","webpack:///./~/echarts/lib/chart/helper/Line.js","webpack:///./~/echarts/lib/chart/helper/LineDraw.js","webpack:///./~/echarts/lib/chart/helper/labelHelper.js","webpack:///./~/echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack:///./~/echarts/lib/component/dataZoom/dataZoomAction.js","webpack:///./~/echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack:///./~/echarts/lib/component/dataZoom/helper.js","webpack:///./~/echarts/lib/component/dataZoom/typeDefaulter.js","webpack:///./~/echarts/lib/component/helper/BrushController.js","webpack:///./~/echarts/lib/component/helper/roamHelper.js","webpack:///./~/echarts/lib/component/helper/selectableMixin.js","webpack:///./~/echarts/lib/component/marker/MarkerModel.js","webpack:///./~/echarts/lib/component/marker/MarkerView.js","webpack:///./~/echarts/lib/component/marker/markerHelper.js","webpack:///./~/echarts/lib/coord/View.js","webpack:///./~/echarts/lib/coord/cartesian/Grid.js","webpack:///./~/echarts/lib/coord/geo/geoCreator.js","webpack:///./~/echarts/lib/coord/geo/mapDataStorage.js","webpack:///./~/echarts/lib/coord/polar/polarCreator.js","webpack:///./~/echarts/lib/data/Tree.js","webpack:///./~/echarts/lib/model/mixin/dataFormat.js","webpack:///./~/echarts/lib/stream/task.js","webpack:///./~/element-ui/lib/input.js","webpack:///./~/element-ui/lib/mixins/focus.js","webpack:///./~/element-ui/lib/mixins/locale.js","webpack:///./~/element-ui/lib/scrollbar.js","webpack:///./~/element-ui/lib/utils/aria-utils.js","webpack:///./~/element-ui/lib/utils/resize-event.js","webpack:///./~/element-ui/lib/utils/scroll-into-view.js","webpack:///./~/element-ui/lib/utils/scrollbar-width.js","webpack:///./~/throttle-debounce/throttle.js","webpack:///./~/zrender/lib/core/timsort.js","webpack:///./~/zrender/lib/graphic/IncrementalDisplayable.js","webpack:///./~/zrender/lib/graphic/LinearGradient.js","webpack:///./~/zrender/lib/graphic/Style.js","webpack:///./~/zrender/lib/graphic/helper/image.js","webpack:///./~/zrender/lib/graphic/helper/subPixelOptimize.js","webpack:///./~/zrender/lib/graphic/shape/Rect.js","webpack:///./~/zrender/lib/mixin/Transformable.js","webpack:///./~/zrender/lib/svg/core.js","webpack:///./~/zrender/lib/svg/graphic.js","webpack:///./~/zrender/lib/svg/helper/Definable.js","webpack:///./~/babel-runtime/helpers/extends.js","webpack:///./~/vuex/dist/vuex.esm.js","webpack:///./~/babel-runtime/helpers/asyncToGenerator.js","webpack:///./~/babel-runtime/regenerator/index.js","webpack:///./~/babel-runtime/core-js/json/stringify.js","webpack:///./~/core-js/library/modules/web.dom.iterable.js","webpack:///./~/core-js/library/modules/_object-create.js","webpack:///./~/core-js/library/modules/core.get-iterator-method.js","webpack:///./~/babel-runtime/core-js/object/define-property.js","webpack:///./~/core-js/library/modules/_classof.js","webpack:///./~/core-js/library/modules/_iobject.js","webpack:///./~/core-js/library/modules/_iter-define.js","webpack:///./~/core-js/library/modules/_object-gopn.js","webpack:///./~/core-js/library/modules/_task.js","webpack:///./~/process/browser.js","webpack:///./~/async-validator/es/rule/required.js","webpack:///./~/axios/lib/adapters/xhr.js","webpack:///./~/axios/lib/cancel/Cancel.js","webpack:///./~/axios/lib/cancel/isCancel.js","webpack:///./~/axios/lib/core/createError.js","webpack:///./~/axios/lib/helpers/bind.js","webpack:///./~/babel-helper-vue-jsx-merge-props/index.js","webpack:///./~/vue-xpc/src/components/cascader/store.js","webpack:///./~/core-js/library/modules/_html.js","webpack:///./~/core-js/library/modules/_ie8-dom-define.js","webpack:///./~/core-js/library/modules/_is-array-iter.js","webpack:///./~/core-js/library/modules/_iter-call.js","webpack:///./~/core-js/library/modules/_iter-detect.js","webpack:///./~/core-js/library/modules/_object-keys-internal.js","webpack:///./~/core-js/library/modules/_perform.js","webpack:///./~/core-js/library/modules/_promise-resolve.js","webpack:///./~/core-js/library/modules/_redefine.js","webpack:///./~/core-js/library/modules/_species-constructor.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/_flatten-into-array.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_math-fround.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/_math-scale.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_perform.js","webpack:///./~/core-js/modules/_promise-resolve.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/es6.regexp.exec.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/echarts/lib/ExtensionAPI.js","webpack:///./~/echarts/lib/action/createDataSelectAction.js","webpack:///./~/echarts/lib/action/geoRoam.js","webpack:///./~/echarts/lib/chart/bar/BaseBarSeries.js","webpack:///./~/echarts/lib/chart/bar/helper.js","webpack:///./~/echarts/lib/chart/graph/circularLayoutHelper.js","webpack:///./~/echarts/lib/chart/graph/simpleLayoutHelper.js","webpack:///./~/echarts/lib/chart/helper/EffectLine.js","webpack:///./~/echarts/lib/chart/helper/Polyline.js","webpack:///./~/echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack:///./~/echarts/lib/chart/helper/focusNodeAdjacencyAction.js","webpack:///./~/echarts/lib/chart/helper/whiskerBoxCommon.js","webpack:///./~/echarts/lib/chart/line/helper.js","webpack:///./~/echarts/lib/chart/line/poly.js","webpack:///./~/echarts/lib/chart/lines/linesLayout.js","webpack:///./~/echarts/lib/chart/tree/layoutHelper.js","webpack:///./~/echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack:///./~/echarts/lib/component/axisPointer/findPointFromSeries.js","webpack:///./~/echarts/lib/component/axisPointer/globalListener.js","webpack:///./~/echarts/lib/component/axis/axisSplitHelper.js","webpack:///./~/echarts/lib/component/brush/visualEncoding.js","webpack:///./~/echarts/lib/component/dataZoomInside.js","webpack:///./~/echarts/lib/component/dataZoomSlider.js","webpack:///./~/echarts/lib/component/dataZoom/history.js","webpack:///./~/echarts/lib/component/dataset.js","webpack:///./~/echarts/lib/component/helper/BrushTargetManager.js","webpack:///./~/echarts/lib/component/helper/MapDraw.js","webpack:///./~/echarts/lib/component/helper/brushHelper.js","webpack:///./~/echarts/lib/component/helper/interactionMutex.js","webpack:///./~/echarts/lib/component/helper/listComponent.js","webpack:///./~/echarts/lib/component/legend.js","webpack:///./~/echarts/lib/component/legend/LegendModel.js","webpack:///./~/echarts/lib/component/legend/LegendView.js","webpack:///./~/echarts/lib/component/parallel.js","webpack:///./~/echarts/lib/component/singleAxis.js","webpack:///./~/echarts/lib/component/visualMapContinuous.js","webpack:///./~/echarts/lib/component/visualMapPiecewise.js","webpack:///./~/echarts/lib/component/visualMap/VisualMapModel.js","webpack:///./~/echarts/lib/component/visualMap/VisualMapView.js","webpack:///./~/echarts/lib/component/visualMap/helper.js","webpack:///./~/echarts/lib/component/visualMap/preprocessor.js","webpack:///./~/echarts/lib/component/visualMap/typeDefaulter.js","webpack:///./~/echarts/lib/component/visualMap/visualEncoding.js","webpack:///./~/echarts/lib/component/visualMap/visualMapAction.js","webpack:///./~/echarts/lib/coord/axisDefault.js","webpack:///./~/echarts/lib/coord/cartesian/AxisModel.js","webpack:///./~/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack:///./~/echarts/lib/coord/geo/Region.js","webpack:///./~/echarts/lib/coord/geo/parseGeoJson.js","webpack:///./~/echarts/lib/coord/parallel/parallelCreator.js","webpack:///./~/echarts/lib/coord/single/singleAxisHelper.js","webpack:///./~/echarts/lib/data/DataDimensionInfo.js","webpack:///./~/echarts/lib/data/OrdinalMeta.js","webpack:///./~/echarts/lib/data/helper/completeDimensions.js","webpack:///./~/echarts/lib/data/helper/linkList.js","webpack:///./~/echarts/lib/export.js","webpack:///./~/echarts/lib/model/Global.js","webpack:///./~/echarts/lib/model/mixin/colorPalette.js","webpack:///./~/echarts/lib/scale/Log.js","webpack:///./~/echarts/lib/scale/helper.js","webpack:///./~/echarts/lib/visual/visualDefault.js","webpack:///./~/element-ui/lib/checkbox.js","webpack:///./~/element-ui/lib/element-ui.common.js","webpack:///./~/element-ui/lib/locale/lang/zh-CN.js","webpack:///./~/element-ui/lib/mixins/migrating.js","webpack:///./~/element-ui/lib/radio.js","webpack:///./~/element-ui/lib/tag.js","webpack:///./~/element-ui/lib/utils/clickoutside.js","webpack:///./~/element-ui/lib/utils/date.js","webpack:///./~/element-ui/lib/utils/popup/index.js","webpack:///./~/element-ui/lib/utils/types.js","webpack:///./~/zrender/lib/Element.js","webpack:///./~/zrender/lib/animation/Animator.js","webpack:///./~/zrender/lib/animation/requestAnimationFrame.js","webpack:///./~/zrender/lib/contain/line.js","webpack:///./~/zrender/lib/contain/polygon.js","webpack:///./~/zrender/lib/contain/quadratic.js","webpack:///./~/zrender/lib/contain/util.js","webpack:///./~/zrender/lib/contain/windingLine.js","webpack:///./~/zrender/lib/core/LRU.js","webpack:///./~/zrender/lib/core/dom.js","webpack:///./~/zrender/lib/core/guid.js","webpack:///./~/zrender/lib/graphic/Pattern.js","webpack:///./~/zrender/lib/graphic/helper/fixClipWithShadow.js","webpack:///./~/zrender/lib/graphic/helper/fixShadow.js","webpack:///./~/zrender/lib/graphic/helper/poly.js","webpack:///./~/zrender/lib/graphic/helper/roundRect.js","webpack:///./~/zrender/lib/graphic/mixin/RectText.js","webpack:///./~/zrender/lib/graphic/shape/Circle.js","webpack:///./~/zrender/lib/graphic/shape/Line.js","webpack:///./~/zrender/lib/graphic/shape/Polygon.js","webpack:///./~/zrender/lib/graphic/shape/Polyline.js","webpack:///./~/zrender/lib/tool/parseSVG.js","webpack:///./~/zrender/lib/tool/path.js","webpack:///./~/zrender/lib/vml/core.js","webpack:///./~/babel-polyfill/lib/index.js","webpack:///./~/core-js/library/modules/_object-sap.js","webpack:///./~/core-js/library/modules/_for-of.js","webpack:///./~/core-js/library/modules/_meta.js","webpack:///./~/babel-runtime/core-js/object/keys.js","webpack:///./~/core-js/library/modules/_an-instance.js","webpack:///./~/core-js/library/modules/_redefine-all.js","webpack:///./~/babel-runtime/helpers/toConsumableArray.js","webpack:///./~/babel-runtime/core-js/symbol.js","webpack:///./~/babel-runtime/core-js/symbol/iterator.js","webpack:///./~/core-js/library/modules/_is-array.js","webpack:///./~/core-js/library/modules/_iter-step.js","webpack:///./~/core-js/library/modules/_object-gopd.js","webpack:///./~/core-js/library/modules/_object-gopn-ext.js","webpack:///./~/core-js/library/modules/_object-gpo.js","webpack:///./~/core-js/library/modules/_set-species.js","webpack:///./~/babel-runtime/helpers/defineProperty.js","webpack:///./~/echarts/index.js","webpack:///./~/async-validator/es/index.js","webpack:///./~/async-validator/es/messages.js","webpack:///./~/async-validator/es/rule/enum.js","webpack:///./~/async-validator/es/rule/pattern.js","webpack:///./~/async-validator/es/rule/range.js","webpack:///./~/async-validator/es/rule/type.js","webpack:///./~/async-validator/es/rule/whitespace.js","webpack:///./~/async-validator/es/validator/array.js","webpack:///./~/async-validator/es/validator/boolean.js","webpack:///./~/async-validator/es/validator/date.js","webpack:///./~/async-validator/es/validator/enum.js","webpack:///./~/async-validator/es/validator/float.js","webpack:///./~/async-validator/es/validator/index.js","webpack:///./~/async-validator/es/validator/integer.js","webpack:///./~/async-validator/es/validator/method.js","webpack:///./~/async-validator/es/validator/number.js","webpack:///./~/async-validator/es/validator/object.js","webpack:///./~/async-validator/es/validator/pattern.js","webpack:///./~/async-validator/es/validator/regexp.js","webpack:///./~/async-validator/es/validator/required.js","webpack:///./~/async-validator/es/validator/string.js","webpack:///./~/async-validator/es/validator/type.js","webpack:///./~/axios/index.js","webpack:///./~/axios/lib/axios.js","webpack:///./~/axios/lib/cancel/CancelToken.js","webpack:///./~/axios/lib/core/Axios.js","webpack:///./~/axios/lib/core/InterceptorManager.js","webpack:///./~/axios/lib/core/dispatchRequest.js","webpack:///./~/axios/lib/core/enhanceError.js","webpack:///./~/axios/lib/core/settle.js","webpack:///./~/axios/lib/core/transformData.js","webpack:///./~/axios/lib/helpers/btoa.js","webpack:///./~/axios/lib/helpers/buildURL.js","webpack:///./~/axios/lib/helpers/combineURLs.js","webpack:///./~/axios/lib/helpers/cookies.js","webpack:///./~/axios/lib/helpers/isAbsoluteURL.js","webpack:///./~/axios/lib/helpers/isURLSameOrigin.js","webpack:///./~/axios/lib/helpers/normalizeHeaderName.js","webpack:///./~/axios/lib/helpers/parseHeaders.js","webpack:///./~/axios/lib/helpers/spread.js","webpack:///./~/vue-xpc/src/assets/icons/index.js","webpack:///./~/vue-xpc/src/components/index.js","webpack:///./~/vue-xpc/src/components/lookup/index.js","webpack:///./~/vue-xpc/src/components/table/rtTableColumn.js","webpack:///./~/vue-xpc/src/components/tree/rtTree.js","webpack:///./~/vue-xpc/src/components/upload/rtUpload.js","webpack:///./~/vue-xpc/src/plugins/address-plugin.js","webpack:///./~/vue-xpc/src/plugins/index.js","webpack:///./~/vue-xpc/src/plugins/locale-plugin.js","webpack:///./~/vue-xpc/src/plugins/lookup-plugin.js","webpack:///./~/vue-xpc/src/plugins/picklist-plugin.js","webpack:///./~/vue-xpc/src/transitions/collapse-transition.js","webpack:///./~/babel-runtime/core-js/array/from.js","webpack:///./~/babel-runtime/helpers/classCallCheck.js","webpack:///./~/babel-runtime/helpers/createClass.js","webpack:///./~/babel-runtime/~/regenerator-runtime/runtime-module.js","webpack:///./~/babel-runtime/~/regenerator-runtime/runtime.js","webpack:///./~/core-js/fn/regexp/escape.js","webpack:///./~/core-js/library/fn/array/from.js","webpack:///./~/core-js/library/fn/json/stringify.js","webpack:///./~/core-js/library/fn/object/assign.js","webpack:///./~/core-js/library/fn/object/define-property.js","webpack:///./~/core-js/library/fn/object/keys.js","webpack:///./~/core-js/library/fn/promise.js","webpack:///./~/core-js/library/fn/symbol/index.js","webpack:///./~/core-js/library/fn/symbol/iterator.js","webpack:///./~/core-js/library/modules/_add-to-unscopables.js","webpack:///./~/core-js/library/modules/_array-includes.js","webpack:///./~/core-js/library/modules/_create-property.js","webpack:///./~/core-js/library/modules/_enum-keys.js","webpack:///./~/core-js/library/modules/_invoke.js","webpack:///./~/core-js/library/modules/_iter-create.js","webpack:///./~/core-js/library/modules/_microtask.js","webpack:///./~/core-js/library/modules/_object-assign.js","webpack:///./~/core-js/library/modules/_object-dps.js","webpack:///./~/core-js/library/modules/_string-at.js","webpack:///./~/core-js/library/modules/_to-absolute-index.js","webpack:///./~/core-js/library/modules/_user-agent.js","webpack:///./~/core-js/library/modules/es6.array.from.js","webpack:///./~/core-js/library/modules/es6.array.iterator.js","webpack:///./~/core-js/library/modules/es6.object.assign.js","webpack:///./~/core-js/library/modules/es6.object.define-property.js","webpack:///./~/core-js/library/modules/es6.object.keys.js","webpack:///./~/core-js/library/modules/es6.promise.js","webpack:///./~/core-js/library/modules/es6.symbol.js","webpack:///./~/core-js/library/modules/es7.promise.finally.js","webpack:///./~/core-js/library/modules/es7.promise.try.js","webpack:///./~/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/library/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/_date-to-iso-string.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_function-to-string.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es7.array.flat-map.js","webpack:///./~/core-js/modules/es7.array.flatten.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.global.js","webpack:///./~/core-js/modules/es7.map.from.js","webpack:///./~/core-js/modules/es7.map.of.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/es7.math.clamp.js","webpack:///./~/core-js/modules/es7.math.deg-per-rad.js","webpack:///./~/core-js/modules/es7.math.degrees.js","webpack:///./~/core-js/modules/es7.math.fscale.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.rad-per-deg.js","webpack:///./~/core-js/modules/es7.math.radians.js","webpack:///./~/core-js/modules/es7.math.scale.js","webpack:///./~/core-js/modules/es7.math.signbit.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/es7.promise.finally.js","webpack:///./~/core-js/modules/es7.promise.try.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.set.from.js","webpack:///./~/core-js/modules/es7.set.of.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/es7.weak-map.from.js","webpack:///./~/core-js/modules/es7.weak-map.of.js","webpack:///./~/core-js/modules/es7.weak-set.from.js","webpack:///./~/core-js/modules/es7.weak-set.of.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/shim.js","webpack:///./~/echarts/lib/chart/bar.js","webpack:///./~/echarts/lib/chart/bar/BarSeries.js","webpack:///./~/echarts/lib/chart/bar/BarView.js","webpack:///./~/echarts/lib/chart/bar/PictorialBarSeries.js","webpack:///./~/echarts/lib/chart/bar/PictorialBarView.js","webpack:///./~/echarts/lib/chart/bar/barItemStyle.js","webpack:///./~/echarts/lib/chart/boxplot.js","webpack:///./~/echarts/lib/chart/boxplot/BoxplotSeries.js","webpack:///./~/echarts/lib/chart/boxplot/BoxplotView.js","webpack:///./~/echarts/lib/chart/boxplot/boxplotLayout.js","webpack:///./~/echarts/lib/chart/boxplot/boxplotVisual.js","webpack:///./~/echarts/lib/chart/candlestick.js","webpack:///./~/echarts/lib/chart/candlestick/CandlestickSeries.js","webpack:///./~/echarts/lib/chart/candlestick/CandlestickView.js","webpack:///./~/echarts/lib/chart/candlestick/candlestickLayout.js","webpack:///./~/echarts/lib/chart/candlestick/candlestickVisual.js","webpack:///./~/echarts/lib/chart/candlestick/preprocessor.js","webpack:///./~/echarts/lib/chart/custom.js","webpack:///./~/echarts/lib/chart/effectScatter.js","webpack:///./~/echarts/lib/chart/effectScatter/EffectScatterSeries.js","webpack:///./~/echarts/lib/chart/effectScatter/EffectScatterView.js","webpack:///./~/echarts/lib/chart/funnel.js","webpack:///./~/echarts/lib/chart/funnel/FunnelSeries.js","webpack:///./~/echarts/lib/chart/funnel/FunnelView.js","webpack:///./~/echarts/lib/chart/funnel/funnelLayout.js","webpack:///./~/echarts/lib/chart/gauge.js","webpack:///./~/echarts/lib/chart/gauge/GaugeSeries.js","webpack:///./~/echarts/lib/chart/gauge/GaugeView.js","webpack:///./~/echarts/lib/chart/gauge/PointerPath.js","webpack:///./~/echarts/lib/chart/graph.js","webpack:///./~/echarts/lib/chart/graph/GraphSeries.js","webpack:///./~/echarts/lib/chart/graph/GraphView.js","webpack:///./~/echarts/lib/chart/graph/adjustEdge.js","webpack:///./~/echarts/lib/chart/graph/categoryFilter.js","webpack:///./~/echarts/lib/chart/graph/categoryVisual.js","webpack:///./~/echarts/lib/chart/graph/circularLayout.js","webpack:///./~/echarts/lib/chart/graph/createView.js","webpack:///./~/echarts/lib/chart/graph/edgeVisual.js","webpack:///./~/echarts/lib/chart/graph/forceHelper.js","webpack:///./~/echarts/lib/chart/graph/forceLayout.js","webpack:///./~/echarts/lib/chart/graph/graphAction.js","webpack:///./~/echarts/lib/chart/graph/simpleLayout.js","webpack:///./~/echarts/lib/chart/heatmap.js","webpack:///./~/echarts/lib/chart/heatmap/HeatmapLayer.js","webpack:///./~/echarts/lib/chart/heatmap/HeatmapSeries.js","webpack:///./~/echarts/lib/chart/heatmap/HeatmapView.js","webpack:///./~/echarts/lib/chart/helper/EffectPolyline.js","webpack:///./~/echarts/lib/chart/helper/EffectSymbol.js","webpack:///./~/echarts/lib/chart/helper/LargeLineDraw.js","webpack:///./~/echarts/lib/chart/helper/LargeSymbolDraw.js","webpack:///./~/echarts/lib/chart/helper/LinePath.js","webpack:///./~/echarts/lib/chart/line.js","webpack:///./~/echarts/lib/chart/line/LineSeries.js","webpack:///./~/echarts/lib/chart/line/LineView.js","webpack:///./~/echarts/lib/chart/line/lineAnimationDiff.js","webpack:///./~/echarts/lib/chart/lines.js","webpack:///./~/echarts/lib/chart/lines/LinesSeries.js","webpack:///./~/echarts/lib/chart/lines/LinesView.js","webpack:///./~/echarts/lib/chart/lines/linesVisual.js","webpack:///./~/echarts/lib/chart/map.js","webpack:///./~/echarts/lib/chart/map/MapSeries.js","webpack:///./~/echarts/lib/chart/map/MapView.js","webpack:///./~/echarts/lib/chart/map/backwardCompat.js","webpack:///./~/echarts/lib/chart/map/mapDataStatistic.js","webpack:///./~/echarts/lib/chart/map/mapSymbolLayout.js","webpack:///./~/echarts/lib/chart/map/mapVisual.js","webpack:///./~/echarts/lib/chart/parallel.js","webpack:///./~/echarts/lib/chart/parallel/ParallelSeries.js","webpack:///./~/echarts/lib/chart/parallel/ParallelView.js","webpack:///./~/echarts/lib/chart/parallel/parallelVisual.js","webpack:///./~/echarts/lib/chart/pictorialBar.js","webpack:///./~/echarts/lib/chart/pie.js","webpack:///./~/echarts/lib/chart/pie/PieSeries.js","webpack:///./~/echarts/lib/chart/pie/PieView.js","webpack:///./~/echarts/lib/chart/pie/labelLayout.js","webpack:///./~/echarts/lib/chart/pie/pieLayout.js","webpack:///./~/echarts/lib/chart/radar.js","webpack:///./~/echarts/lib/chart/radar/RadarSeries.js","webpack:///./~/echarts/lib/chart/radar/RadarView.js","webpack:///./~/echarts/lib/chart/radar/backwardCompat.js","webpack:///./~/echarts/lib/chart/radar/radarLayout.js","webpack:///./~/echarts/lib/chart/sankey.js","webpack:///./~/echarts/lib/chart/sankey/SankeySeries.js","webpack:///./~/echarts/lib/chart/sankey/SankeyView.js","webpack:///./~/echarts/lib/chart/sankey/sankeyAction.js","webpack:///./~/echarts/lib/chart/sankey/sankeyLayout.js","webpack:///./~/echarts/lib/chart/sankey/sankeyVisual.js","webpack:///./~/echarts/lib/chart/scatter.js","webpack:///./~/echarts/lib/chart/scatter/ScatterSeries.js","webpack:///./~/echarts/lib/chart/scatter/ScatterView.js","webpack:///./~/echarts/lib/chart/sunburst.js","webpack:///./~/echarts/lib/chart/sunburst/SunburstPiece.js","webpack:///./~/echarts/lib/chart/sunburst/SunburstSeries.js","webpack:///./~/echarts/lib/chart/sunburst/SunburstView.js","webpack:///./~/echarts/lib/chart/sunburst/sunburstAction.js","webpack:///./~/echarts/lib/chart/sunburst/sunburstLayout.js","webpack:///./~/echarts/lib/chart/themeRiver.js","webpack:///./~/echarts/lib/chart/themeRiver/ThemeRiverSeries.js","webpack:///./~/echarts/lib/chart/themeRiver/ThemeRiverView.js","webpack:///./~/echarts/lib/chart/themeRiver/themeRiverLayout.js","webpack:///./~/echarts/lib/chart/themeRiver/themeRiverVisual.js","webpack:///./~/echarts/lib/chart/tree.js","webpack:///./~/echarts/lib/chart/tree/TreeSeries.js","webpack:///./~/echarts/lib/chart/tree/TreeView.js","webpack:///./~/echarts/lib/chart/tree/traversalHelper.js","webpack:///./~/echarts/lib/chart/tree/treeAction.js","webpack:///./~/echarts/lib/chart/tree/treeLayout.js","webpack:///./~/echarts/lib/chart/treemap.js","webpack:///./~/echarts/lib/chart/treemap/Breadcrumb.js","webpack:///./~/echarts/lib/chart/treemap/TreemapSeries.js","webpack:///./~/echarts/lib/chart/treemap/TreemapView.js","webpack:///./~/echarts/lib/chart/treemap/treemapAction.js","webpack:///./~/echarts/lib/chart/treemap/treemapLayout.js","webpack:///./~/echarts/lib/chart/treemap/treemapVisual.js","webpack:///./~/echarts/lib/component/angleAxis.js","webpack:///./~/echarts/lib/component/axis.js","webpack:///./~/echarts/lib/component/axisPointer/AxisPointerModel.js","webpack:///./~/echarts/lib/component/axisPointer/AxisPointerView.js","webpack:///./~/echarts/lib/component/axisPointer/PolarAxisPointer.js","webpack:///./~/echarts/lib/component/axisPointer/SingleAxisPointer.js","webpack:///./~/echarts/lib/component/axisPointer/axisTrigger.js","webpack:///./~/echarts/lib/component/axis/AngleAxisView.js","webpack:///./~/echarts/lib/component/axis/CartesianAxisView.js","webpack:///./~/echarts/lib/component/axis/ParallelAxisView.js","webpack:///./~/echarts/lib/component/axis/RadiusAxisView.js","webpack:///./~/echarts/lib/component/axis/SingleAxisView.js","webpack:///./~/echarts/lib/component/axis/parallelAxisAction.js","webpack:///./~/echarts/lib/component/brush.js","webpack:///./~/echarts/lib/component/brush/BrushModel.js","webpack:///./~/echarts/lib/component/brush/BrushView.js","webpack:///./~/echarts/lib/component/brush/brushAction.js","webpack:///./~/echarts/lib/component/brush/preprocessor.js","webpack:///./~/echarts/lib/component/brush/selector.js","webpack:///./~/echarts/lib/component/calendar.js","webpack:///./~/echarts/lib/component/calendar/CalendarView.js","webpack:///./~/echarts/lib/component/dataZoom.js","webpack:///./~/echarts/lib/component/dataZoomSelect.js","webpack:///./~/echarts/lib/component/dataZoom/AxisProxy.js","webpack:///./~/echarts/lib/component/dataZoom/InsideZoomModel.js","webpack:///./~/echarts/lib/component/dataZoom/InsideZoomView.js","webpack:///./~/echarts/lib/component/dataZoom/SelectZoomModel.js","webpack:///./~/echarts/lib/component/dataZoom/SelectZoomView.js","webpack:///./~/echarts/lib/component/dataZoom/SliderZoomModel.js","webpack:///./~/echarts/lib/component/dataZoom/SliderZoomView.js","webpack:///./~/echarts/lib/component/dataZoom/roams.js","webpack:///./~/echarts/lib/component/geo.js","webpack:///./~/echarts/lib/component/geo/GeoView.js","webpack:///./~/echarts/lib/component/graphic.js","webpack:///./~/echarts/lib/component/grid.js","webpack:///./~/echarts/lib/component/legendScroll.js","webpack:///./~/echarts/lib/component/legend/ScrollableLegendModel.js","webpack:///./~/echarts/lib/component/legend/ScrollableLegendView.js","webpack:///./~/echarts/lib/component/legend/legendAction.js","webpack:///./~/echarts/lib/component/legend/legendFilter.js","webpack:///./~/echarts/lib/component/legend/scrollableLegendAction.js","webpack:///./~/echarts/lib/component/markArea.js","webpack:///./~/echarts/lib/component/markLine.js","webpack:///./~/echarts/lib/component/markPoint.js","webpack:///./~/echarts/lib/component/marker/MarkAreaModel.js","webpack:///./~/echarts/lib/component/marker/MarkAreaView.js","webpack:///./~/echarts/lib/component/marker/MarkLineModel.js","webpack:///./~/echarts/lib/component/marker/MarkLineView.js","webpack:///./~/echarts/lib/component/marker/MarkPointModel.js","webpack:///./~/echarts/lib/component/marker/MarkPointView.js","webpack:///./~/echarts/lib/component/parallelAxis.js","webpack:///./~/echarts/lib/component/polar.js","webpack:///./~/echarts/lib/component/radar.js","webpack:///./~/echarts/lib/component/radar/RadarView.js","webpack:///./~/echarts/lib/component/radiusAxis.js","webpack:///./~/echarts/lib/component/timeline.js","webpack:///./~/echarts/lib/component/timeline/SliderTimelineModel.js","webpack:///./~/echarts/lib/component/timeline/SliderTimelineView.js","webpack:///./~/echarts/lib/component/timeline/TimelineAxis.js","webpack:///./~/echarts/lib/component/timeline/TimelineModel.js","webpack:///./~/echarts/lib/component/timeline/TimelineView.js","webpack:///./~/echarts/lib/component/timeline/preprocessor.js","webpack:///./~/echarts/lib/component/timeline/timelineAction.js","webpack:///./~/echarts/lib/component/timeline/typeDefaulter.js","webpack:///./~/echarts/lib/component/title.js","webpack:///./~/echarts/lib/component/toolbox.js","webpack:///./~/echarts/lib/component/toolbox/ToolboxModel.js","webpack:///./~/echarts/lib/component/toolbox/ToolboxView.js","webpack:///./~/echarts/lib/component/toolbox/feature/Brush.js","webpack:///./~/echarts/lib/component/toolbox/feature/DataView.js","webpack:///./~/echarts/lib/component/toolbox/feature/DataZoom.js","webpack:///./~/echarts/lib/component/toolbox/feature/MagicType.js","webpack:///./~/echarts/lib/component/toolbox/feature/Restore.js","webpack:///./~/echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack:///./~/echarts/lib/component/tooltip.js","webpack:///./~/echarts/lib/component/tooltip/TooltipContent.js","webpack:///./~/echarts/lib/component/tooltip/TooltipModel.js","webpack:///./~/echarts/lib/component/tooltip/TooltipRichContent.js","webpack:///./~/echarts/lib/component/tooltip/TooltipView.js","webpack:///./~/echarts/lib/component/visualMap.js","webpack:///./~/echarts/lib/component/visualMap/ContinuousModel.js","webpack:///./~/echarts/lib/component/visualMap/ContinuousView.js","webpack:///./~/echarts/lib/component/visualMap/PiecewiseModel.js","webpack:///./~/echarts/lib/component/visualMap/PiecewiseView.js","webpack:///./~/echarts/lib/coord/axisTickLabelBuilder.js","webpack:///./~/echarts/lib/coord/calendar/Calendar.js","webpack:///./~/echarts/lib/coord/calendar/CalendarModel.js","webpack:///./~/echarts/lib/coord/calendar/prepareCustom.js","webpack:///./~/echarts/lib/coord/cartesian/Axis2D.js","webpack:///./~/echarts/lib/coord/cartesian/Cartesian.js","webpack:///./~/echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///./~/echarts/lib/coord/cartesian/GridModel.js","webpack:///./~/echarts/lib/coord/cartesian/prepareCustom.js","webpack:///./~/echarts/lib/coord/geo/Geo.js","webpack:///./~/echarts/lib/coord/geo/GeoModel.js","webpack:///./~/echarts/lib/coord/geo/fix/diaoyuIsland.js","webpack:///./~/echarts/lib/coord/geo/fix/geoCoord.js","webpack:///./~/echarts/lib/coord/geo/fix/nanhai.js","webpack:///./~/echarts/lib/coord/geo/fix/textCoord.js","webpack:///./~/echarts/lib/coord/geo/geoJSONLoader.js","webpack:///./~/echarts/lib/coord/geo/geoSVGLoader.js","webpack:///./~/echarts/lib/coord/geo/prepareCustom.js","webpack:///./~/echarts/lib/coord/parallel/AxisModel.js","webpack:///./~/echarts/lib/coord/parallel/Parallel.js","webpack:///./~/echarts/lib/coord/parallel/ParallelAxis.js","webpack:///./~/echarts/lib/coord/parallel/ParallelModel.js","webpack:///./~/echarts/lib/coord/parallel/parallelPreprocessor.js","webpack:///./~/echarts/lib/coord/polar/AngleAxis.js","webpack:///./~/echarts/lib/coord/polar/AxisModel.js","webpack:///./~/echarts/lib/coord/polar/Polar.js","webpack:///./~/echarts/lib/coord/polar/PolarModel.js","webpack:///./~/echarts/lib/coord/polar/RadiusAxis.js","webpack:///./~/echarts/lib/coord/polar/prepareCustom.js","webpack:///./~/echarts/lib/coord/radar/IndicatorAxis.js","webpack:///./~/echarts/lib/coord/radar/Radar.js","webpack:///./~/echarts/lib/coord/radar/RadarModel.js","webpack:///./~/echarts/lib/coord/single/AxisModel.js","webpack:///./~/echarts/lib/coord/single/Single.js","webpack:///./~/echarts/lib/coord/single/SingleAxis.js","webpack:///./~/echarts/lib/coord/single/prepareCustom.js","webpack:///./~/echarts/lib/coord/single/singleCreator.js","webpack:///./~/echarts/lib/data/Graph.js","webpack:///./~/echarts/lib/helper.js","webpack:///./~/echarts/lib/layout/barPolar.js","webpack:///./~/echarts/lib/loading/default.js","webpack:///./~/echarts/lib/model/OptionManager.js","webpack:///./~/echarts/lib/model/globalDefault.js","webpack:///./~/echarts/lib/model/mixin/areaStyle.js","webpack:///./~/echarts/lib/model/mixin/boxLayout.js","webpack:///./~/echarts/lib/model/mixin/itemStyle.js","webpack:///./~/echarts/lib/model/mixin/lineStyle.js","webpack:///./~/echarts/lib/model/mixin/textStyle.js","webpack:///./~/echarts/lib/model/referHelper.js","webpack:///./~/echarts/lib/preprocessor/backwardCompat.js","webpack:///./~/echarts/lib/preprocessor/helper/compatStyle.js","webpack:///./~/echarts/lib/processor/dataSample.js","webpack:///./~/echarts/lib/processor/dataStack.js","webpack:///./~/echarts/lib/scale/Ordinal.js","webpack:///./~/echarts/lib/scale/Time.js","webpack:///./~/echarts/lib/stream/Scheduler.js","webpack:///./~/echarts/lib/theme/dark.js","webpack:///./~/echarts/lib/theme/light.js","webpack:///./~/echarts/lib/util/animation.js","webpack:///./~/echarts/lib/util/shape/sausage.js","webpack:///./~/echarts/lib/visual/aria.js","webpack:///./~/echarts/lib/visual/seriesColor.js","webpack:///./~/element-ui/lib/button-group.js","webpack:///./~/element-ui/lib/button.js","webpack:///./~/element-ui/lib/cascader-panel.js","webpack:///./~/element-ui/lib/checkbox-group.js","webpack:///./~/element-ui/lib/input-number.js","webpack:///./~/element-ui/lib/locale/format.js","webpack:///./~/element-ui/lib/locale/lang/en.js","webpack:///./~/element-ui/lib/option.js","webpack:///./~/element-ui/lib/popover.js","webpack:///./~/element-ui/lib/progress.js","webpack:///./~/element-ui/lib/select.js","webpack:///./~/element-ui/lib/tooltip.js","webpack:///./~/element-ui/lib/transitions/collapse-transition.js","webpack:///./~/element-ui/lib/utils/after-leave.js","webpack:///./~/element-ui/lib/utils/aria-dialog.js","webpack:///./~/element-ui/lib/utils/date-util.js","webpack:///./~/element-ui/lib/utils/popper.js","webpack:///./~/element-ui/lib/utils/popup/popup-manager.js","webpack:///./~/element-ui/lib/utils/vdom.js","webpack:///./~/element-ui/~/deepmerge/dist/cjs.js","webpack:///./~/is-buffer/index.js","webpack:///./~/normalize-wheel/index.js","webpack:///./~/normalize-wheel/src/ExecutionEnvironment.js","webpack:///./~/normalize-wheel/src/UserAgent_DEPRECATED.js","webpack:///./~/normalize-wheel/src/isEventSupported.js","webpack:///./~/normalize-wheel/src/normalizeWheel.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./~/setimmediate/setImmediate.js","webpack:///./~/throttle-debounce/index.js","webpack:///./~/timers-browserify/main.js","webpack:///./~/vue-moment/dist/vue-moment.js","webpack:///./~/vue-router/dist/vue-router.esm.js","webpack:///./~/vue-style-loader/lib/listToStyles.js","webpack:///./~/vue-xlsx-table/dist/index.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./~/zrender/lib/Handler.js","webpack:///./~/zrender/lib/Layer.js","webpack:///./~/zrender/lib/Painter.js","webpack:///./~/zrender/lib/Storage.js","webpack:///./~/zrender/lib/animation/Animation.js","webpack:///./~/zrender/lib/animation/Clip.js","webpack:///./~/zrender/lib/animation/easing.js","webpack:///./~/zrender/lib/contain/arc.js","webpack:///./~/zrender/lib/contain/cubic.js","webpack:///./~/zrender/lib/contain/path.js","webpack:///./~/zrender/lib/core/GestureMgr.js","webpack:///./~/zrender/lib/core/arrayDiff2.js","webpack:///./~/zrender/lib/core/fourPointsTransform.js","webpack:///./~/zrender/lib/dom/HandlerProxy.js","webpack:///./~/zrender/lib/graphic/CompoundPath.js","webpack:///./~/zrender/lib/graphic/RadialGradient.js","webpack:///./~/zrender/lib/graphic/helper/smoothBezier.js","webpack:///./~/zrender/lib/graphic/helper/smoothSpline.js","webpack:///./~/zrender/lib/graphic/shape/Arc.js","webpack:///./~/zrender/lib/graphic/shape/BezierCurve.js","webpack:///./~/zrender/lib/graphic/shape/Ellipse.js","webpack:///./~/zrender/lib/graphic/shape/Ring.js","webpack:///./~/zrender/lib/graphic/shape/Sector.js","webpack:///./~/zrender/lib/mixin/Animatable.js","webpack:///./~/zrender/lib/mixin/Draggable.js","webpack:///./~/zrender/lib/svg/Painter.js","webpack:///./~/zrender/lib/svg/helper/ClippathManager.js","webpack:///./~/zrender/lib/svg/helper/GradientManager.js","webpack:///./~/zrender/lib/svg/helper/ShadowManager.js","webpack:///./~/zrender/lib/svg/svg.js","webpack:///./~/zrender/lib/tool/transformPath.js","webpack:///./~/zrender/lib/vml/Painter.js","webpack:///./~/zrender/lib/vml/graphic.js","webpack:///./~/zrender/lib/vml/vml.js","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/vue-style-loader/lib/addStylesClient.js"],"names":["webpackJsonp","module","exports","$override","name","fn","_ctx","methods","clone","source","result","typeStr","objToString","call","isPrimitive","i","len","length","TYPED_ARRAY","Ctor","constructor","from","BUILTIN_OBJECT","isDom","key","hasOwnProperty","merge","target","overwrite","isObject","targetProp","sourceProp","isArray","isBuiltInObject","mergeAll","targetAndSources","extend","defaults","overlay","getContext","createCanvas","indexOf","array","value","inherits","clazz","baseClazz","F","clazzPrototype","prototype","prop","superClass","mixin","isArrayLike","data","each","obj","cb","context","forEach","nativeForEach","map","nativeMap","push","reduce","memo","nativeReduce","filter","nativeFilter","find","bind","func","args","nativeSlice","arguments","apply","concat","curry","this","isFunction","isString","type","isTypedArray","nodeType","ownerDocument","eqNaN","retrieve","values","retrieve2","value0","value1","retrieve3","value2","slice","Function","normalizeCssArray","val","assert","condition","message","Error","trim","str","replace","setAsPrimitive","primitiveKey","HashMap","visit","isArr","thisMap","set","createHashMap","concatArray","a","b","newArray","offset","noop","Object","toString","arrayProto","Array","document","createElement","get","removeKey","__webpack_require__","global","core","hide","redefine","ctx","$export","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","expProto","undefined","U","W","R","createRegisterEventWithLowercaseName","method","ignoreDisposed","eventName","handler","_disposed","id","toLowerCase","Eventful","MessageCenter","ECharts","dom","theme","opts","prioritySortFunc","__prio","themeStorage","group","_dom","zr","_zr","zrender","init","renderer","devicePixelRatio","width","height","_throttledZrFlush","throttle","zrUtil","flush","backwardCompat","_theme","_chartsViews","_chartsMap","_componentsViews","_componentsMap","_coordSysMgr","CoordinateSystemManager","api","_api","createExtensionAPI","timsort","visualFuncs","dataProcessorFuncs","_scheduler","Scheduler","_ecEventProcessor","EventProcessor","_messageCenter","_initEvents","resize","_pendingActions","animation","on","_onframe","bindRenderedEvent","doConvertPixel","methodName","finder","ecModel","_model","coordSysList","getCoordinateSystems","modelUtil","parseFinder","coordSys","prepare","ecIns","scheduler","restorePipelines","prepareStageTasks","prepareView","plan","updateDirectly","payload","mainType","subType","callView","view","__alive","__model","query","excludeSeriesId","normalizeToArray","eachComponent","model","__viewId","updateStreamModes","chartsMap","eachSeries","seriesModel","doDispatchAction","silent","payloadType","escapeConnect","actionWrap","actions","actionInfo","cptType","update","split","updateMethod","pop","parseClassType","IN_MAIN_PROCESS","payloads","batched","batch","item","eventObj","eventObjBatch","isHighDown","batchItem","action","event","main","sub","OPTION_UPDATED","updateMethods","trigger","flushPendingActions","pendingActions","shift","triggerUpdatedEvent","isFinished","unfinished","doPrepare","viewId","viewMap","classType","isComponent","ComponentView","getClass","ChartView","viewList","add","__id","__ecComponentInfo","index","componentIndex","componentType","renderTask","dispose","remove","splice","clearColorPalette","render","renderComponents","chart","renderSeries","dirtyList","componentView","componentModel","updateZ","dirtyMap","chartView","updatePayload","uid","dirty","perform","getPerformArgs","updateBlend","updateHoverLayerStatus","aria","performPostUpdateFuncs","postUpdateFuncs","storage","elCount","traverse","el","env","node","preventUsingHoverLayer","useHoverLayer","blendMode","isGroup","style","blend","setStyle","eachPendingDisplayable","displayable","z","zlevel","ecInstance","coordSysMgr","ExtensionAPI","getComponentByElement","modelInfo","getComponent","parent","eventInfo","enableConnect","updateConnectedChartsStatus","charts","status","STATUS_KEY","eventActionMap","actionType","eventType","connectedGroups","makeActionFromEvent","otherCharts","instances","otherChart","dispatchAction","existInstance","getInstanceByDom","idBase","setAttribute","DOM_ATTRIBUTE_KEY","connect","groupId","groupIdBase","disConnect","isDisposed","getAttribute","getInstanceById","registerTheme","registerPreprocessor","preprocessorFunc","optionPreprocessorFuncs","registerProcessor","priority","processor","normalizeRegister","PRIORITY_PROCESSOR_FILTER","registerPostUpdate","postUpdateFunc","registerAction","ACTION_REG","test","registerCoordinateSystem","CoordinateSystem","register","getCoordinateSystemDimensions","coordSysCreator","getDimensionsInfo","dimensions","registerLayout","layoutTask","PRIORITY_VISUAL_LAYOUT","registerVisual","visualTask","PRIORITY_VISUAL_CHART","targetList","defaultPriority","visualType","stageHandler","wrapStageHandler","__raw","registerLoading","loadingFx","loadingEffects","extendComponentModel","ComponentModel","extendComponentView","extendSeriesModel","SeriesModel","extendChartView","setCanvasCreator","creator","registerMap","mapName","geoJson","specialAreas","mapDataStorage","getMap","records","retrieveMap","geoJSON","_config","__DEV__","colorTool","GlobalModel","OptionManager","dataStack","graphic","_throttle","seriesColor","loadingDefault","lightTheme","darkTheme","dependencies","PRIORITY","PROCESSOR","FILTER","SERIES_FILTER","STATISTIC","VISUAL","LAYOUT","PROGRESSIVE_LAYOUT","GLOBAL","CHART","POST_CHART_LAYOUT","COMPONENT","BRUSH","off","one","echartsProto","remainTime","startTime","Date","performSeriesTasks","performDataProcessorTasks","performVisualTasks","getDom","getZr","setOption","option","notMerge","lazyUpdate","optionManager","setTheme","console","error","getModel","getOption","getWidth","getHeight","getDevicePixelRatio","painter","dpr","window","getRenderedCanvas","canvasSupported","pixelRatio","backgroundColor","getSvgDataUrl","svgSupported","list","getDisplayList","stopAnimation","pathToDataUrl","getDataURL","excludeComponents","excludesComponentViews","self","component","ignore","url","getType","toDataURL","getConnectedDataURL","mathMin","Math","min","mathMax","max","left","Infinity","top","right","bottom","canvasList","canvas","boundingRect","getBoundingClientRect","targetCanvas","connectedBackgroundColor","Rect","shape","x","y","fill","img","Image","image","refreshImmediately","convertToPixel","convertFromPixel","containPixel","models","coordinateSystem","containPoint","getVisual","defaultMainType","getData","dataIndexInside","indexOfRawIndex","dataIndex","getItemVisual","getViewOfComponentModel","getViewOfSeriesModel","prepareAndUpdate","restoreData","create","setBackgroundColor","colorArr","parse","stringify","updateTransform","componentDirtyList","seriesDirtyMap","setDirty","updateView","markUpdateMethod","updateVisual","updateLayout","_loadingFX","optionChanged","resetOption","showLoading","cfg","hideLoading","opt","browser","weChat","appendData","params","seriesIndex","getSeriesByIndex","MOUSE_EVENT_NAMES","eveName","e","dataModel","getDataParams","dataType","eventData","targetEl","packedEvent","zrEventfulCallAtLast","clear","series","normalizeQuery","cptQuery","dataQuery","otherQuery","condCptType","suffixes","dataKeys","reserved","propSuffix","suffixPos","lastIndexOf","check","host","propOnHost","filterForExposedEvent","afterTrigger","disconnect","dataTool","version","___ec_export","factory","createCommonjsModule","SpriteSymbol","ref","viewBox","content","destroy","this$1","hasImportNode","importNode","doc","DOMParser","parseFromString","documentElement","deepmerge","root","commonjsGlobal","isMergeableObject","emptyTarget","cloneIfNecessary","optionsArgument","defaultArrayMerge","destination","mergeObject","keys","options","arrayMerge","all","prev","next","namespaces_1","namespaces","svg","uri","xlink","default","objectToAttrsString","attrs","attr","join","defaultAttrs","wrapInSvgString","attributes","SpriteSymbol$$1","BrowserSpriteSymbol","__proto__","prototypeAccessors","isMounted","createFromExistingNode","outerHTML","unmount","mount","mountTarget","querySelector","appendChild","childNodes","parentNode","removeChild","defineProperties","mitt","emit","evt","selectAttributes","nodes","matcher","arrayFrom","acc","arrayfied","matched","encoder","specialUrlCharsPattern","match","charCodeAt","toUpperCase","escapeRegExp","updateReferences","startsWith","replaceWith","href","xLinkAttrName","newUrl","setAttributeNS","xLinkNS","svg$1","xlink$1","defaultConfig","Sprite","config","symbols","symbol","existing","s","has","stringifiedSymbols","sprite","defaultConfig$1","autoConfigure","mountTo","syncUrlsWithBaseTag","listenLocationChangeEvent","locationChangeEvent","locationChangeAngularEmitter","usagesToUpdate","moveGradientsOutsideSymbol","arrayLike","isChrome","navigator","userAgent","isFirefox","isIE","isEdge","dispatchEvent","createEvent","initCustomEvent","evalStylesIEWorkaround","updatedNodes","querySelectorAll","textContent","getUrlWithoutFragment","location","angular","run","$rootScope","$on","oldUrl","selector","insertBefore","attList","attSelector","updateUrls","references","startsWithEncoded","replaceWithEncoded","localName","RegExp","Events","MOUNT","SYMBOL_MOUNT","BrowserSprite","Sprite$$1","emitter","_emitter","_autoConfigure","baseUrl","getElementsByTagName","handleLocationChange","_handleLocationChange","addEventListener","spriteNode","symbolNode","detail","isNewSymbol","attach","removeEventListener","prepend","mountNode","usages","ready$1","definition","listener","fns","hack","doScroll","loaded","readyState","setTimeout","isSpriteExists","loadSprite","getElementById","body","rawScriptExports","compiledTemplate","scopeId","cssModules","esModule","scriptExports","staticRenderFns","_scopeId","computed","extendShape","Path","extendPath","pathData","pathTool","extendFromString","registerShape","ShapeClass","_customShapeMap","getShapeClass","makePath","rect","layout","path","createFromString","centerGraphic","getBoundingRect","resizePath","makeImage","imageUrl","ZImage","onload","aspect","applyTransform","pathRect","m","calculateTransform","subPixelOptimizeLine","param","subPixelOptimizeUtil","subPixelOptimizeRect","hasFillOrStroke","fillOrStroke","liftColor","color","liftedColor","liftedColorMap","lift","liftedColorCount","cacheElementStl","__hoverStlDirty","hoverStyle","__hoverStl","__cachedNormalStl","__cachedNormalZ2","normalStyle","z2","elStyle","stroke","singleEnterEmphasis","hoverStl","__highlighted","__zr","elTarget","targetStyle","addHover","rollbackDefaultTextStyle","extendFrom","setDefaultHoverFillStroke","applyDefaultTextStyle","Z2_EMPHASIS_LIFT","singleEnterNormal","highlighted","removeHover","normalStl","normalZ2","traverseUpdate","updater","commonParam","fromState","NORMAL","toState","EMPHASIS","child","__highDownOnUpdate","setElementHoverStyle","onElementMouseOver","shouldSilent","__highByOuter","onElementMouseOut","onElementEmphasisEvent","highlightDigit","onElementNormalEvent","__highDownSilentOnTouch","zrByTouch","setHoverStyle","setAsHighDownDispatcher","asDispatcher","disable","highDownSilentOnTouch","highDownOnUpdate","__highDownDispatcher","isHighDownDispatcher","getHighlightDigit","highlightKey","_highlightKeyMap","_highlightNextDigit","setLabelStyle","emphasisStyle","normalModel","emphasisModel","normalSpecified","emphasisSpecified","EMPTY_OBJ","baseText","labelFetcher","labelDataIndex","labelDimIndex","showNormal","getShallow","showEmphasis","getFormattedLabel","defaultText","normalStyleText","emphasisStyleText","setTextStyle","text","modifyLabelStyle","normalStyleProps","emphasisStyleProps","textStyle","textStyleModel","specifiedTextStyle","isEmphasis","setTextStyleCommon","setText","labelModel","defaultColor","isRectText","autoColor","textPosition","getTextPosition","textOffset","labelRotate","PI","textRotation","textDistance","richResult","globalTextStyle","richItemNames","getRichItemNames","richTextStyle","setTokenTextStyle","rich","forceRich","richItemNameMap","parentModel","isBlock","textFill","getAutoColor","textStroke","textBorderColor","textStrokeWidth","textBorderWidth","insideRollbackOpt","fontStyle","fontWeight","fontSize","fontFamily","textAlign","textVerticalAlign","textLineHeight","textWidth","textHeight","textTag","disableBox","textBackgroundColor","textPadding","textBorderRadius","textBoxShadowColor","textBoxShadowBlur","textBoxShadowOffsetX","textBoxShadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","insideRollback","useInsideStyle","useInsideStyleCache","useAutoColorCache","getFont","gTextStyleModel","animateOrSetProps","isUpdate","props","animatableModel","isAnimationEnabled","postfix","duration","animationEasing","animationDelay","getAnimationDelayParams","animateTo","updateProps","initProps","getTransform","ancestor","mat","matrix","identity","mul","getLocalTransform","transform","invert","Transformable","vector","transformDirection","direction","hBase","abs","vBase","vertex","groupTransition","g1","g2","getAnimatableProps","position","rotation","elMap1","g","elMap","anid","oldEl","newProp","clipPointsByRect","points","point","clipRectByRect","targetRect","x2","y2","createIcon","iconStr","rectHover","strokeNoScale","linePolygonIntersect","a1x","a1y","a2x","a2y","p2","p","lineLineIntersect","b1x","b1y","b2x","b2y","mx","my","nx","ny","nmCrossProduct","crossProduct2d","nearZero","b1a1x","b1a1y","q","x1","y1","Group","Text","Circle","Sector","Ring","Polygon","Polyline","Line","BezierCurve","Arc","CompoundPath","LinearGradient","RadialGradient","BoundingRect","IncrementalDisplayable","CACHED_LABEL_STYLE_PROPERTIES","mergePath","subPixelOptimize","_trim","linearMap","domain","range","clamp","subDomain","subRange","parsePercent","percent","parseFloat","NaN","round","precision","returnStr","toFixed","asc","arr","sort","getPrecision","isNaN","count","getPrecisionSafe","eIndex","dotIndex","getPixelPrecision","dataExtent","pixelExtent","log","LN10","dataQuantity","floor","sizeQuantity","isFinite","getPercentWithPrecision","valueList","idx","sum","digits","pow","votesPerQuota","targetSeats","seats","votes","currentSum","remainder","Number","NEGATIVE_INFINITY","maxId","remRadian","radian","pi2","isRadianAroundZero","RADIAN_EPSILON","parseDate","TIME_REG","exec","hour","UTC","quantity","quantityExponent","nice","nf","exponent","exp10","f","quantile","ascArr","H","h","v","reformIntervals","littleThan","lg","interval","close","curr","currClose","isNumeric","MAX_SAFE_INTEGER","defaultEmphasis","subOpts","emphasis","subOptName","getDataItemValue","dataItem","isDataItemOption","mappingToExists","exists","newCptOptions","exist","cptOption","isIdInner","makeIdAndName","mapResult","idMap","existCpt","keyInfo","DUMMY_COMPONENT_NAME_PREFIX","idNum","isNameSpecified","compressBatches","batchA","batchB","makeMap","sourceBatch","otherMap","seriesId","dataIndices","otherDataIndices","j","lenj","mapToArray","isData","mapA","mapB","queryDataIndex","indexOfName","makeInner","innerUniqueIndex","random","hostObj","parsedKey","queryType","includeMainTypes","queryParam","queryComponents","getTooltipRenderMode","renderModeOption","domSupported","groupData","getKey","buckets","TEXT_STYLE_OPTIONS","it","TypeError","dev","__g","boxLayout","orient","gap","maxWidth","maxHeight","currentLineMaxSize","eachChild","nextX","nextY","nextChild","childAt","nextChildRect","moveX","newline","moveY","getAvailableSize","positionInfo","containerRect","margin","containerWidth","containerHeight","formatUtil","getLayoutRect","verticalMargin","horizontalMargin","positionElement","hv","boundingMode","needLocalTransform","elPos","dx","dy","sizeCalculable","hvIdx","HV_NAMES","mergeLayoutParam","targetOption","newOption","names","newParams","newValueCount","merged","mergedValueCount","hasProp","hasValue","ignoreSize","copy","hResult","vResult","getLayoutParams","copyLayoutParams","LOCATION_PARAMS","_number","box","vbox","hbox","ArrayCtor","v1","v2","scaleAndAdd","sqrt","lenSquare","div","dot","scale","normalize","d","distance","distanceSquare","negate","lerp","t","Float32Array","lengthSquare","dist","distSquare","store","Symbol","USE_SYMBOL","addCommas","toCamelCase","upperCaseFirst","group1","charAt","encodeHTML","replaceReg","c","replaceMap","formatTpl","tpl","paramsList","encode","seriesLen","$vars","alias","TPL_VAR_ALIAS","wrapVar","seriesIdx","k","formatTplSimple","getTooltipMarker","extraCssText","renderMode","markerId","pad","substr","formatTime","isUTC","date","numberUtil","utc","M","capitalFirst","getTextBoundingRect","textContain","font","truncate","getTextRect","'","varName","truncateText","vec2","v2ApplyTransform","union","other","lt","rb","lb","rt","maxX","maxY","sx","sy","translate","intersect","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","contain","plain","_default","toInteger","defineProperty","Displayable","PathProxy","pathContain","Pattern","getCanvasPattern","pathProxyForDraw","__dirtyPath","strokeContainThreshold","segmentIgnoreThreshold","brush","prevEl","hasStroke","hasFill","hasFillGradient","colorStops","hasStrokeGradient","hasFillPattern","hasStrokePattern","setTransform","__dirty","_fillGradient","getGradient","_strokeGradient","fillStyle","strokeStyle","lineDash","lineDashOffset","ctxLineDash","setLineDash","getGlobalScale","setScale","beginPath","setLineDashOffset","buildPath","rebuildPath","fillOpacity","originalGlobalAlpha","globalAlpha","opacity","strokeOpacity","restoreTransform","drawRectText","shapeCfg","inBundle","createPathProxy","_rect","needsUpdateRect","rectWithStroke","_rectWithStroke","w","lineWidth","lineScale","getLineScale","localPos","transformCoordToLocal","containStroke","dirtyPath","__dirtyText","refresh","__clipTarget","animateShape","loop","animate","attrKV","setShape","Sub","defaultShape","thisShape","anObject","IE8_DOM_DEFINE","toPrimitive","dP","O","Attributes","wx","getSystemInfoSync","os","wxa","touchEventsSupported","worker","ua","firefox","ie","edge","SVGRect","pointerEventsSupported","__webpack_exports__","format","_len","_key","String","formatRegExp","JSON","_","arg","isNativeStringType","isEmptyValue","asyncParallelArray","callback","errors","results","total","arrLength","asyncSerialArray","original","flattenObjArr","objArr","ret","asyncMap","first","firstFields","objArrKeys","objArrLength","complementError","rule","oe","field","fullField","deepMerge","warning","defined","Model","doGet","pathArr","getParent","getParentMethod","inner","_clazz","enableClassExtend","enableClassCheck","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","mergeOption","ignoreParent","parsePath","thisParentModel","isEmpty","setReadOnly","properties","customizeGetParent","isUndef","isDef","isTrue","isFalse","isPlainObject","_toString","isRegExp","isValidArrayIndex","n","isPromise","then","catch","toNumber","expectsLowerCase","hasOwn","cached","cache","polyfillBind","boundFn","l","_length","nativeBind","toArray","start","to","_from","toObject","res","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","getTime","keysA","keysB","looseIndexOf","once","called","isReserved","def","enumerable","writable","configurable","bailRE","segments","isNative","pushTarget","targetStack","Dep","popTarget","createTextVNode","VNode","cloneVNode","vnode","cloned","tag","children","elm","componentOptions","asyncFactory","ns","isStatic","isComment","fnContext","fnOptions","fnScopeId","asyncMeta","isCloned","toggleObserving","shouldObserve","protoAugment","src","copyAugment","observe","asRootData","ob","__ob__","Observer","isServerRendering","isExtensible","_isVue","vmCount","defineReactive$$1","customSetter","shallow","dep","property","getOwnPropertyDescriptor","getter","setter","childOb","depend","dependArray","newVal","notify","del","mergeData","toVal","fromVal","hasSymbol","Reflect","ownKeys","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","normalizeProps","camelize","normalizeInject","inject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","mergeField","strat","strats","defaultStrat","_base","extends","mixins","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","capitalize","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","Boolean","hyphenate","stringIndex","getPropDefaultValue","prevShouldObserve","$options","_props","isSameType","expectedTypes","handleError","err","info","cur","$parent","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","errorHandler","logError","inBrowser","inWeex","flushCallbacks","pending","copies","callbacks","nextTick","_resolve","timerFunc","Promise","resolve","_traverse","seenObjects","seen","isA","isFrozen","depId","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","normalizeEvent","passive","mergeVNodeHook","hookKey","hook","wrappedHook","oldHook","extractPropsFromVNodeData","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","last","_isVList","initProvide","provide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","emptyObject","$hasNormal","key$1","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","iterator","done","renderSlot","fallback","bindObject","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","keyCodes","bindObjectProps","asProp","isSync","isReservedAttribute","mustUseProp","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","isOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","createEmptyVNode","_u","_g","_d","_p","FunctionalRenderContext","contextVm","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_c","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","functional","nativeOn","abstract","installComponentHooks","createComponentInstanceForVnode","_isComponent","_parentVnode","inlineTemplate","hooksToMerge","toMerge","componentVNodeHooks","_merged","mergeHook$1","f1","f2","normalizationType","alwaysNormalize","ALWAYS_NORMALIZE","_createElement","is","SIMPLE_NORMALIZE","$vnode","getTagNamespace","isReservedTag","parsePlatformTagName","pre","applyNS","registerDeepBindings","force","class","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","ensureCtor","comp","base","__esModule","toStringTag","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","$forceUpdate","clearTimeout","reject","reason","delay","timeout","isAsyncPlaceholder","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","_target","onceHandler","oldListeners","setActiveInstance","prevActiveInstance","activeInstance","initLifecycle","$children","$root","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","mountComponent","hydrating","$el","callHook","updateComponent","_update","_render","Watcher","before","updateChildComponent","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","$emit","resetSchedulerState","queue","activatedChildren","waiting","flushing","flushSchedulerQueue","currentFlushTimestamp","getNow","watcher","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","devtools","queueActivatedComponent","queueWatcher","sourceKey","sharedPropertyDefinition","initState","_watchers","initMethods","initData","_data","initComputed","watch","nativeWatch","initWatch","propsOptions","isRoot","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","evaluate","createWatcher","expOrFn","$watch","initInternalComponent","vnodeComponentOptions","_componentTag","super","superOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","Vue","_init","initUse","use","plugin","installedPlugins","_installedPlugins","unshift","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","initProps$1","initComputed$1","ASSET_TYPES","Comp","initAssetRegisters","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","componentInstance","$destroy","genClassForVnode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","isSVG","isUnknownElement","unknownElementCache","HTMLUnknownElement","HTMLElement","selected","createElement$1","tagName","multiple","createElementNS","namespace","namespaceMap","createTextNode","createComment","newNode","referenceNode","nextSibling","setTextContent","setStyleScope","registerRef","isRemoval","refs","refInFor","sameVnode","sameInputType","typeA","typeB","isTextInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldVnode","oldDir","dir","isCreate","emptyNode","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldValue","oldArg","callHook$1","componentUpdated","inserted","callInsert","modifiers","emptyModifiers","getRawDirName","rawName","updateAttrs","inheritAttrs","oldAttrs","setAttr","isXlink","removeAttributeNS","xlinkNS","getXlinkProp","isEnumeratedAttr","removeAttribute","baseSetAttr","isBooleanAttr","isFalsyAttrValue","convertEnumeratedValue","isIE9","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","parseFilters","pushFilter","filters","lastFilterIndex","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","validDivisionCharRE","wrapFilter","baseWarn","msg","pluckModuleFunction","modules","addProp","dynamic","rangeSetItem","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","warn","middle","events","native","nativeEvents","newHandler","getRawBindingAttr","rawAttrsMap","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","end","genComponentModel","number","valueExpression","assignment","genAssignmentCode","parseModel","index$1","expressionPos","expressionEndPos","eof","chr","isStringStart","parseString","parseBracket","inBracket","stringQuote","_warn","warn$1","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","code","lazy","needCompositionGuard","RANGE_TOKEN","normalizeEvents","CHECKBOX_RADIO_TOKEN","change","createOnceHandler$1","target$1","remove$2","add$1","useMicrotaskFix","attachedTimestamp","_wrapper","currentTarget","timeStamp","supportsPassive","updateDOMListeners","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","innerHTML","svgContainer","firstChild","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","parseStyleText","getStyle","checkChild","styleData","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","setProp","addClass","classList","whitespaceRE","removeClass","tar","resolveTransition","css","autoCssTransition","nextFrame","raf","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","TRANSITION","transitionEndEvent","animationEndEvent","ended","onEnd","styles","getComputedStyle","transitionDelays","transitionProp","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationProp","animationDurations","animationTimeout","ANIMATION","hasTransform","transformRE","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","enterClass","enterToClass","enterActiveClass","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","isRootInsert","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","performLeave","beforeLeave","leaveClass","leaveActiveClass","leaveToClass","explicitLeaveDuration","afterLeave","leaveCancelled","delayLeave","invokerFns","_enter","setSelected","binding","actuallySetSelected","isMultiple","getValue","selectedIndex","hasNoMatchingOption","o","onCompositionStart","onCompositionEnd","initEvent","locateNode","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","callPendingCbs","_moveCb","recordPosition","newPos","applyTranslation","oldPos","pos","moved","WebkitTransform","transitionDuration","parseText","delimiters","tagRE","buildRegex","defaultTagRE","tokenValue","tokens","rawTokens","transformNode","classBinding","genData","transformNode$1","styleBinding","genData$1","decodeAttr","shouldDecodeNewlines","re","encodedAttrWithNewLines","encodedAttr","decodingMap","parseHTML","html","advance","substring","parseEndTag","lowerCasedTagName","stack","lowerCasedTag","lastTag","expectHTML","isUnaryTag$$1","isUnaryTag","no","canBeLeftOpenTag$$1","canBeLeftOpenTag","isPlainTextElement","endTagLength","stackedTag","reStackedTag","reCache","rest$1","endTag","shouldIgnoreFirstNewline","chars","textEnd","comment","commentEnd","shouldKeepComment","conditionalComment","conditionalEnd","doctypeMatch","doctype","endTagMatch","curIndex","startTagMatch","startTagOpen","startTagClose","dynamicArgAttribute","attribute","unarySlash","isNonPhrasingTag","unary","shouldDecodeNewlinesForHref","rest","createASTElement","makeAttrsMap","template","closeElement","element","trimEndingWhitespace","inVPre","processed","processElement","if","elseif","else","addIfCondition","block","currentParent","forbidden","processIfConditions","slotScope","slotTarget","platformIsPreTag","inPre","postTransforms","lastNode","warn$2","isPreTag","platformMustUseProp","platformGetTagNamespace","maybeComponent","transforms","preTransforms","preserveWhitespace","whitespaceOption","whitespace","comments","outputSourceRange","start$1","guardIESVGBug","isForbiddenTag","processPre","processRawAttrs","processFor","processIf","processOnce","end$1","isTextTag","decodeHTMLCached","lineBreakRE","whitespaceRE$1","processKey","processRef","processSlotContent","processSlotOutlet","processComponent","processAttrs","checkInFor","parseFor","inMatch","forAliasRE","for","stripParensRE","iteratorMatch","forIteratorRE","iterator1","iterator2","findPrevElement","ifConditions","slotTargetDynamic","slotBinding","slotRE","getSlotName","emptySlotScopeToken","slotBinding$1","ref$1","dynamic$1","slotContainer","dynamicArgRE","slotName","syncGen","isDynamic","dirRE","hasBindings","parseModifiers","modifierRE","bindRE","camel","onRE","argMatch","argRE","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","optimize","isStaticKey","genStaticKeysCached","staticKeys","isPlatformReservedTag","markStatic$1","markStaticRoots","genStaticKeys$1","static","i$1","l$1","staticInFor","staticRoot","isBuiltInTag","isDirectChildOfTemplateFor","genHandlers","prefix","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","simplePathRE","isFunctionExpression","fnExpRE","isFunctionInvocation","fnInvokeRE","genModifierCode","modifierCode","genGuard","keyModifier","genKeyFilter","genFilterCode","keyVal","parseInt","keyCode","keyName","keyNames","wrapListeners","bind$1","wrapData","generate","ast","state","CodegenState","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","originalPreState","onceId","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","dataGenFns","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","gen","inlineRenderFns","some","containsSlotChild","needsKey","generatedSlots","genScopedSlot","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","el$1","normalizationType$1","getNormalizationType","genNode","needsNormalization","genComment","genText","transformSpecialNewlines","bind$$1","componentName","staticProps","dynamicProps","createFunction","createCompileToFunctionFn","compile","compiled","fnGenErrors","getShouldDecode","getOuterHTML","container","cloneNode","freeze","camelizeRE","hyphenateRE","SSR_ATTR","LIFECYCLE_HOOKS","optionMergeStrategies","productionTip","performance","warnHandler","ignoredElements","isReservedAttr","async","_lifecycleHooks","unicodeRegExp","hasProto","WXEnvironment","platform","weexPlatform","UA","isIOS","isFF","_isServer","_Set","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","Set","subs","addSub","removeSub","addDep","raw","arrayMethods","observeArray","arrayKeys","getOwnPropertyNames","walk","items","isUsingMicroTask","MutationObserver","setImmediate","counter","observer","textNode","characterData","once$$1","keepAlive","mountedNode","prepatch","$mount","insert","now","uid$2","isRenderWatcher","deep","user","active","deps","newDeps","depIds","newDepIds","cleanupDeps","tmp","teardown","uid$3","_uid","_self","dataDef","propsDef","$set","$delete","immediate","hookRE","$once","cbs","prevVnode","restoreActiveInstance","__patch__","__vue__","$nextTick","patternTypes","KeepAlive","include","exclude","created","destroyed","mounted","builtInComponents","configDef","util","defineReactive","delete","observable","ssrContext","emptyStyle","acceptValue","isValidContentEditableValue","math","isHTMLTag","nodeOps","baseModules","klass","cssText","listDelimiter","propertyDelimiter","cssVarRE","importantRE","setProperty","normalizedName","vendorNames","capName","hasTransition","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","requestAnimationFrame","activate","platformModules","patch","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ref$$1","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","hasChildNodes","childrenMatch","fullInvoke","isRenderedModule","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","vmodel","directive","_vOptions","prevOptions","curOptions","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","updated","hasMove","_reflow","offsetHeight","propertyName","_hasMove","platformComponents","decoder","regexEscapeRE","open","klass$1","style$1","he","decode","ncname","qnameCapture","isIgnoreNewlineTag","model$1","modules$1","directives$1","baseOptions","esc","tab","space","up","down","stop","prevent","ctrl","alt","meta","baseDirectives","cloak","createCompiler","baseCompile","finalOptions","tips","tip","compileToFunctions","idToTemplate","getDependencies","getClassesByMainType","Clazz","componentUtil","enableClassManagement","boxLayoutMixin","defaultOption","dependentModels","layoutMode","$constructor","extraOpt","getUID","mergeDefaultAndTheme","inputPositionParams","themeModel","getTheme","getDefaultOption","optionUpdated","newCptOption","isInit","fields","optList","Class","getReferringComponents","registerWhenExtend","enableSubTypeDefaulter","enableTopologicalTravel","autoSeriesName","getSeriesAutoName","getRawData","dataDims","mapDimension","nameArr","dataDim","dimInfo","getDimensionInfo","displayName","dataTaskCount","dataTaskReset","setData","cloneShallow","dataTaskProgress","outputData","CHANGABLE_METHODS","wrapMethod","onDataSelfChange","task","getCurrentTask","setOutputEnd","pipeline","getPipeline","currentTask","agentStubMap","_format","colorPaletteMixin","dataFormatMixin","_layout","_task","createTask","_sourceHelper","prepareSource","getSource","_dataProvider","retrieveRawValue","legendVisualProvider","visualColorAccessPath","visualBorderColorAccessPath","dataTask","reset","getInitialData","dataBeforeProcessed","themeSubType","hasClass","fillDataTextStyle","newSeriesOption","label","getLinkedData","modifyOutputEnd","getBaseAxis","formatTooltip","multipleSeries","formatSingleValue","markers","newLine","isRichText","tooltipDims","tooltipDimLen","getRawValue","isValueArr","formattedValue","setEachItem","dim","otherDims","tooltip","dimType","markName","dimHead","dimHeadStr","valStr","vertially","dimItem","colorEl","getName","seriesName","colorStr","animationEnabled","getColorFromPalette","scope","requestColorNum","coordDimToDataDim","coordDim","getProgressive","getProgressiveThreshold","getAxisTooltipData","getTooltipPosition","pipeTask","preventIncremental","pipelineContext","__e","m1","m2","out0","out1","out2","out3","out4","out5","rotate","rad","aa","ac","atx","ab","ad","aty","st","sin","ct","cos","vx","vy","det","required","createDesc","object","SRC","$toString","TPL","inspectSource","safe","fails","quot","createHTML","string","p1","NAME","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","assignValue","thisArg","isBuffer","pIE","toIObject","gOPD","IE_PROTO","ObjectProto","getPrototypeOf","IObject","getIndicesCtor","_rawCount","CtorUint32Array","CtorUint16Array","cloneChunk","originalChunk","transferProperties","TRANSFERABLE_PROPERTIES","__wrappedMethods","propName","CLONE_PROPERTIES","_calculationInfo","prepareChunks","chunkSize","chunkCount","DataCtor","dataCtors","lastChunkIndex","resizeChunkArray","newStore","prepareInvertedIndex","invertedIndicesMap","_invertedIndicesMap","invertedIndices","_dimensionInfos","ordinalMeta","CtorInt32Array","categories","INDEX_NOT_FOUND","_count","getRawValueFromStore","dimIndex","rawIndex","_chunkSize","chunkIndex","chunkOffset","chunk","_storage","getRawIndexWithoutIndices","getRawIndexWithIndices","_indices","getId","_idList","_idDimIdx","ID_PREFIX","normalizeDimensions","cloneListForMapAndSample","excludeDimensions","allDimensions","List","hostModel","originalStorage","cloneDimStore","_rawExtent","getInitialExtent","_extent","originalDimStore","newDimStore","DataDiffer","Source","defaultDimValueGetters","DefaultDataProvider","_dimensionHelper","summarizeDimensions","DataDimensionInfo","Float64Array","Int32Array","Uint32Array","Uint16Array","dimensionInfos","dimensionNames","dimensionInfo","dimensionName","coordDimIndex","createInvertedIndices","_nameList","_optionModels","_visual","_itemVisuals","hasItemVisual","_itemLayouts","_graphicEls","_chunkCount","_rawData","_approximateExtent","_dimensionsSummary","userOutput","listProto","hasItemOption","getDimension","getDimensionsOnCoord","dataDimsOnCoord","dimensionsSummary","encodeFirstDimNotExtra","dims","nameList","dimValueGetter","isInstance","_nameRepeatCount","defaultDimValueGetter","sourceFormat","_dimValueGetter","_dimValueGetterArrayRows","arrayRows","_initDataFromProvider","pure","getProvider","rawData","persistent","appendValues","dimLen","rawExtent","originalChunkCount","emptyDataItem","sourceIdx","dimRawExtent","nameDimIdx","dimensionInfoMap","idList","nameRepeatCount","itemName","_nameDimIdx","itemId","getItem","dimStorage","nameDim","nameDimChunk","clean","getIndices","newIndices","indices","thisCount","getRawIndex","getByRawIndex","rawIdx","dimStore","_getFast","getValues","getDataExtent","dimData","initialExtent","dimExtent","currEnd","useRaw","getApproximateExtent","setApproximateExtent","extent","getCalculationInfo","setCalculationInfo","getSum","getMedian","dimDataArray","sortedDimDataArray","rawIndexOf","rawDataIndex","mid","indicesOfNearest","maxDistance","nearestIndices","minDist","minDiff","nearestIndicesLen","diff","getRawDataItem","contextCompat","dimSize","filterSelf","dim0","keep","selectRange","originalCount","quickFinished","chunkStorage","dimStorage2","min2","max2","chunkStorage2","val2","dimk","mapArray","tmpRetValue","dataCount","retValue","rawExtentOnDim","downSample","dimension","rate","sampleValue","sampleIndex","targetStorage","frameValues","frameSize","dataIdx","originalChunkIndex","originalChunkOffset","sampleFrameIdx","sampleChunkIndex","sampleChunkOffset","getItemModel","otherList","thisList","visual","setVisual","setLayout","getLayout","getItemLayout","setItemLayout","clearItemLayouts","itemVisual","setItemVisual","clearAllVisual","setItemDataAndSeriesIndex","setItemGraphicEl","getItemGraphicEl","eachItemGraphicEl","dimensionInfoList","injectFunction","originalMethod","TRANSFERABLE_METHODS","symbolPathSetColor","innerColor","symbolStyle","symbolShape","symbolType","__isEmptyBrush","createSymbol","keepAspect","symbolPath","SymbolClz","setColor","_text","calculateTextPosition","Triangle","cx","cy","moveTo","lineTo","closePath","Diamond","Pin","r","angle","asin","tanX","tanY","cpLen","cpLen2","arc","bezierCurveTo","Arrow","symbolCtors","line","roundRect","circle","diamond","pin","arrow","triangle","symbolShapeMakers","size","symbolBuildProxies","proxySymbol","DEFAULT_FONT","textWidthCache","textLines","measureText","textWidthCacheCounter","TEXT_CACHE_MAX","getRichTextRect","getPlainTextRect","contentBlock","parsePlainText","outerWidth","outerHeight","adjustTextX","adjustTextY","lineHeight","parseRichText","halfHeight","adjustTextPositionOnRect","ellipsis","prepareTruncateOptions","truncateSingleLine","maxIterations","minChar","cnCharWidth","ascCharWidth","contentWidth","ellipsisWidth","textLine","subLength","estimateLength","charCode","getLineHeight","padding","lines","canCacheByTextString","truncOuterHeight","truncOuterWidth","STYLE_REG","matchedIndex","pushTokens","contentHeight","pendingList","stlPadding","truncateWidth","truncateHeight","token","tokenStyle","styleName","tokenHeight","tokenWidth","tokenWidthNotSpecified","percentWidth","bgImg","imageHelper","findExistImage","isImageReady","paddingW","remianTruncWidth","isEmptyStr","strs","isLineHolder","tokensLen","makeFont","textFont","_util","aFunction","that","ceil","_coordinateSystems","coordinateSystemCreators","coordinateSystems","creater","coordinateSystemCreator","getScaleExtent","axisDataLen","boundaryGap","span","scaleType","getMin","getMax","fixMin","fixMax","originalExtent","getExtent","getCategories","setBlank","getOrdinalMeta","getNeedCrossZero","isBaseAxisAndHasBarSeries","barSeriesModels","prepareLayoutBarSeries","axis","barWidthAndOffset","makeColumnLayout","adjustedScale","adjustScaleForOverflow","axisExtent","axisLength","barsOnCurrentAxis","retrieveColumnLayout","minOverflow","maxOverflow","totalOverFlow","oldRange","oldRangePercentOfNew","overflowBuffer","niceScaleExtent","splitNumber","setExtent","niceExtent","minInterval","maxInterval","setInterval","createScaleByModel","axisType","OrdinalScale","IntervalScale","Scale","ifAxisCrossZero","makeLabelFormatter","labelFormatter","getLabelModel","categoryTickStart","getLabel","tickValue","getAxisRawValue","tick","estimateLabelUnionRect","axisModel","isBlank","realNumberScaleTicks","tickCount","isCategory","categoryScaleExtent","getTicks","axisLabelModel","step","unrotatedSingleRect","singleRect","rotateTextRect","textRect","rotateRadians","boundingBox","beforeWidth","beforeHeight","afterWidth","afterHeight","getOptionCategoryInterval","shouldShowAllLabels","_barGrid","eval","toLength","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","KEY","valueOf","enableDataStack","stackedByDimInfo","stackedDimInfo","stackResultDimension","stackedOverDimension","byIndex","stackedCoordDimension","mayStack","isExtraCoord","stackedDimCoordDim","stackedDimType","stackedDimCoordIndex","isCalculationCoord","stackedDimension","stackedByDimension","isStackedByIndex","isDimensionStacked","stackedDim","getStackedDimension","targetDim","Chart","renderTaskPlan","renderTaskReset","elSetState","graphicUtil","childCount","toggleHighlight","renderPlanner","progressiveRender","progressMethodMap","clazzUtil","createRenderPlanner","highlight","downplay","removeAll","incrementalPrepareRender","incrementalRender","chartProto","progress","forceFirstProgress","getPropByPath","strict","tempObj","keyArr","rafThrottle","locked","_this","objToArray","isEqual","arrayEquals","kebabCase","autoprefixer","coerceTruthyValueToArray","arrayFind","arrayFindIndex","escapeRegexpString","valueEquals","generateId","getValueByPath","_typeof","_vue","_vue2","_types","paths","pred","$isServer","documentMode","prefixes","arrayA","arrayB","clientToLocal","calculate","calculateZrXY","layerX","offsetX","zrX","zrY","layerY","offsetY","ex","clientX","ey","clientY","isCanvasEl","transformCoordWithViewport","_calcOut","getNativeEvent","touch","targetTouches","changedTouches","zrDelta","wheelDelta","button","which","MOUSE_EVENT_REG","isDomLevel2","attachEvent","detachEvent","isMiddleOrRightButtonOnMouseUpDown","notLeftMouse","Dispatcher","preventDefault","stopPropagation","cancelBubble","returnValue","clampCssByte","clampCssAngle","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","putToCache","rgbaArr","lastRemovedArr","colorCache","put","kCSSColorTable","op","ep","fname","alpha","hsla2rgba","iv","hsla","rgba","rgba2hsla","vMin","vMax","delta","L","deltaR","deltaG","deltaB","level","toHex","fastLerp","normalizedValue","colors","leftIndex","rightIndex","leftColor","rightColor","dv","fullOutput","modifyHSL","modifyAlpha","arrColor","LRU","fastMapToColor","mapToColor","IS_WRAP","C","virtual","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","ordinaryDefineOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","toMetaKey","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","$ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayIncludes","arrayIndexOf","arrayValues","arrayEntries","entries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","FORCED_SET","toOffset","BYTES","validate","speciesFromList","fromList","addGetter","internal","$from","aLen","mapfn","mapping","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","predicate","findIndex","searchElement","includes","separator","reverse","comparefn","subarray","begin","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","$offset","$length","byteLength","$len","iter","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","createListFromArray","seriesDataToSource","coordSysDimDefs","coordSysName","registeredCoordSys","coordSysInfo","getCoordSysInfoBySeries","coordSysDims","axisMap","getDimensionTypeByAxis","firstCategoryDimIndex","hasNameEncode","dimInfoList","createDimensions","coordDimensions","generateCoord","encodeDefaulter","useEncodeDefaulter","makeSeriesEncodeForAxisCoordSys","categoryAxisModel","categoryAxisMap","stackCalculationInfo","isNeedCompleteOrdinalData","itemOpt","dimName","SOURCE_FORMAT_ORIGINAL","sampleItem","firstDataNotNull","_sourceType","_referHelper","_dataStackHelper","detectSourceFormat","datasetModel","SOURCE_FORMAT_UNKNOWN","SOURCE_FORMAT_TYPED_ARRAY","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","SOURCE_FORMAT_KEYED_COLUMNS","resetSourceDefaulter","datasetMap","seriesOption","fromDataset","seriesLayoutBy","sourceHeader","dimensionsDefine","getDatasetModel","datasetOption","completeResult","completeBySourceData","startIndex","dimensionsDetectCount","encodeDefine","normalizeDimensionsDefine","arrayRowsTravelFirst","SERIES_LAYOUT_BY_ROW","objectRowsCollectDimensions","colArr","nameMap","maxLoop","firstIndex","pushDim","dimIdxArr","idxFrom","idxCount","getDataDimCountOnCoordDim","coordDimInfo","dimsDef","baseCategoryDimIndex","categoryWayValueDimStart","encodeItemName","encodeSeriesName","coordDimIdx","datasetRecord","categoryWayDim","valueWayDim","coordDimName","makeSeriesEncodeForNameBased","dimCount","potentialNameDimIndex","idxResult","fulfilled","idxRes0","idxRes1","guessRecords","guessResult","doGuessOrdinal","isPureNumber","BE_ORDINAL","Not","Might","nameDimIndex","datasetIndex","guessOrdinal","detectValue","beStr","Must","dimDefItem","sample","row","TYPE_DELIMITER","checkClassType","RootClass","mandatoryMethods","ExtendedClass","superCall","superApply","Clz","classAttr","classBase","entity","makeContainer","IS_CONTAINER","registerClass","componentMainType","throwWhenNotFound","getAllClassMainTypes","types","hasSubTypes","originalExtend","contains","className","curClass","classes","clsName","camelCase","ieVersion","isInContainer","getScrollContainer","isScroll","isServer","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","letter","currentStyle","defaultView","vertical","elRect","innerWidth","innerHeight","UNSCOPABLES","META","setDesc","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","NEED","endTextLayout","textRotate","rotationDiff","inverse","onLeft","fixMinMaxLabelShow","labelEls","tickEls","showMinLabel","showMaxLabel","firstLabel","nextLabel","lastLabel","prevLabel","firstTick","lastTick","prevTick","ignoreEl","isTwoLabelOverlapped","labelLayout","firstRect","nextRect","mRotationBack","matrixUtil","isNameLocationCenter","nameLocation","createTicks","ticksCoords","tickTransform","tickEndCoord","tickLineStyle","aniid","pt1","pt2","tickCoord","coord","tickEl","buildAxisMajorTicks","axisBuilder","tickModel","lineStyleModel","tickDirection","getTicksCoords","ticksEls","_transform","getLineStyle","buildAxisMinorTicks","minorTickModel","minorTicksCoords","getMinorTicksCoords","minorTickLineStyle","minorTicksEls","buildAxisLabel","axisLabelShow","labelMargin","labels","getViewLabels","labelRotation","innerTextLayout","labelDirection","rawCategoryData","isLabelSilent","triggerEvent","labelItem","formattedLabel","rawLabel","itemLabelModel","textColor","getTextColor","dataToCoord","labelOffset","textEl","makeAxisEventDataBase","targetType","_dumbGroup","decomposeTransform","_symbol","_vector","_axisHelper","AxisBuilder","nameDirection","dumbGroup","hasBuilder","builders","getGroup","axisLine","lineStyle","lineCap","arrows","arrowSize","arrowOffset","symbolWidth","symbolHeight","axisTickLabel","axisName","gapSignal","nameRotation","axisNameAvailableWidth","truncateOpt","nameTruncateMaxWidth","truncatedText","tooltipOpt","formatterParams","__fullText","__truncatedText","formatter","axisRotation","ctor","features","fixExtentWithBands","nTick","fixOnBandTicksCoords","alignWithLabel","ticksLen","onBand","diffSize","crossLen","ticksItem","_axisTickLabelBuilder","createAxisTicks","createAxisLabels","calculateCategoryInterval","NORMALIZED_EXTENT","Axis","containData","coordToData","pointToData","getTickModel","ticks","minorTicks","getMinorTicks","minorTicksGroup","minorTick","getBandWidth","isHorizontal","getRotate","legend","toolbox","title","polygon","lineX","lineY","dataView","lang","dataZoom","zoom","back","magicType","bar","tiled","restore","saveAsImage","typeNames","pie","scatter","effectScatter","radar","treemap","boxplot","candlestick","heatmap","parallel","graph","sankey","funnel","gauge","pictorialBar","themeRiver","sunburst","general","withTitle","withoutTitle","single","withName","withoutName","allData","partialData","debounce","lastExec","timer","currCall","debounceNextCall","lastCall","thisDelay","thisDebounce","debounceDelay","createOrUpdate","fnAttr","throttleType","originFn","ORIGIN_METHOD","lastThrottleType","THROTTLE_TYPE","RATE","isAroundZero","EPSILON","isNotAroundZero","cubicAt","p0","p3","onet","cubicDerivativeAt","cubicRootAt","roots","A","t1","disc","K","t2","discSqrt","mathSqrt","Y1","Y2","mathPow","ONE_THIRD","T","theta","acos","ASqrt","THREE_SQRT","t3","cubicExtrema","extrema","cubicSubdivide","p01","p12","p23","p012","p123","p0123","cubicProjectPoint","x0","y0","x3","y3","d1","d2","_v0","_v1","v2DistSquare","EPSILON_NUMERIC","_v2","quadraticAt","quadraticDerivativeAt","quadraticRootAt","quadraticExtremum","divider","quadraticSubdivide","quadraticProjectPoint","v2Create","Constructor","forbiddenField","BREAK","RETURN","iterable","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","contentWindow","write","Properties","$keys","hiddenKeys","bitmap","DESCRIPTORS","SPECIES","px","retrieveTargetInfo","validPayloadTypes","targetNode","getNodeById","targetNodeId","getPathToRoot","aboveViewRoot","viewRoot","viewPath","wrapTreePathInfo","treePathInfo","nodeDataIndex","updateAxisPointer","axisView","AxisView","getAxisPointerClass","axisPointerClass","axisPointerModel","axisPointerModelHelper","getAxisPointerModel","_axisPointer","disposeAxisPointer","axisPointer","echarts","fixValue","axisPointerClazz","registerAxisPointerClass","defaultKeyGetter","oldArr","newArr","oldKeyGetter","newKeyGetter","_old","_new","_oldKeyGetter","_newKeyGetter","initIndexMap","keyGetterName","dataDiffer","existence","_add","_remove","execute","oldDataIndexMap","newDataIndexMap","oldDataKeyArr","newDataKeyArr","_source","_offset","_dimSize","providerMethods","countSimply","getItemSimply","appendDataSimply","newData","getRawValueSimply","getDimValueSimply","converDataValue","parseAndCollect","rawValueGetters","retrieveRawAttr","providerProto","col","newCol","oldCol","objectRows","keyedColumns","typedArray","preprocessForPiecewise","thisOption","pieceList","hasSpecialVisual","piece","originIndex","preprocessForSpecifiedCategory","categoryMap","cate","visualArr","CATEGORY_DEFAULT_VISUAL_INDEX","setVisualToOption","normalizeVisualRange","doNotNeedPair","makePartialColorVisualHandler","applyValue","applyVisual","mapValueToVisual","_doMap","makeDoMap","doMapToArray","makeApplyVisual","doMapCategory","doMapFixed","sourceExtent","linear","category","piecewise","getSpecifiedVisual","fixed","pieceIndex","VisualMapping","findPieceIndex","parsedVisual","zrColor","mappingMethod","_normalizeData","normalizers","visualHandler","visualHandlers","getColorMapper","getNormalizer","isNormalized","returnRGBArray","colorHue","colorSaturation","colorLightness","colorAlpha","liftZ","symbolCfg","symbolSize","listVisualTypes","visualTypes","addVisualHandler","isValidType","eachVisual","mapVisual","isPrimary","newVisual","retrieveVisuals","hasVisual","prepareVisualTypes","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","updatePossible","newAbs","possibleI","pieceValue","seriesType","defaultSymbolType","legendSymbol","performRawSeries","dataEach","hasCallback","rawValue","hasSymbolTypeCallback","hasSymbolSizeCallback","itemModel","itemSymbolType","itemSymbolSize","itemSymbolKeepAspect","seriesSymbol","seriesSymbolSize","symbolKeepAspect","isSeriesFiltered","_broadcast","dispatch","broadcast","Element","_children","__storage","childOfName","_doAdd","addBefore","addToStorage","addChildrenToStorage","delFromStorage","delChildrenFromStorage","includeChildren","tmpRect","tmpMat","invisible","childRect","textHelper","_constant","ContextCachedBy","normalizeTextStyle","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","needDrawText","__attrCachedBy","NONE","renderText","getStroke","eventProcessor","_$eventProcessor","eventful","_h","_$handlers","wrap","callAtLast","lastWrap","arrySlice","isSilent","newList","argLen","hItem","triggerWithContext","cof","ARG","tryGet","callee","stat","spaces","non","ltrim","rtrim","exporter","ALIAS","FORCE","dimensionsInfo","originalLarge","large","originalProgressive","progressive","retrieveRawOption","updateRangeUse","dataZoomModel","inputRawOption","rangePropMode","_rangePropMode","rangeModeInOption","percentSpecified","valueSpecified","helper","AxisProxy","eachAxisDim","DataZoomModel","xAxisIndex","yAxisIndex","filterMode","startValue","endValue","minSpan","maxSpan","minValueSpan","maxValueSpan","rangeMode","_dataIntervalByAxis","_dataInfo","_axisProxies","_autoThrottle","settledOption","doInit","realtime","_setDefaultThrottle","_resetTarget","_giveAxisProxies","axisProxies","eachTargetAxis","dimNames","axisIndex","axisProxy","__dzAxisProxy","autoMode","_judgeAutoMode","axisIndexName","_autoSetAxisIndex","_autoSetOrient","hasIndexSpecified","autoAxisIndex","singleAxis","singleAxisModel","singleAxisIndex","axisIndices","axisModels","_isSeriesHasAllAxesTypeOf","axisId","seriesAxisIndex","globalOption","animationDurationUpdate","getFirstTargetAxisModel","firstAxisModel","getAxisProxy","getAxisModel","setRawRange","setCalculatedRange","getPercentRange","findRepresentativeAxisProxy","getDataPercentWindow","getValueRange","axisDimName","getDataValueWindow","hostedBy","getRangePropMode","getTargetCoordInfo","save","coordModel","coordIndex","coordSysLists","getCoordSysModel","handleEnds","handleIndex","extentSpan","restrict","handleSpan","originalDistSign","getSpanSign","extentMinSpan","realExtent","sign","currDistSign","origin","rangeStart","rangeEnd","setRange","resetRange","completeDimensions","encodeDef","dimensionsCount","generateCoordCount","excludes","curve","bbox","CMD","Q","Z","mathCos","mathSin","mathAbs","hasTypedArray","notSaveData","_saveData","_xi","_yi","_x0","_y0","_ux","_uy","_lineDash","_dashOffset","_dashIdx","_dashSum","addData","exceedUnit","_needsDash","_dashedLineTo","_dashedBezierTo","quadraticCurveTo","_dashedQuadraticTo","startAngle","endAngle","anticlockwise","arcTo","radius","toStatic","lineDashSum","appendPath","appendSize","appendPathData","cmd","_expandData","_prevCmd","dash","dashSum","nDash","bezierLen","tmpLen","MAX_VALUE","xi","yi","fromLine","fromCubic","fromQuadratic","rx","ry","fromArc","ux","uy","dTheta","psi","fs","scaleX","scaleY","isEllipse","_image","createOrUpdateImage","sWidth","sHeight","drawImage","_interopRequireDefault","_iterator","_iterator2","_symbol2","ignoreCase","multiline","unicode","sticky","propertyIsEnumerable","copyright","D","SymbolDraw","symbolCtor","_symbolCtor","symbolNeedsDraw","isIgnore","clipShape","normalizeUpdateOpt","makeSeriesScope","itemStyle","getItemStyle","hoverItemStyle","symbolRotate","symbolOffset","hoverAnimation","hoverLabelModel","cursorStyle","symbolDrawProto","updateData","SymbolCtor","seriesScope","newIdx","symbolEl","oldIdx","fadeOut","isPersistent","incrementalPrepareUpdate","_seriesScope","incrementalUpdate","taskParams","updateIncrementalAndHover","incremental","enableAnimation","createGridClipPath","cartesian","hasAnimation","getArea","clipPath","createPolarClipPath","polar","sectorArea","r0","clockwise","createClipPath","axisTrigger","link","coordSysAxesInfo","collect","gridModel","getRect","xAxis","yAxis","grid","RoamController","pointerChecker","_opt","mousedownHandler","mousedown","mousemoveHandler","mousemove","mouseupHandler","mouseup","mousewheelHandler","mousewheel","pinchHandler","pinch","setPointerChecker","enable","controlType","zoomOnMouseWheel","moveOnMouseMove","moveOnMouseWheel","preventDefaultMouseMove","isDragging","_dragging","isPinching","_pinching","eventTool","draggable","_x","_y","isAvailableBehavior","gestureEvent","interactionMutex","isTaken","oldX","oldY","newX","newY","shouldZoom","shouldMove","absWheelDeltaDelta","originX","originY","factor","checkPointerAndTrigger","absDelta","scrollDelta","pinchScale","pinchX","pinchY","controller","behaviorToCheck","contollerEvent","settings","setting","SERIES_LAYOUT_BY_COLUMN","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","getOrCreateEncodeArr","mayLabelDimType","defaultTooltip","OTHER_DIMENSIONS","otherDim","encodeArr","dimArr","encodeLabel","encodeTooltip","segCount","isLargeRender","tmpIn","tmpOut","dataToPoint","stackResultDim","legendModels","findComponents","isSelected","subTypeDefaulters","registerSubTypeDefaulter","defaulter","determineSubType","componentTypeMain","dependencyGetter","makeDepndencyGraph","fullNameList","noEntryList","thisItem","createDependencyGraphItem","originalDeps","availableDeps","getAvailableDependencies","entryCount","dependentName","predecessor","thatItem","successor","topologicalTravel","targetNameList","removeEdge","succComponentType","removeEdgeAndAdd","targetNameSet","currComponentType","currVertex","isInTargetNameSet","LegendVisualProvider","getDataWithEncodedVisual","getAllNames","containName","i18n","_zhCN","_zhCN2","_deepmerge","_deepmerge2","_format2","i18nHandler","vuei18n","$t","locale","debugMode","Style","__clipPaths","RectText","dragging","culling","cursor","globalScaleRatio","beforeBrush","afterBrush","rectContain","animateStyle","useStyle","IS_INCLUDES","fromIndex","forOf","setToStringTag","inheritIfRequired","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","getConstructor","setStrong","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","MATCH","SAFE_CLOSING","riter","skipClosing","__defineSetter__","getOwnPropertySymbols","builtinExec","COLLECTION","mapFn","nextItem","TO_STRING","Typed","TypedArrayConstructors","getScale","driftSymbol","drift","__symbolOriginalScale","ratio","emphasisOpt","_labelHelper","getDefaultLabel","symbolProto","getSymbolSize","_createSymbol","_symbolType","stopSymbolAnimation","toLastFrame","getSymbolPath","setZ","setDraggable","_updateCommon","fadeIn","_seriesModel","normalStyleAccessPath","emphasisStyleAccessPath","normalLabelAccessPath","emphasisLabelAccessPath","getLabelDefaultText","useNameLabel","symbolInnerColor","z2Origin","__z2Origin","keepLabel","axesInfo","seriesInvolved","coordSysMap","collectAxesInfo","collectSeriesInfo","globalTooltipModel","globalAxisPointerModel","linksOption","linkGroups","saveTooltipAxisInfo","fromTooltip","triggerTooltip","axisPointerShow","isHandleTrigger","makeAxisPointerModel","baseTooltipModel","snap","makeKey","involveSeries","axisInfo","useHandle","seriesModels","axesInfoInCoordSys","groupIndex","getLinkGroupIndex","linkGroup","mapper","axisPointerEnabled","coordSysKey","coordSysModel","getAxes","getTooltipAxes","triggerAxis","cross","tooltipAxes","baseAxes","otherAxes","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","crossStyle","seriesTooltipTrigger","seriesTooltipShow","getAxis","seriesDataCount","linkOption","checkPropInLink","linkPropValue","axisPropValue","getAxisInfo","buildElStyle","axisPointerType","styleModel","getAreaStyle","buildLabelElOption","elOption","labelPos","getValueLabel","paddings","align","verticalAlign","confineInContainer","bgColor","viewWidth","viewHeight","seriesDataIndices","axisHelper","axisDimension","seriesData","idxItem","dataParams","getTransformedPosition","layoutInfo","buildCartesianSingleLabelElOption","textLayout","makeLineShape","xDimIndex","makeRectShape","xy","wh","makeSectorShape","onIrrelevantElement","targetCoordSysModel","topTarget","IRRELEVANT_EXCLUDES","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","AXIS_TYPES","__ordinalMeta","OrdinalMeta","createByAxisModel","axisDefault","makeInvoker","hostKey","mapRecords","record","loaders","geoJSONLoader","geoSVGLoader","load","regions","regionsMap","nameCoordMap","singleSource","region","regionName","center","makeGraphic","removeGraphic","getSeriesStackId","STACK_PREFIX","getAxisKey","getLayoutOnAxis","baseAxis","bandWidth","axisKey","stackId","widthAndOffsets","doCalBarWidthAndOffset","offsetCenter","eachSeriesByType","isOnCartesian","isInLargeMode","getValueAxesMinGaps","barSeries","axisValues","cnt","axisMinGaps","valuesInAxis","seriesInfoList","minGap","scaleSpan","barWidth","barMaxWidth","barMinWidth","barGap","barCategoryGap","columnsMap","seriesInfo","columnsOnAxis","remainedWidth","autoWidthCount","categoryGap","stacks","minWidth","barGapPercent","autoWidth","column","finalWidth","lastColumn","widthSum","lastStackCoords","lastStackCoordsOrigin","columnLayoutInfo","columnOffset","columnWidth","valueAxis","getOtherAxis","barMinHeight","valueDim","baseDim","stacked","isValueAxisH","valueAxisStart","getValueAxisStart","baseValue","baseCoord","toGlobalCoord","LargeArr","largeLayout","largePoints","largeBackgroundPoints","largeDataIndices","valuePair","pointsOffset","idxOffset","valueDimIdx","valueAxisHorizontal","coordLayout","backgroundStart","roundNumber","_interval","_intervalPrecision","thisExtent","unionExtent","getInterval","_niceExtent","getIntervalPrecision","expandToNicedExtent","niceTickExtent","intervalPrecision","lastNiceTick","minorInterval","niceTicks","intervalScaleNiceTicks","expandSize","_setting","getSetting","unionExtentFromData","_isBlank","Component","componentProto","getTargetSeries","paletteScope","seiresModelMap","__paletteScope","dataAll","idxMap","filteredIdx","singleDataColor","singleDataBorderColor","borderColor","hasKeys","createVisualMappings","stateList","supplementVisualOption","createMappings","Creater","__hidden","visualMappings","mappings","visualData","mappingOption","__alphaForOpacity","replaceVisualOption","getValueState","eachItem","valueOrIndex","rawDataItem","visualMap","valueState","visualTypesMap","incrementalApplyVisual","isKorean","_popup","PopperJS","transformOrigin","placement","boundariesPadding","reference","popper","visibleArrow","appendToBody","popperOptions","gpuAcceleration","showPopper","currentPlacement","disabled","updatePopper","destroyPopper","createPopper","popperElm","referenceElm","appendArrow","popperJS","onCreate","resetTransformOrigin","onUpdate","_popper","zIndex","PopupManager","nextZIndex","doDestroy","forceDestroy","placementMap","appended","beforeDestroy","deactivated","atBegin","fromPoints","xDim","yDim","tx","ty","vec2Min","vec2Max","PI2","extremity","Gradient","addColorStop","STYLE_BIND","PLAIN_TEXT","WILL_BE_RESTORED","normalizeStyle","VALID_TEXT_ALIGN","textBaseline","VALID_TEXT_VERTICAL_ALIGN","hostEl","renderRichText","renderPlainText","prevStyle","needDrawBg","needDrawBackground","checkCache","cachedByMe","styleFont","computedFont","__computedFont","__styleFont","__textCotentBlock","boxPos","getBoxPosition","_tmpBoxPositionResult","baseX","baseY","applyTextRotation","boxY","textX","textY","boxX","drawBackground","getTextXForPadding","SHADOW_STYLE_COMMON_PROPS","propItem","styleProp","ctxProp","fixShadow","textStrokeWidthPrev","strokeWidthChanged","strokeChanged","getFill","strokeText","fillText","drawRichText","xLeft","lineTop","xRight","tokenCount","usedWidth","lineXLeft","lineXRight","placeToken","textOrigin","setCtx","isPlainBg","roundRectHelper","onBgImageLoaded","_tmpTextPositionResult","maxValue","ZRender","guid","getInstance","registerPainter","painterCtors","delInstance","Handler","Storage","Painter","Animation","HandlerProxy","useVML","rendererType","vml","handerProxy","getViewportRoot","stage","_needsRefresh","oldDelFromStorage","oldAddToStorage","removeSelfFromZr","addSelfToZr","addRoot","delRoot","configLayer","zLevel","_needsRefreshHover","triggerRendered","refreshHoverImmediately","elMirror","refreshHover","clearHover","clearAnimation","pathToImage","setCursorStyle","findHover","eventHandler","$at","iterated","setContentTypeIfUnset","headers","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","adapter","XMLHttpRequest","process","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","computedTableHeight","documentHeight","clientHeight","appHeader","rtHeader","pagination","tableHeight","showMore","UPDATE_TABLE_HEIGHT","TOGGLE_SHOW_MORE","onresize","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_assign__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_assign___default","xpcConfig","address","provinceUrl","cityUrl","countyUrl","autoLoad","componentPrefix","defaultLocale","defaultLocaleId","localesUrl","localesMessageUrl","assign","mergeConfig","PromiseCapability","promise","$$resolve","$$reject","wksExt","$Symbol","at","endPos","$defineProperty","setPrototypeOf","descriptor","IteratorPrototype","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","$expm1","expm1","macrotask","WebKitMutationObserver","isNode","head","exit","standalone","toggle","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","reCopy","buggy","searchString","defer","channel","port","invoke","cel","setTask","clearTask","clearImmediate","MessageChannel","Dispatch","port2","port1","onmessage","postMessage","importScripts","packIEEE754","mLen","nBytes","eLen","eMax","eBias","LN2","unpackIEEE754","nBits","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","PROTOTYPE","isLittleEndian","numIndex","intIndex","$LENGTH","WRONG_INDEX","$BUFFER","$OFFSET","pack","conversion","BaseBuffer","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getIteratorMethod","addToUnscopables","Arguments","updateCenterAndZoom","zoomLimit","previousZoom","getZoom","getCenter","setCenter","zoomMin","zoomMax","fixX","fixY","setZoom","getNodeGlobalScale","nodeScaleRatio","groupScale","groupZoom","makeSymbolTypeKey","symbolCategory","lineData","symbolUtil","createLine","LinePath","setLinePoints","targetShape","cp1","cpx1","cpy1","updateSymbolAndLabelBeforeLineUpdate","lineGroup","symbolFrom","symbolTo","invScale","fromPos","pointAt","toPos","tangent","tangentAt","atan2","__labelDistance","distanceX","distanceY","halfPercent","cp","__position","__verticalAlign","__textAlign","_createLine","SYMBOL_CATEGORIES","lineProto","beforeUpdate","linePoints","lineLabelOriginalOpacity","_updateCommonStl","hoverLineStyle","visualColor","visualOpacity","defaultLabelColor","showLabel","hoverShowLabel","rawVal","normalText","emphasisText","labelStyle","linePath","LineDraw","_ctor","LineGroup","doAdd","lineDraw","lineNeedsDraw","doUpdate","oldLineData","newLineData","itemEl","isPointNaN","pt","pts","lineDrawProto","_lineData","_clearIncremental","_incremental","clearDisplaybles","labelDims","vals","BaseAxisPointer","animationModel","moveAnimation","propsEqual","lastProp","lastProps","newProps","equals","updateLabelShowHide","labelEl","getHandleTransProps","trans","updateMandatoryProps","throttleUtil","_group","_lastGraphicKey","_handle","_lastValue","_lastStatus","_payloadInfo","animationThreshold","_axisModel","_axisPointerModel","handle","makeElOption","graphicKey","_moveAnimation","determineAnimation","doUpdateProps","updatePointerEl","updateLabelEl","createPointerEl","createLabelEl","_renderHandle","isCategoryAxis","useSnap","pointerOption","pointer","pointerEl","updateHandleTransform","handleModel","onmousemove","onmousedown","_onHandleDragMove","ondragend","_onHandleDragEnd","includeStyles","handleSize","_moveHandleToValue","getHandleTransform","_doDispatchAxisPointer","payloadInfo","cursorPoint","tooltipOption","axisDim","doClear","buildLabel","linkedNodesFinder","createLinkedNodesFinder","effectedModels","seriesModelMap","getTargetSeriesModels","overallReset","filterData","percentRange","valueRange","isCoordSupported","coordType","COORDS","createNameEach","capitalNames","capitalAttrs","nameObj","capital","forEachNode","forEachEdgeType","edgeIdGetter","isNodeAbsorded","isLinked","hasLink","edgeType","edgeId","absorb","sourceNode","processSingleNode","existsLink","AXIS_DIMS","BrushController","_brushType","_brushOption","_panels","_track","_covers","_creatingCover","_creatingPanel","_enableGlobalPan","baseUID","_handlers","pointerHandlers","doEnableBrush","brushOption","take","MUTEX_RESOURCE_KEY","mountHandlers","brushType","DEFAULT_BRUSH_OPT","doDisableBrush","release","unmountHandlers","createCover","cover","coverRenderers","__brushOption","endCreating","creatingCover","coverRenderer","getCoverRenderer","updateCoverShape","COVER_Z","updateCoverAfterCreation","updateCommon","getPanelByPoint","localCursorPoint","panels","panel","pn","isTargetByCursor","getPanelByCover","panelId","clearCovers","covers","originalLength","areas","isEnd","removeOnClick","shouldShowCover","track","UNSELECT_THRESHOLD","getTrackEnds","tail","createBaseRectCover","doDrift","edgeNames","makeStyle","updateBaseRect","localRange","brushStyle","MIN_RESIZE_LINE_WIDTH","xa","ya","x2a","y2a","widtha","heighta","updateRectShape","transformable","mainEl","globalDir","getGlobalDirection","CURSOR_MAP","pointsToRect","clipByPanel","formatRectRange","localDirection","inverseMap","driftRect","toRectRange","fromRectRange","rectRange","localDelta","toLocalDelta","namePart","ind","DIRECTION_MAP","driftPolygon","thisGroup","localD","localZero","xmin","ymin","resetCursor","isOutsideZrArea","currPanel","rawE","mainShapeContain","updateCoverByMouse","eventParams","thisBrushOption","brushMode","determineBrushType","getCreatingRange","defaultBrushType","handleDragEnd","getLineRenderer","xyIndex","localTrack","ends","otherExtent","getLinearBrushOtherExtent","ne","sw","nw","se","enableBrush","setPanels","panelOpts","enableGlobalPan","eachCover","updateCovers","brushOptionList","tmpIdPrefix","oldGetKey","addOrUpdate","newIndex","oldIndex","newBrushOption","oldCovers","newCovers","updateViewOnPan","controllerHost","updateViewOnZoom","zoomDelta","zoomX","zoomY","newZoom","zoomScale","updateSelectedMap","_targetList","_selectTargetMap","targetMap","select","unSelect","toggleSelected","fillLabel","MarkerModel","_mergeOption","hostSeries","__hostSeries","newOpt","createdBySelf","modelPropName","markerOpt","markerModel","markerGroupMap","__keep","markerModelKey","hasXOrY","hasXAndY","markerTypeCalculatorWithExtent","mlType","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","numCalculate","coordArrValue","dataTransform","markerTypeCalculator","coordInfo","baseDataDim","valueDataDim","radiusAxis","angleAxis","valueIndex","dataDimToCoordDim","dataFilter","average","TransformDummy","View","_roamTransformable","_rawTransformable","_center","_zoom","doConvert","setBoundingRect","setViewRect","transformTo","_viewRect","rawTransform","_updateTransform","centerCoord","_updateCenterAndZoom","getDefaultCenter","rawRect","getRoamTransform","rawTransformMatrix","roamTransform","defaultCenter","roamTransformable","rawTransformable","_rawTransform","invTransform","getTransformInfo","rawScale","rawPosition","getViewRect","getViewRectAfterRoam","noRoam","isAxisUsedInTheGrid","Grid","_coordsMap","_coordsList","_axesMap","_axesList","_initCartesian","fixAxisOnZero","axesMap","otherAxisDim","onZeroRecords","getOnZeroRecordKey","getAxesOnZeroOf","otherAxisOnZeroOf","onZero","onZeroAxisIndex","canOnZeroToAxis","updateAxisTransform","coordBase","axisExtentSum","toLocalCoord","findAxesModels","axesTypes","isCartesian2D","Cartesian2D","Axis2D","gridProto","_updateScale","ignoreContainLabel","adjustAxes","axesList","gridRect","getBoxLayoutParams","labelUnionRect","axesMapOnDim","getCartesian","coordList","getCartesians","_findConvertTarget","xAxisModel","yAxisModel","coordsList","createAxisCreator","axisPosition","axisPositionUsed","axesCount","addAxis","axesModels","otherAxis","grids","resizeGeo","geoModel","boundingCoords","leftTop","rightBottom","boxLayoutOption","aspectScale","useCenterAndSize","viewRect","setGeoCoords","geo","geoCoord","addGeoCoord","Geo","geoSourceManager","geoCreator","geoList","invertLongitute","geoIndex","mapModelGroupBySeries","getHostGeoModel","mapType","getMapType","mapSeries","nameMapList","singleMapSeries","getFilledRegions","originRegionArr","regionsArr","dataNameMap","_parseSVG","parseXML","rawGeoJson","rawSpecialAreas","parsers","svgXML","resizePolar","polarModel","getRadiusAxis","updatePolarScale","getAngleAxis","setAxis","Polar","polarCreator","polarList","radiusAxisModel","findAxisModel","angleAxisModel","Tree","levelOptions","leavesOption","_nodes","levelModels","levelDefine","leavesModel","addChild","linkList","TreeNode","hostTree","depth","viewChildren","isRemoved","eachNode","order","suppressVisitSub","updateDepthAndHeight","getAncestors","includeSelf","ancestors","levelModel","getLevelModel","isExpand","getLeavesModel","isAncestorOf","isDescendantOf","getNodeByDataIndex","getNodeByName","clearLayouts","createTree","dataRoot","treeOptions","beforeLink","buildHierarchy","dataNode","dimMax","listData","levels","leaves","mainData","struct","structAttr","DIMENSION_LABEL_REG","tooltipModel","isSeries","componentSubType","marker","labelProp","dimensionIndex","define","Task","_reset","_plan","_onDirty","onDirty","_dirty","doProgress","taskIns","modBy","modDataCount","_callingProgress","skip","_dueIndex","_outputDueEnd","_dueEnd","_settedOutputEnd","_progress","_modBy","_modDataCount","downstream","_downstream","taskProto","performArgs","normalizeModBy","upTask","_upstream","__pipeline","planResult","lastModBy","lastModDataCount","outputDueEnd","sequentialNext","modNext","winCount","sStep","sCount","downTask","getUpstream","getDownstream","moduleId","installedModules","0","normalizeComponent","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","11","21","4","76","calculateNodeStyling","targetElement","boxSizing","getPropertyValue","paddingSize","borderSize","contextStyle","CONTEXT_STYLE","calcTextareaHeight","minRows","maxRows","hiddenTextarea","_calculateNodeStyling","HIDDEN_STYLE","scrollHeight","singleRowHeight","minHeight","_vm","inputSize","inputDisabled","inputExceed","append","prefixIcon","suffix","suffixIcon","clearable","showPassword","mouseenter","hovering","mouseleave","tabindex","passwordVisible","readonly","autocomplete","autoComplete","compositionstart","handleCompositionStart","compositionupdate","handleCompositionUpdate","compositionend","handleCompositionEnd","input","handleInput","focus","handleFocus","blur","handleBlur","handleChange","getSuffixVisible","showClear","showPwdVisible","isWordLimitVisible","click","handlePasswordVisible","textLength","upperLimit","validateState","validateIcon","textareaStyle","_withStripped","emitter_","emitter_default","migrating_","migrating_default","merge_","merge_default","shared_","inputvue_type_script_lang_js_","elForm","elFormItem","textareaCalcStyle","focused","isComposing","form","autosize","validator","validateEvent","showWordLimit","_elFormItemSize","elFormItemSize","needStatusIcon","statusIcon","validating","success","$ELEMENT","nativeInputValue","maxlength","resizeTextarea","setNativeInputValue","updateIconOffset","getInput","getMigratingConfig","textarea","lastCharacter","calcIconOffset","place","elList","pendantMap","pendant","offsetWidth","src_inputvue_type_script_lang_js_","componentNormalizer","__file","9","_locale","127","renderThumbStyle","_ref","move","msTransform","webkitTransform","resize_event_","scrollbar_width_","scrollbar_width_default","util_","dom_","BAR_MAP","scroll","scrollSize","client","horizontal","src_bar","clickTrackHandler","clickThumbHandler","ctrlKey","startDrag","thumbHalf","thumb","thumbPositionPercentage","cursorDown","mouseMoveDocumentHandler","mouseUpDocumentHandler","onselectstart","prevPage","thumbClickPosition","Bar","wrapStyle","wrapClass","viewClass","viewStyle","noresize","sizeWidth","sizeHeight","gutter","gutterWith","gutterStyle","marginRight","marginBottom","handleScroll","scrollTop","scrollLeft","clientWidth","heightPercentage","widthPercentage","scrollWidth","16","2","3","39","Utils","focusFirstDescendant","attemptFocus","focusLastDescendant","isFocusable","IgnoreUtilFocusChanges","tabIndex","nodeName","rel","fireEvent","removeResizeListener","addResizeListener","_resizeObserverPolyfill","_resizeObserverPolyfill2","resizeHandler","_isArray","entry","__resizeListeners__","__ro__","scrollIntoView","offsetParents","offsetParent","offsetTop","viewRectTop","viewRectBottom","scrollBarWidth","outer","visibility","widthNoScroll","overflow","widthWithScroll","noTrailing","debounceMode","timeoutID","elapsed","minRunLength","DEFAULT_MIN_MERGE","makeAscendingRun","lo","hi","compare","runHi","reverseRun","binaryInsertionSort","pivot","gallopLeft","hint","lastOffset","maxOffset","gallopRight","TimSort","pushRun","_runStart","_runLength","runStart","stackSize","runLength","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","mergeLow","mergeHigh","cursor1","cursor2","dest","count1","count2","_minGallop","minGallop","DEFAULT_MIN_GALLOPING","customCursor","customDest","remaining","ts","minRun","IncrementalDisplayble","Displayble","_displayables","_temporaryDisplayables","_cursor","notClear","addDisplayable","notPersistent","addDisplayables","displayables","globalCoord","createLinearGradient","createRadialGradient","STYLE_COMMON_PROPS","transformText","notCheckCache","globalCompositeOperation","otherStyle","canvasGradient","styleProto","newImageOrSrc","cachedImgObj","globalImageCache","cbPayload","__zrImageSrc","pendingWrap","onerror","imageOnLoad","__cachedImgObj","outputShape","inputShape","originWidth","originHeight","positiveOrNegative","doubledPosition","_subPixelOptimize","subPixelOptimizeOutputShape","mIdentity","transformableProto","scaleTmp","parentHasTransform","relX","relY","tmpTransform","originTransform","setLocalTransform","transformCoordToGlobal","svgURI","round4","mathRound","pathHasFill","isText","pathHasStroke","svgEl","attrXLink","bindStyle","lineJoin","miterLimit","pathDataToString","dataLength","cmdStr","nData","dThetaPositive","isCircle","unifiedTheta","degree","setTextTransform","textSvgEl","needTransformTextByHostEl","elTransform","hostRect","_tmpTextTransform","updateTextLocation","tspan","TEXT_ALIGN_TO_ANCHRO","removeOldTextNode","__textSvgEl","__tspanList","__text","_core","svgPath","__svgEl","pathStr","svgTextDrawRectText","svgImage","HTMLImageElement","dw","dh","__imageSrc","svgText","_tmpTextHostRect","_tmpTextBoxPos","textSvgElStyle","tspanList","tspanOriginLen","__canCacheByTextString","nTextLines","singleLineText","__zrText","Definable","zrId","svgRoot","tagNames","markLabel","domName","_zrId","_svgRoot","_tagNames","_markLabel","_domName","nextId","ZText","_graphic","getDefs","isForceCreating","defs","addDom","removeDom","getDoms","doms","tags","markAllUnused","markUsed","removeUnused","getSvgProxy","getTextSvgElement","getSvgElement","_assign","_assign2","devtoolPlugin","devtoolHook","_devtoolHook","targetState","replaceState","subscribe","mutation","forEachValue","targetModule","newModule","getChild","genericSubscribe","resetStore","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreVM","oldVm","getters","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","getNamespace","namespaced","parentState","getNestedState","moduleName","local","makeLocalContext","forEachMutation","registerMutation","forEachAction","forEachGetter","registerGetter","forEachChild","noNamespace","_type","_payload","_options","unifyObjectStyle","commit","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","_Vue","applyMixin","normalizeMap","normalizeNamespace","getModuleByNamespace","vuexInit","$store","Module","rawModule","runtime","_rawModule","rawState","prototypeAccessors$1","mutations","ModuleCollection","rawRootModule","rawChildModule","unregister","Store","plugins","_committing","_actionSubscribers","_subscribers","_watcherVM","subscribeAction","registerModule","preserveState","unregisterModule","hotUpdate","newOptions","committing","mapState","states","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","_promise","_promise2","TO_STRING_TAG","DOMIterables","Collection","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","Item","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","messages","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","requestData","requestHeaders","request","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","paramsSerializer","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","response","responseText","statusText","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","cancel","abort","send","Cancel","__CANCEL__","enhanceError","mergeFn","nestRE","objs","bb","nestedKey","temp","addressData","updateAddress","newPromiseCapability","promiseCapability","inc","isRight","factories","construct","partArgs","bound","$iterDefine","SIZE","getEntry","$has","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","ufstore","flattenIntoArray","sourceLen","spreadable","targetIndex","sourceIndex","IS_CONCAT_SPREADABLE","un","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","log1p","inLow","inHigh","outLow","outHigh","getKeys","gOPS","$assign","getSymbols","isEnum","windowNames","getWindowNames","isEntries","$parseFloat","$trim","$parseInt","ws","hex","radix","repeat","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","strong","forced","flags","InternalMap","weak","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","$WeakMap","chartInstance","echartsAPIList","actionInfos","_roamHelper","seriesGroup","getMarkerPosition","clampData","legendHoverLink","barMinAngle","largeThreshold","progressiveChunkMode","setLabel","labelPositionOutside","fixPosition","circularLayout","basedOn","nodeData","_layoutNodesBasedOn","eachEdge","curveness","node1","node2","x12","y12","_graphHelper","_symbolRadiansHalf","unitAngle","radianHalf","sumRadian","nodeScale","symbolRadianHalf","halfRemainRadian","simpleLayout","getGraph","simpleLayoutEdge","EffectLine","_updateEffectSymbol","curveUtil","effectLineProto","effectModel","_symbolScale","_updateEffectAnimation","period","constantSpeed","delayExpr","isDelayFunc","updateAnimationPoints","getLineLength","_period","_loop","__t","animator","when","during","updateSymbolPosition","__p1","__cp1","__p2","lastPos","__lastT","_createPolyline","polylineProto","edges","directed","Graph","addNode","linkNameList","validEdges","linkCount","addEdge","coordSysCtor","edgeData","datas","datasAttr","createListSimply","seriesModelMixin","_baseAxisDim","addOrdinal","xAxisType","yAxisType","coordDims","baseAxisDimIndex","baseAxisDim","baseAxisType","otherAxisType","newOptionData","newItem","defaultValueDimensions","prepareDataCoordInfo","valueOrigin","valueStart","getValueStart","valueAxisDim","baseDataOffset","dataDimsForPoint","getStackedOnPoint","dataCoordInfo","stackedData","isPointNull","drawSegment","segLen","allLen","smoothMin","smoothMax","smooth","smoothMonotone","connectNulls","drawMono","drawNonMono","prevIdx","prevP","ctrlLen","v2Copy","cp0","nextIdx","nextP","ratioNextSeg","lenPrevSeg","lenNextSeg","getBoundingBox","smoothConstraint","ptMin","ptMax","fixClipWithShadow","stackedOnPoints","stackedOnSmooth","stackedOnBBox","lineCoords","isLarge","isPolyline","totalCoordsCount","getLineCoordsCount","getLineCoords","hierNode","defaultAncestor","prelim","modifier","thread","firstWalk","separation","siblings","subtreeW","executeShifts","midPoint","apportion","secondWalk","nodeX","defaultSeparation","radialCoordinate","radialCoor","subtreeV","nodeOutRight","nodeInRight","nodeOutLeft","nodeInLeft","sumOutRight","sumInRight","sumOutLeft","sumInLeft","nextRight","nextLeft","moveSubtree","nextAncestor","wl","wr","getAxisDimIndex","viewHelper","cartesianAxisHelper","CartesianAxisPointer","getGlobalExtent","pixelValue","pointerShapeBuilder","labelInside","currPosition","cursorOtherValue","tooltipOptions","shadow","initGlobalListeners","useHandler","dis","makeDispatchAction","dispatchTooltipFinally","pendings","initialized","doEnter","onLeave","actuallyPayload","showLen","showTip","hideLen","hideTip","currTrigger","rectCoordAxisBuildSplitArea","axisGroup","splitAreaModel","areaStyleModel","areaColors","areaColorsLen","lastSplitAreaColors","__splitAreaColors","newSplitAreaColors","colorIndex","cIndex","areaStyle","rectCoordAxisHandleRemove","layoutCovers","brushModel","brushTargetManager","BrushTargetManager","setInputRanges","throttleDelay","brushSelected","DISPATCH_FLAG","DISPATCH_METHOD","doDispatch","checkInRange","selectorsByBrushType","rangeInfoList","area","selectors","getSelectorsByBrushType","brushSelector","sels","selectorsByElementType","itemLayout","bSelector","sel","brushModelNotControll","seriesIndices","bindSelector","selFn","elType","getBoundingRectFromMinMax","minMax","visualSolution","STATE_LIST","PRIORITY_BRUSH","setBrushOption","brushIndex","linkOthers","brushLink","linkedSeriesMap","brushed","stepAParallel","hasBrushExists","hasAxisBrushed","eachActiveState","activeState","selectedDataIndexForLink","stepAOthers","controlSeries","thisBrushSelected","brushId","brushName","rangeInfoBySeries","boundingRectBuilders","seriesBrushSelected","rg","newSnapshot","giveStore","dataZoomId","snapshot","ATTR","targetInfoList","_targetInfoList","foundCpts","targetInfoBuilders","builder","formatMinMax","INCLUDE_FINDER_MAIN_TYPES","axisConvert","axisNameIndex","rangeOrCoordRange","xyMinMax","axisDiffProcessor","refer","scales","getScales","xyMinMaxCurr","xyMinMaxOrigin","sizeCurr","getSize","sizeOrigin","brushHelper","COORD_CONVERTS","setOutputRanges","matchOutputRanges","coordRange","coordRanges","coordConvert","__rangeOffset","diffProcessor","targetInfo","findTargetInfo","coordSyses","rangeOffset","makePanelOpts","getDefaultBrushType","getPanelRect","makeRectPanelClipPath","makeRectIsTargetByCursor","makeLinearBrushOtherExtent","areaPanelId","targetInfoMatchers","xAxisModels","yAxisModels","gridModels","gridModelMap","xAxesHas","yAxesHas","cartesians","panelRectBuilder","xAxisDeclared","yAxisDeclared","geoModels","xminymin","xmaxymax","getFixedItemStyle","areaColor","updateMapSelectHandler","mapDraw","mapOrGeoModel","regionsGroup","fromView","_mouseDownFlag","__regions","updateMapSelected","otherRegionEl","MapDraw","updateGroup","_controller","_controllerHost","_updateGroup","_mapName","_initialized","_regionsGroup","_backgroundGroup","roamHelper","_cursorHelper","_component","draw","isGeo","_updateBackground","transformInfo","itemStyleAccessPath","hoverItemStyleAccessPath","labelAccessPath","hoverLabelAccessPath","regionGroup","compoundPath","regionModel","getRegionModel","itemStyleModel","hoverItemStyleModel","transformPoint","geometries","geometry","exterior","interiors","interior","isDataNaN","_updateController","makeActionBase","normalizeRect","localPoints","specifiedXYIndex","brushWidth","targetModel","resourceKey","userKey","getStore","boxLayoutParams","viewportSize","layoutBox","makeBackground","legendFilter","langSelector","defaultSelectorOption","LegendModel","_updateSelector","_updateData","legendData","hasSelected","potentialData","availableNames","eachRawSeries","isPotential","provider","_availableNames","allSelect","inverseSelect","getOrient","borderRadius","borderWidth","itemGap","itemWidth","itemHeight","inactiveColor","inactiveBorderColor","selectedMode","selectorLabel","selectorPosition","selectorItemGap","selectorButtonGap","setSymbolStyle","legendModelItemStyle","dispatchSelectAction","dataName","dispatchDownplayAction","dispatchHighlightAction","_listComponent","layoutUtil","newlineDisabled","_contentGroup","_backgroundEl","_selectorGroup","_isFirstRender","getContentGroup","getSelectorGroup","legendModel","isFirstRender","resetInner","itemAlign","renderInner","maxSize","mainRect","layoutInner","layoutRect","contentGroup","legendDrawnMap","selectMode","getSeriesByName","legendSymbolType","itemGroup","_createItem","_createSelector","createSelectorButton","selectorItem","labelText","onclick","selectorGroup","emphasisLabelModel","itemIcon","legendGlobalTooltipModel","legendSymbolCenter","hitRect","legendIndex","__legendDataIndex","contentRect","contentPos","selectorRect","selectorPos","orientIdx","hw","yx","checkTrigger","triggerOn","parallelPreprocessor","parallelModel","_throttledDispatchExpand","_dispatchExpand","_mouseDownPoint","mouseDownPoint","getSlidedAxisExpandWindow","behavior","axisExpandWindow","preprocessor","visualDefault","VisualMapModel","replacableOptionKeys","dataBound","inRange","outOfRange","contentColor","textGap","_dataExtent","targetVisuals","controllerVisuals","itemSize","resetItemSize","completeVisualOption","resetVisual","getTargetSeriesIndices","optionSeriesIndex","eachTargetSeries","isTargetSeries","formatValueText","edgeSymbols","isMinMax","textValue","resetExtent","getDataDimension","optDim","listDimensions","completeSingle","defa","completeInactive","stateExist","stateAbsent","optExist","optAbsent","completeController","symbolExists","symbolSizeExists","visuals","getVisualMeta","autoPositionValues","visualMapModel","doRender","renderBackground","getControllerVisual","targetValue","visualCluster","visualObj","forceState","visualMapping","convertOpacityToAlpha","positionGroup","getItemAlign","modelOption","ecSize","realIndex","paramsSet","reals","fakeValue","layoutInput","rParam","makeHighDownBatch","pieces","splitList","calculable","getColorVisual","resultVisual","VISUAL_PRIORITY","createOnAllSeries","resetDefines","visualMetaList","visualMeta","stops","outerColors","concreteDim","nameRotate","nameTruncate","nameTextStyle","nameGap","axisTick","inside","axisLabel","splitLine","splitArea","categoryAxis","deduplication","minorSplitLine","timeAxis","logAxis","logBase","getAxisType","axisModelCreator","axisModelCommonMixin","AxisModel","gridIndex","gridId","extraOption","rawAxisPosition","rectBound","axisOffset","posBound","onZeroCoord","dirMap","Region","polygonContain","MAX_NUMBER","loopGeo","newRegion","json","UTF8Encoding","encodeScale","UTF8Scale","feature","coordinates","encodeOffsets","coordinate","decodePolygon","c2","prevX","prevY","featureObj","Parallel","positionMap","directionMap","_needCollect","needCollect","_deduplication","_map","getOrCreateMap","dedplication","getOrdinal","sysDims","applyDim","resultItem","coordDimNameMap","dataDimNameMap","getDimCount","userDimName","validDataDims","resultDimIdx","availDimIdx","sysDimItem","sysDimIndex","sysDimItemDimsDef","sysDimItemOtherDims","sysDimItemDimsDefItem","fromZero","extra","genName","optDimCount","linkAll","transferInjection","cloneShallowInjection","changeInjection","isMainData","DATAS","linkSingle","MAIN_DATA","ecHelper","parseGeoJSON","_List","_Model","_Axis","_env","parseGeoJson","ecUtil","isNotTargetSeries","seiresIndex","mergeTheme","notMergeColorLayer","colorLayer","themeItem","initBase","baseOption","OPTION_INNER_KEY","_seriesIndices","_seriesIndicesMap","globalDefault","getComponentsByTypes","componentsMap","existComponent","createSeriesIndices","filterBySubType","cpt","_optionManager","mountOption","timelineOption","getTimelineOption","mediaOptions","getMediaOption","mediaOption","visitComponent","newCptOptionList","ComponentModelClass","newCptTypes","componentOption","cpts","isIdArray","isNameArray","queryCond","indexAttr","idAttr","nameAttr","queryResult","oneSeries","getSeriesByType","getSeries","getSeriesCount","rawSeriesIndex","eachRawSeriesByType","getCurrentSeriesIndices","filterSeries","componentTypes","getNearestColorPalette","paletteNum","colorIdx","colorNameMap","scopeFields","defaultColorPalette","layeredColorPalette","colorPalette","fixRoundingError","originalVal","roundingErrorFix","scaleProto","intervalScaleProto","mathFloor","mathCeil","mathLog","LogScale","_originalScale","originalScale","powVal","__fixMin","__fixMax","approxTickNum","fixExtent","inactive","83","border","checkboxSize","isDisabled","isChecked","indeterminate","role","trueLabel","falseLabel","checked","$$a","$$el","$$c","$$i","$$v","checkboxvue_type_script_lang_js_","selfModel","isLimitExceeded","_checkboxGroup","isLimitDisabled","temCheckboxSize","checkboxGroupSize","controls","addToStore","ev","src_checkboxvue_type_script_lang_js_","src_checkbox","parseWidth","parseMinWidth","parseHeight","compose","funcs","toggleRowStatus","statusArr","changed","included","addRow","removeRow","walkTreeNode","_walker","lazyKey","childrenKey","isNil","createStore","table","initialState","src_store","toggleAllSelection","debounce_default","_toggleAllSelection","mapStates","_classCallCheck","defaultRenderCell","_ref7","$index","treeCellPrefix","_ref8","treeNode","ele","loadOrToggle","indent","expanded","noLazyChildren","expandClasses","iconClasses","node_classCallCheck","tree_store_classCallCheck","getError","xhr","getBody","onProgress","formData","filename","file","onError","onSuccess","srcvue_type_script_lang_js_noop","color_classCallCheck","src_node_classCallCheck","store_classCallCheck","pagervue_type_template_id_7274f267_render","onPagerClick","pageCount","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","input_","input_default","locale_","locale_default","pageSize","small","pageSizes","popperClass","prevText","nextText","background","hideOnSinglePage","internalCurrentPage","internalPageSize","lastEmittedPage","userChangePageSize","internalPageCount","TEMPLATE_MAP","jumper","handleCurrentChange","sizes","rightWrapper","haveRightWrapper","compo","Prev","Next","Sizes","oldVal","ElSelect","ElOption","Jumper","ElInput","userInput","handleKeyup","getValidCurrentPage","emitChange","Total","Pager","havePageCount","resetValue","_this2","oldPage","packages_pagination","componentvue_type_template_id_60140e62_render","visible","handleWrapperClick","fullscreen","customClass","showClose","handleClose","rendered","footer","componentvue_type_template_id_60140e62_staticRenderFns","popup_","popup_default","componentvue_type_script_lang_js_","modal","modalAppendToBody","lockScroll","closeOnClickModal","closeOnPressEscape","beforeClose","destroyOnClose","closed","dialog","marginTop","src_componentvue_type_script_lang_js_","component_component","src_component","autocompletevue_type_template_id_152f2ee6_render","suggestionVisible","handleClear","keydown","highlightedIndex","handleKeyEnter","$props","popperAppendToBody","suggestions","valueKey","autocompletevue_type_template_id_152f2ee6_staticRenderFns","debounce_","clickoutside_","clickoutside_default","autocomplete_suggestionsvue_type_template_id_cd10dcf0_render","dropdownWidth","autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns","vue_popper_","vue_popper_default","scrollbar_","scrollbar_default","autocomplete_suggestionsvue_type_script_lang_js_","ElScrollbar","referenceList","inputWidth","src_autocomplete_suggestionsvue_type_script_lang_js_","autocomplete_suggestions_component","autocomplete_suggestions","focus_","focus_default","autocompletevue_type_script_lang_js_","ElAutocompleteSuggestions","Clickoutside","minlength","autofocus","fetchSuggestions","triggerOnFocus","customItem","selectWhenUnmatched","highlightFirstItem","activated","suggestionDisabled","$input","queryString","debouncedGetData","_this3","suggestion","suggestionList","highlightItem","_this4","src_autocompletevue_type_script_lang_js_","autocomplete_component","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","focusing","listId","dropdownSize","handleMenuItemClick","selfDefine","removeTabindex","resetTabindex","handleClick","handleTriggerKeyDown","handleItemKeyDown","currentIndex","nextIndex","triggerElmFocus","initAria","command","initDomOperation","handleMainButtonClick","src_dropdownvue_type_script_lang_js_","dropdown_component","dropdown_render","dropdown_staticRenderFns","packages_dropdown","dropdown_menuvue_type_template_id_0da6b714_render","dropdown_menuvue_type_template_id_0da6b714_staticRenderFns","dropdown_menuvue_type_script_lang_js_","src_dropdown_menuvue_type_script_lang_js_","dropdown_menu_component","dropdown_menu","packages_dropdown_menu","dropdown_itemvue_type_template_id_6359102a_render","divided","icon","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","aria_utils","SubMenu","domNode","subMenuItems","subIndex","addListeners","gotoSubIndex","prevDef","aria_submenu","MenuItem","submenu","menuChild","aria_menuitem","Menu","menuChildren","aria_menubar","menuvue_type_script_lang_js_","collapse","collapseTransition","rootMenu","dataset","oldOverflow","defaultActive","defaultOpeneds","uniqueOpened","router","menuTrigger","activeTextColor","activeIndex","openedMenus","submenus","hoverBackground","mixColor","isMenuPopup","updateActiveIndex","initOpenedMenu","getColorChannels","red","green","blue","_getColorChannels","addItem","removeItem","addSubmenu","removeSubmenu","openMenu","indexPath","closeMenu","handleSubmenuClick","handleItemClick","oldActiveIndex","hasIndex","routeToItem","activeItem","route","$router","src_menuvue_type_script_lang_js_","menu_component","menu_render","menu_staticRenderFns","src_menu","packages_menu","collapse_transition_","collapse_transition_default","menu_mixin","parentMenu","paddingStyle","paddingLeft","poperMixins","submenuvue_type_script_lang_js_","ElCollapseTransition","mouseInChild","opened","isFirstLevel","menuTransitionName","isActive","titleStyle","borderBottomColor","handleCollapseToggle","initPopper","handleMouseenter","relatedTarget","MouseEvent","handleMouseleave","deepDispatch","handleTitleMouseenter","handleTitleMouseleave","updatePlacement","menu","_this5","popupMenu","inlineMenu","submenuTitleIcon","src_submenuvue_type_script_lang_js_","submenu_component","submenu_render","submenu_staticRenderFns","packages_submenu","menu_itemvue_type_template_id_2a5dbfea_render","onMouseEnter","onMouseLeave","effect","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","inputvue_type_template_id_343dd774_staticRenderFns","input_component","src_input","packages_input","input_numbervue_type_template_id_42f8cf66_render","inputNumberSize","inputNumberDisabled","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","currentValue","stepPrecision","precisionFactor","toPrecision","_decrease","_increase","numPrecision","num","valueString","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","radio","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","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","checkboxvue_type_template_id_d0387074_staticRenderFns","checkbox_component","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","newColor","packages_switch_src_componentvue_type_script_lang_js_","src_component_component","switch_src_component","packages_switch","selectvue_type_template_id_0e4aade6_render","selectSize","toggleMenu","collapseTags","closable","selectDisabled","collapseTagSize","hit","hitState","deleteTag","currentLabel","resetInputHeight","getValueKey","filterable","inputLength","softFocus","keyup","managePlaceholder","resetInputState","navigateOptions","selectOption","deletePrevTag","handleComposition","debouncedQueryChange","currentPlaceholder","debouncedOnInputChange","paste","inputHovering","selectedLabel","iconClass","handleClearClick","handleMenuEnter","emptyText","allowCreate","filteredOptionsCount","showNewOption","empty","selectvue_type_template_id_0e4aade6_staticRenderFns","select_dropdownvue_type_template_id_06828748_render","select_dropdownvue_type_template_id_06828748_staticRenderFns","select_dropdownvue_type_script_lang_js_","src_select_dropdownvue_type_script_lang_js_","select_dropdown_component","select_dropdown","optionvue_type_template_id_7a44c642_render","itemSelected","groupDisabled","limitReached","hover","hoverItem","selectOptionClick","optionvue_type_template_id_7a44c642_staticRenderFns","optionvue_type_script_lang_js_","multipleLimit","remote","_select","handleGroupDisabled","hoverIndex","queryChange","cachedOptions","optionsCount","_select2","selectedOptions","onOptionDestroy","src_optionvue_type_script_lang_js_","option_component","src_option","tag_","tag_default","lib_locale_","lib_locale_default","scroll_into_view_","scroll_into_view_default","navigation_mixin","hoverOption","optionsAllDisabled","scrollToOption","selectvue_type_script_lang_js_","loadingText","noMatchText","noDataText","hasExistingOption","ElSelectMenu","ElTag","automaticDropdown","remoteMethod","filterMethod","defaultFirstOption","reserveKeyword","createdLabel","createdSelected","initialInputHeight","cachedPlaceHolder","previousQuery","menuVisibleOnFocus","isOnComposition","isSilentBlur","handleQueryChange","resetHoverIndex","inputs","checkDefaultFirstOption","_this6","scrollbar","_this7","isNull","cachedOption","_this8","_this9","deleteSelected","toggleLastOptionHitState","_this10","inputChildNodes","sizeInMap","_this11","handleOptionSelect","byClick","_this12","optionIndex","getValueIndex","setSoftFocus","onInputChange","resetInputWidth","handleResize","hasCreated","_this13","_this14","sizeMap","medium","mini","src_selectvue_type_script_lang_js_","select_component","src_select","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","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","checkbox_","checkbox_default","external_throttle_debounce_","external_normalize_wheel_","external_normalize_wheel_default","mousewheel_mousewheel","directives_mousewheel","external_vue_","external_vue_default","util_typeof","getCell","cell","util_isObject","util_orderBy","sortKey","sortMethod","sortBy","by","$value","getColumnById","columnId","columns","getColumnByKey","columnKey","getColumnByCell","getRowIdentity","rowKey","getKeysMap","arrayMap","expand","defaultExpandAll","expandRows","updateExpandRows","_states","_states$data","expandRowsMap","rowId","toggleRowExpansion","scheduleLayout","setExpandRowKeys","rowKeys","assertRowKey","_states2","keysMap","isRowExpanded","_states3","_states3$expandRows","_currentRowKey","currentRow","setCurrentRowKey","setCurrentRowByKey","restoreCurrentRowKey","updateCurrentRow","oldCurrentRow","updateCurrentRowData","currentRowKey","_extends","expandRowKeys","treeData","lazyTreeNodeMap","lazyColumnIdentifier","childrenColumnName","normalizedData","normalizedLazyNode","parentId","updateTreeData","newTreeData","oldTreeData","rootLazyRowKeys","getExpanded","newValue","_ref$loaded","_ref$loading","lazyKeys","lazyNodeChildren","_ref2","_ref2$loaded","_ref2$loading","updateTableScrollY","updateTreeExpandKeys","toggleTreeExpansion","_states4","oldExpanded","_states5","loadData","_states6","watcher_sortData","sortingColumn","sortable","sortProp","sortOrder","doFlattenColumns","_columns","originColumns","leafColumns","fixedLeafColumns","rightFixedLeafColumns","leafColumnsLength","fixedLeafColumnsLength","rightFixedLeafColumnsLength","isAllSelected","selection","reserveSelection","selectOnIndeterminate","selectable","filteredData","hoverRow","updateColumns","notFixedColumns","needUpdateColumns","debouncedUpdateLayout","_states$selection","clearSelection","cleanSelection","deleted","selectedMap","dataMap","newSelection","toggleRowSelection","selectionChanged","updateSelectionByRowKey","rowInfo","updateAllSelected","selectedCount","isRowSelectable","updateFilters","updateSort","execFilter","execSort","execQuery","clearFilter","columnKeys","_table$$refs","tableHeader","fixedTableHeader","rightFixedTableHeader","filterPanels","filteredValue","multi","clearSort","setExpandRowKeysAdapter","toggleRowExpansionAdapter","dataInstanceChanged","insertColumn","$ready","removeColumn","changeSortCondition","ingore","filterChange","newFilters","rowSelectedChanged","setHoverRow","setCurrentRow","updateScrollY","table_layout_TableLayout","TableLayout","observers","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","th","table_body_typeof","table_body_extends","table_body","ElCheckbox","cellspacing","cellpadding","wrappedRowRender","tooltipEffect","tooltipContent","treeIndent","leftFixedLeafCount","rightFixedLeafCount","columnsCount","leftFixedCount","rightFixedCount","hasExpandColumn","firstDefaultColumnIndex","rows","oldRow","newRow","activateTooltip","handleShowPopper","getKeyOfRow","isColumnHidden","getSpan","rowIndex","columnIndex","rowspan","colspan","spanMethod","getRowStyle","getRowClass","getCellStyle","cellStyle","getCellClass","cellClassName","getColspanRealWidth","_ref3","handleCellMouseEnter","hoverState","cellChild","createRange","setStart","setEnd","innerText","setExpectedState","handleCellMouseLeave","handleClosePopper","oldHoverState","handleMouseEnter","handleContextMenu","handleEvent","handleDoubleClick","rowRender","treeRowData","columnsHidden","rowClasses","cellIndex","_getSpan","columnData","renderCell","_store$states","renderExpanded","tr","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","src_filter_panelvue_type_script_lang_js_","filter_panel_component","filter_panel","table_header_extends","getAllColumns","convertToRows","maxLevel","colSpan","subColumn","rowSpan","table_header","columnRows","hasGutter","getHeaderRowStyle","getHeaderRowClass","handleMouseMove","handleMouseOut","handleMouseDown","handleHeaderClick","handleHeaderContextMenu","getHeaderCellStyle","getHeaderCellClass","labelClassName","renderHeader","handleSortClick","handleFilterClick","_defaultSort","isCellHidden","after","headerRowStyle","headerRowClassName","headerCellStyle","headerAlign","headerCellClassName","filterPanel","filterPlacement","draggingColumn","tableEl","tableLeft","columnEl","columnRect","minLeft","dragState","startMouseLeft","startLeft","startColumnLeft","resizeProxy","ondragstart","deltaLeft","proxyLeft","handleMouseUp","_dragState","finalLeft","resizable","bodyStyle","pageX","toggleOrder","sortOrders","givenOrder","table_footer_extends","table_footer","sums","precisions","notNumber","decimal","getRowClasses","tablevue_type_script_lang_js_extends","tableIdSeed","tablevue_type_script_lang_js_","Mousewheel","treeProps","hasChildren","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","_ref4","_ref5","_ref6","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","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","time","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","parser","getMonth","trueDate","setHours","setDate","getDate","getDay","dates","PLACEMENT_MAP","parseAsFormatAndType","customFormat","formatAsFormatAndType","dateEquals","aIsDate","bIsDate","aIsArray","bIsArray","pickervue_type_script_lang_js_validator","pickervue_type_script_lang_js_","valueFormat","defaultValue","defaultTime","pickerOptions","unlinkPanels","valueOnOpen","unwatchPickerOptions","showPicker","hidePicker","parsedValue","picker","refInput","valueIsEmpty","selectionMode","showTrigger","handleFieldReset","parseValue","isParsed","formatToValue","isFormattable","formatToString","isValidValue","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","second","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","isCapital","basic_time_spinnervue_type_script_lang_js_","time_spinner_component","time_spinner","timevue_type_script_lang_js_","TimeSpinner","spinner","needInitAdjust","selectionRange","38","40","37","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_","getFullYear","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","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","date_tablevue_type_script_lang_js_","offsetDay","startDate","day","dateCountOfMonth","dateCountOfLastMonth","numberOfDaysFromPreviousMonth","getDateOfCell","offsetFromStart","setMonth","setFullYear","dayOffset","_cell","weekNumber","basic_date_tablevue_type_script_lang_js_","date_table_component","date_table","datevue_type_script_lang_js_","inputElm","pickerWidth","getDefaultValue","timepicker","_date","_selectableRange","timeFormat","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","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","amount","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","_isRange","packages_time_picker","mainvue_type_template_id_52060272_render","handleAfterEnter","handleAfterLeave","tooltipId","mainvue_type_template_id_52060272_staticRenderFns","mainvue_type_script_lang_js_","openDelay","closeDelay","doToggle","handleDocumentClick","doShow","doClose","cleanup","_timer","src_mainvue_type_script_lang_js_","main_component","getReference","popover","src_main","manual","enterable","hideAfter","timeoutPending","popperVM","debounceClose","firstElement","getFirstElement","addTooltipClass","removeFocusing","expectedState","packages_tooltip","mainvue_type_template_id_6b29b012_render","handleAction","distinguishCancelAndClose","dangerouslyUseHTMLString","showInput","inputType","inputPlaceholder","handleInputEnter","inputValue","editorErrorMessage","showCancelButton","cancelButtonClasses","cancelButtonLoading","roundButton","cancelButtonText","showConfirmButton","confirmButtonClasses","confirmButtonLoading","confirmButtonText","mainvue_type_template_id_6b29b012_staticRenderFns","aria_dialog_","aria_dialog_default","messageBox","typeMap","message_box_src_mainvue_type_script_lang_js_","closeOnHashChange","confirmButtonClass","cancelButtonClass","getSafeClose","currentId","_closing","onClose","closeDialog","restoreBodyStyle","doAfterClose","$type","inputPattern","inputErrorMessage","getInputElement","inputValidator","validateResult","getFirstFocus","btn","inputRefs","focusAfterClosed","confirmButtonDisabled","packages_message_box_src_mainvue_type_script_lang_js_","src_main_component","message_box_src_main","vdom_","main_typeof","main_defaults","modalFade","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","breadcrumb","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","labelPosition","inline","formvue_type_template_id_a1b5ff34_staticRenderFns","formvue_type_script_lang_js_","rules","labelWidth","labelSuffix","inlineMessage","showMessage","validateOnRuleChange","hideRequiredAsterisk","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","labelFor","contentStyle","validateMessage","form_itemvue_type_template_id_b6f3db6c_staticRenderFns","external_async_validator_","external_async_validator_default","label_wrapvue_type_script_lang_js_","isAutoWidth","updateAll","marginLeft","computedWidth","getLabelWidth","firstElementChild","updateLabelWidth","updateComputedLabelWidth","src_label_wrapvue_type_script_lang_js_","label_wrap_component","label_wrap_render","label_wrap_staticRenderFns","label_wrap","form_itemvue_type_script_lang_js_","LabelWrap","computedLabelWidth","parentName","fieldValue","getRules","_formSize","validateDisabled","getFilteredRule","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","barStyle","tab_barvue_type_template_id_2031f33a_staticRenderFns","tab_barvue_type_script_lang_js_","tabs","tabSize","sizeName","sizeDir","firstUpperCase","paneName","tabStyles","paddingRight","src_tab_barvue_type_script_lang_js_","tab_bar_component","tab_bar","tab_navvue_type_script_lang_js_firstUpperCase","tab_navvue_type_script_lang_js_","TabBar","panes","currentName","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","tab_nav_render","tab_nav_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","tabs_render","tabs_staticRenderFns","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","packages_tab_pane","tagvue_type_script_lang_js_","disableTransitions","tagSize","tagEl","src_tagvue_type_script_lang_js_","tag_component","tag_render","tag_staticRenderFns","packages_tag","treevue_type_template_id_547575a6_render","highlightCurrent","draggingNode","allowDrop","dropType","getNodeKey","renderAfterExpand","showCheckbox","renderContent","handleNodeExpand","showDropIndicator","treevue_type_template_id_547575a6_staticRenderFns","NODE_KEY","markNodeData","util_getNodeKey","findNearestComponent","_createClass","protoProps","getChildState","none","allWithoutDisable","reInitChecked","_getChildState","checkStrictly","getPropertyFromData","dataProp","nodeIdSeed","node_Node","Node","isCurrent","registerNode","isLeaf","isLeafByUser","defaultExpandedKeys","autoExpandParent","currentNodeKey","currentNode","_initDefaultCheckedNode","updateLeafState","insertChild","getChildren","insertAfter","deregisterNode","removeChildByData","expandParent","shouldLoadData","setChecked","doCreateChildren","defaultProps","recursion","passValue","checkDescendants","_getChildState2","handleDescendants","isCheck","_getChildState3","_all","forceInit","newDataMap","newNodes","nodeKey","model_node","tree_store_typeof","tree_store_TreeStore","TreeStore","nodesMap","loadFn","_initDefaultCheckedNodes","filterNodeMethod","allHidden","getNode","refData","refNode","defaultCheckedKeys","checkedKey","setDefaultCheckedKey","getCheckedNodes","leafOnly","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","drop","handleDrop","handleExpandIconClick","handleCheckChange","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","checkbox","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","description","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","seed","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","startX","currentX","startY","currentY","startPosition","newPosition","currentPosition","enableFormat","displayTooltip","hideTooltip","onDragStart","onDragging","onDragEnd","setPosition","touches","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","minValue","valueChanged","button1","sliderOffsetBottom","slider","sliderOffsetLeft","stopCount","stepWidth","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","lock","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","xs","sm","md","xl","packages_col","upload_listvue_type_template_id_173fedf5_render","listType","files","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","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","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_dragger","uploadvue_type_script_lang_js_","UploadDragger","onStart","beforeUpload","drag","onPreview","onRemove","fileList","autoUpload","httpRequest","limit","onExceed","mouseover","reqs","isImage","uploadFiles","postFiles","rawFile","post","processedFile","fileType","File","req","src_uploadvue_type_script_lang_js_","upload_component","upload_render","upload_staticRenderFns","src_upload","srcvue_type_script_lang_js_","UploadList","Upload","dragger","showFileList","beforeRemove","onChange","dragOver","draging","tempIndex","uploadDisabled","URL","createObjectURL","handleStart","handleProgress","getFile","handleSuccess","handleRemove","doRemove","clearFiles","submit","revokeObjectURL","uploadList","uploadData","uploadComponent","upload_srcvue_type_script_lang_js_","upload_src_component","src_render","src_staticRenderFns","upload_src","packages_upload","progressvue_type_template_id_229ee406_render","showText","textInside","strokeWidth","trailPathStyle","trackPath","relativeStrokeWidth","circlePathStyle","strokeLinecap","progressTextSize","progressvue_type_template_id_229ee406_staticRenderFns","progressvue_type_script_lang_js_","getCurrentColor","isDashboard","perimeter","strokeDashoffset","strokeDasharray","getLevelColor","colorArray","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","MessageConstructor","message_src_main_instance","main_instances","main_seed","main_Message","Message","packages_message_src_main","packages_message","mainvue_type_template_id_7ccb6598_render","hidden","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","types_","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","simple","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","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","indicator","setActiveItem","resetItemPosition","pauseTimer","itemInStage","inStage","updateItems","translateItem","playSlides","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","ready","animating","itemvue_type_template_id_1801ae19_staticRenderFns","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","src_collapse_itemvue_type_script_lang_js_","collapse_item_component","collapse_item","packages_collapse_item","cascadervue_type_template_id_032537a6_render","toggleDropDownVisible","realSize","inputHover","handleKeyDown","dropDownVisible","presentText","clearBtnVisible","presentTags","handleDelete","handleDropdownLeave","filtering","handleExpandChange","checkedValue","handleSuggestionKeyDown","handleSuggestionClick","cascadervue_type_template_id_032537a6_staticRenderFns","cascader_panel_","cascader_panel_default","aria_utils_","aria_utils_default","KeyCode","MigratingProps","expandTrigger","changeOnSelect","hoverThreshold","PopperMixin","InputSizeMap","cascadervue_type_script_lang_js_","ElCascaderPanel","showAllLevels","beforeFilter","inputInitialHeight","pressDeleteCount","oldProp","_MigratingProps$oldPr","computePresentContent","filterHandler","getSuggestions","focusFirstNode","clearCheckedNodes","suggestionPanel","firstNode","computePresentTags","computePresentText","getNodeByValue","getText","genTag","restCount","keyword","getFlattedNodes","getValueByOption","previousElementSibling","nextElementSibling","doCheck","calculateMultiCheckedValue","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","hsv2hsl","hue","sat","isOnePointZero","isPercentage","bound01","processPercent","INT_HEX_MAP","10","12","13","14","15","hexOne","high","low","HEX_INT_MAP","E","parseHexChannel","hsl2hsv","light","smin","lmin","sv","rgb2hsv","hsv2rgb","mod","Color","_hue","_saturation","_alpha","enableAlpha","doOnChange","toRgb","fromString","fromHSV","parts","_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_","colorValue","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","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","timeline_src_mainvue_type_script_lang_js_","timeline","packages_timeline_src_mainvue_type_script_lang_js_","timeline_src_main_component","main_render","main_staticRenderFns","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","contentPosition","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","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","isShow","deg","enableTransition","complete","deviceSupportUninstall","deviceSupportInstall","_keyDownHandler","_mouseWheelHandler","zoomRate","_transform2","pageY","_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","_$el","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_","date_default","src_date_tablevue_type_script_lang_js_","selectedDay","hideHeader","WEEK_DAYS","dayNames","toNestedArr","days","getFormateDate","curMonthDatePrefix","prevMonthDatePrefix","nextMonthDatePrefix","formatedToday","cellRenderProxy","elCalendar","dateCell","isInRange","_range","currentMonthRange","nextMonthRange","nextMonthDays","weekDays","thead","calendar_src_date_tablevue_type_script_lang_js_","src_date_table_component","date_table_render","date_table_staticRenderFns","src_date_table","validTypes","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","calendar","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","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_render","menus","cascader_panelvue_type_template_id_34932346_staticRenderFns","radio_","radio_default","cascader_nodevue_type_script_lang_js_","ElRadio","nodeId","isSameNode","inActivePath","isInPath","activePath","inCheckedPath","checkedNodePaths","checkedPath","handleExpand","lazyLoad","handleMultiCheckChange","pathNodes","renderPrefix","renderCheckbox","renderRadio","renderCheckIcon","renderPostfix","renderLoadingIcon","renderExpandIcon","renderLabelFn","src_cascader_nodevue_type_script_lang_js_","cascader_node_component","cascader_node_render","cascader_node_staticRenderFns","cascader_node","cascader_menuvue_type_script_lang_js_","CascaderNode","activeNode","hoverTimer","menuId","hoverZone","_$el$getBoundingClien","clearHoverZone","renderEmptyText","renderNodeList","isHoverMenu","src_cascader_menuvue_type_script_lang_js_","cascader_menu_component","cascader_menu_render","cascader_menu_staticRenderFns","cascader_menu","node_createClass","src_node_Node","initChildren","labelKey","calculatePathNodes","pathLabels","childrenData","getPath","emitPath","allLevels","handlerName","_len2","_key2","onParentCheck","setCheckState","onChildCheck","validChildren","totalNum","checkedNum","syncCheckState","disabledKey","_config2","leafKey","leaf","src_node","flatNodes","store_Store","initNodes","flattedNodes","leafNodes","appendNode","appendNodes","nodeDataList","getNodes","cachedNodes","cascader_panel_src_store","cascader_panelvue_type_script_lang_js_extends","cascader_panelvue_type_script_lang_js_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","syncMenuState","syncActivePath","syncMultiCheckState","checkedNode","expandNodes","checkedValues","preMenu","expandedNode","nextMenu","pathValues","activePathValues","onFullfiled","dataList","nodeValue","menuElement","src_cascader_panelvue_type_script_lang_js_","cascader_panel_component","cascader_panel","packages_cascader_panel","avatar_src_mainvue_type_script_lang_js_","srcSet","isImageExist","avatarClass","renderAvatar","packages_avatar_src_mainvue_type_script_lang_js_","avatar_src_main_component","src_main_render","src_main_staticRenderFns","avatar_src_main","avatar","mainvue_type_template_id_a4885264_render","withHeader","closeDrawer","mainvue_type_template_id_a4885264_staticRenderFns","drawer_src_mainvue_type_script_lang_js_","wrapperClosable","prevActiveElement","drawer","packages_drawer_src_mainvue_type_script_lang_js_","drawer_src_main_component","drawer_src_main","mainvue_type_template_id_048de730_render","hideIcon","iconColor","cancelButtonType","confirmButtonType","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","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","colorpicker","datepicker","selectTime","endTime","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","weeks","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","116","124","createDocumentHandler","bindingFn","nodeList","startClick","documentHandler","regexEscape","shorten","sLen","monthUpdate","arrName","fecha","word","literal","monthNames","monthNamesShort","dayNamesShort","DoFn","formatFlags","dateObj","DD","Do","dd","ddd","dddd","MM","MMM","MMMM","yy","yyyy","hh","HH","mm","ss","getMilliseconds","SS","SSS","ZZ","getTimezoneOffset","parseFlags","da","cent","millisecond","isPm","timezoneOffset","masks","shortDate","mediumDate","longDate","fullDate","shortTime","mediumTime","longTime","i18nSettings","literals","$0","$1","dateStr","dateInfo","parseInfo","newFormat","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","idSeed","modalClass","_popupId","deregister","closeModal","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","_opening","_closeTimer","_openTimer","doOpen","willOpen","openModal","bodyHasOverflow","bodyOverflowY","onOpen","doAfterOpen","willClose","isHtmlElement","ELEMENT_NODE","functionToCheck","isDefined","Animatable","afterUpdate","setClipPath","removeClipPath","animators","addAnimator","removeAnimator","defaultGetter","defaultSetter","interpolateNumber","interpolateString","interpolateArray","arrDim","len2","fillArr","arr0","arr1","arr0Len","arr1Len","isArraySame","catmullRomInterpolateArray","catmullRomInterpolate","v0","cloneValue","rgba2String","getArrayDim","keyframes","lastValue","createTrackClip","easing","oneTrackDone","forceAnimate","_getter","_setter","useSpline","trackLen","trackMaxTime","firstVal","isValueArray","isValueColor","isValueString","kfPercents","kfValues","prevValue","isAllValueEqual","lastFrame","lastFramePercent","onframe","frame","clip","Clip","life","_delay","ondestroy","Animator","_tracks","_clipCount","_doneList","_onframeList","_clipList","tracks","pause","_paused","resume","isPaused","_doneCallback","doneList","lastClip","clipCount","addClip","oldOnFrame","forwardToLast","clipList","removeClip","getClips","msRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","_a","isAroundEqual","windingLine","_curve","normalizeRadian","x_","LinkedList","linkedListProto","Entry","insertEntry","_list","_maxSize","_lastRemovedEntry","LRUProto","leastUsedEntry","transformLocalCoord","elFrom","inX","inY","saved","EVENT_SAVED_PROP","prepareCoordMarkers","transformer","preparePointerTransformer","propLR","propTB","stl","idxLR","idxTB","transformerName","oldSrcCoords","srcCoords","oldCoordTheSame","destCoords","ii","offsetLeft","buildTransformer","_fourPointsTransform","idStart","createPattern","orignalBrush","clipPaths","shadowTemp","SHADOW_PROPS","controlPoints","smoothBezier","cp2","smoothSpline","r1","r2","r3","r4","polyHelper","SVGParser","_defs","_root","_isDefine","_isText","_parseGradientColorStops","xmlNode","gradient","stopColor","inheritStyle","__inheritedStyle","parsePoints","pointsString","DILIMITER_REG","parseAttributes","onlyInlineStyle","zrStyle","isTextEl","parseTransformAttribute","parseStyleAttribute","svgAttrName","attributesMap","attrValue","elFillProp","elStrokeProp","getPaint","elPropName","urlMatch","urlRegex","transformOps","transformRegex","styleList","styleRegex","styleRegResult","makeViewBoxTransform","viewBoxRect","parseSVG","xml","Ellipse","_path","_parseNode","viewBoxTransform","viewBoxArr","ignoreViewBox","elRoot","ignoreRootClip","parentGroup","defineParsers","nodeParsers","_parseText","_textX","_textY","ellipse","processArc","fa","psiDeg","xp","yp","lambda","cxp","cyp","vAngle","u","vRatio","createPathProxyFromString","prevCmd","cpx","cpy","subpathX","subpathY","cmdList","commandReg","cmdText","numberReg","pLen","ctlPtx","ctlPty","createPathOptions","pathProxy","transformPath","pathEls","pathList","pathEl","pathBundle","vMag","createNode","doCreateNode","initVML","vmlInited","styleSheets","createStyleSheet","addRule","urn","win","zrvml","DEFINE_PROPERTY","_babelPolyfill","padStart","padEnd","_from2","arr2","_defineProperty","_defineProperty2","_echarts","_export","Schema","_messages","source_","oc","getValidationMethod","errorFields","doIt","addFullfield","schema","fieldsSchema","defaultField","fieldSchema","errs","messageIndex","newMessages","invalid","boolean","integer","email","mismatch","ENUM","_pattern","spRegexp","custom","ruleType","getYear","dateObject","floatFn","createInstance","Axios","axios","instanceConfig","CancelToken","isCancel","promises","spread","executor","resolvePromise","throwIfRequested","interceptors","InterceptorManager","dispatchRequest","isAbsoluteURL","combineURLs","baseURL","chain","interceptor","rejected","eject","throwIfCancellationRequested","transformData","output","encodeURIComponent","serializedParams","toISOString","relativeURL","expires","secure","cookie","toGMTString","decodeURIComponent","resolveURL","msie","urlParsingNode","protocol","search","hostname","pathname","originURL","requestURL","parsed","require","requireContext","RtButton","RtButtonGroup","RtView","RtHeader","RtContent","RtFooter","RtLookup","RtPicklist","RtCard","RtSection","RtIcon","RtTag","RtForm","RtFormItem","RtInput","RtDatePicker","RtRow","RtCol","RtTable","RtTableColumn","RtTableDropdown","RtAdvanceTableGroup","RtAdvanceTableItem","RtSearch","RtTabs","RtContentTabs","RtTabPane","RtHeaderButtonGroup","RtHeaderIcon","RtHeaderTitle","RtAttr","RtDetailHeader","RtDetailItem","RtDetailAside","RtListFilter","RtListHeader","RtDropDown","RtDropDownMenu","RtDropDownItem","RtRadioGroup","RtRadio","RtRadioButton","RtCheckboxGroup","RtCheckbox","RtCheckboxButton","RtTree","RtUpload","RtLabelGroup","RtLabelItem","RtDialog","RtCollapseTransition","RtCollapse","RtAttachment","RtApproval","RtApprovalItem","RtCascader","RtAddress","installComponents","installPlugins","ElementUI","getComponents","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default","__WEBPACK_IMPORTED_MODULE_1__components_cascader_store__","__WEBPACK_IMPORTED_MODULE_2__config__","defaultFetch","provinceres","cityres","countyres","provincelist","citylist","countylist","provinces","cities","counties","province","cityArry","city","ParentId","countyArry","county","provinceItem","cityItem","fetch","$address","getAddressData","resetFetch","showErrorToast","LookupPlugin","PicklistPlugin","AddressPlugin","LocalePlugin","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_assign__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_assign___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default","__WEBPACK_IMPORTED_MODULE_3__config__","__WEBPACK_IMPORTED_MODULE_4_element_ui_lib_locale_lang_en__","__WEBPACK_IMPORTED_MODULE_4_element_ui_lib_locale_lang_en___default","__WEBPACK_IMPORTED_MODULE_5_element_ui_lib_locale_lang_zh_CN__","__WEBPACK_IMPORTED_MODULE_5_element_ui_lib_locale_lang_zh_CN___default","elementLocaleMessage","zhLocale","enLocale","getMessage","localeid","localStorage","elMessage","LanguageConfigs","setItem","getLocales","locales","new_code","new_displayname","new_name","langid","new_langid","setLocaleMessage","http","$tx","idField","nameField","displayFields","returnFields","orderbyFields","customConditions","filterFields","pageIndex","queryValue","selectString","selectFields","fieldName","$crmlookup","crmlookup","getLookupData","$picklist","picklist","getPicklistData","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default","oldPaddingTop","paddingTop","oldPaddingBottom","paddingBottom","hadRuntime","regeneratorRuntime","oldRuntime","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","__await","unwrapped","enqueue","callInvokeWithMethodAndArg","previousPromise","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","GenStateSuspendedYield","return","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","iteratorSymbol","Op","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","getProto","NativeIteratorPrototype","Gp","isGeneratorFunction","genFun","awrap","skipTempReset","rootEntry","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","escape","$JSON","$Object","createProperty","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","promiseResolve","v8","$Promise","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","ok","reaction","exited","fail","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","onunhandledrejection","onrejectionhandled","$reject","_w","$resolve","onFulfilled","onRejected","capability","alreadyCalled","race","$fails","wksDefine","enumKeys","_create","gOPNExt","$GOPS","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","onFinally","$toISOString","lz","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","regExp","part","$re","$every","$filter","$find","$forEach","STRICT","$indexOf","NEGATIVE_ZERO","$reduce","upTo","$some","$sort","toJSON","pv","DateProto","HAS_INSTANCE","FunctionProto","FProto","nameRE","$acosh","acosh","asinh","$asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","larg","$imul","imul","xn","yn","yl","log10","LOG10E","log2","sinh","tanh","trunc","$Number","BROKEN_COF","TRIM","argument","third","maxCode","_isFinite","isInteger","isSafeInteger","MIN_SAFE_INTEGER","aNumberValue","$toFixed","ERROR","multiply","divide","numToString","fractionDigits","$toPrecision","$freeze","$getPrototypeOf","$isExtensible","$isFrozen","$isSealed","$preventExtensions","$seal","rApply","fApply","thisArgument","argumentsList","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","deleteProperty","Enumerate","enumerate","receiver","setProto","V","existingDescriptor","ownDesc","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","advanceStringIndex","regExpExec","$match","maybeCallNative","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","getSubstitution","captures","namedCaptures","replacement","tailPos","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","codePointAt","$endsWith","endsWith","endPosition","fromCharCode","$fromCodePoint","fromCodePoint","callSite","$startsWith","$isView","fin","viewS","viewT","arraySpeciesCreate","flatMap","flatten","depthArg","$includes","asap","isError","lower","upper","DEG_PER_RAD","RAD_PER_DEG","degrees","radians","fscale","iaddh","$x0","$x1","$y0","imulh","$u","$v","u0","u1","isubh","signbit","umulh","__defineGetter__","getOwnPropertyDescriptors","getDesc","__lookupGetter__","__lookupSetter__","$values","OBSERVABLE","cleanupSubscription","subscription","subscriptionClosed","closeSubscription","Subscription","subscriber","SubscriptionObserver","unsubscribe","$Observable","Observable","metadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","ordinaryGetMetadata","getMetadata","getOwnMetadataKeys","getOwnMetadata","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","getFlags","RegExpProto","$RegExpStringIterator","matchAll","$pad","WEBKIT_BUG","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","$task","MSIE","boundArgs","BaseBarSeries","progressiveThreshold","roundCap","showBackground","backgroundStyle","borderType","getClipArea","coordSysClipArea","expandWidth","removeRect","removeSector","isZeroOnPolar","isPolar","getBarItemStyle","getLineWidth","rawLayout","BAR_BORDER_WIDTH_QUERY","createLarge","startPoint","baseDimIdx","backgroundModel","backgroundStartPoint","bgEl","LargePath","__startPoint","__baseDimIdx","__largeDataIndices","__barWidth","setLargeBackgroundStyle","setLargeStyle","largePathUpdateDataIndex","largePathFindDataIndex","largePath","barWidthHalf","startValueVal","_eventPos","pointerBaseVal","pointerValueVal","baseLowerBound","baseUpperBound","barBaseVal","barValueVal","createBackgroundShape","isHorizontalOrRadial","createBackgroundEl","_helper","barItemStyle","_createClipPathFromCoordSys","Sausage","_updateDrawMode","coordinateSystemType","_isLargeDraw","_renderLarge","_renderNormal","_clear","_incrementalRenderLarge","isLargeDraw","needsClip","bgEls","oldBgEls","_backgroundEls","elementCreator","bgGroup","_removeBackground","cartesian2d","coordSysBoundingRect","signWidth","signHeight","clipped","rectShape","animateProperty","animateTarget","isRadial","sector","sectorShape","fixedLineWidth","signX","signY","PictorialBarSeries","symbolPosition","symbolMargin","symbolRepeat","symbolRepeatDirection","symbolClip","symbolBoundingData","symbolPatternSize","getSymbolMeta","symbolMeta","prepareBarLength","prepareSymbolSize","boundingLength","pxSign","prepareLineWidth","symbolScale","prepareLayoutInfo","valueLineWidth","repeatCutLength","zeroPx","pxSignIdx","symbolBoundingExtent","convertToCoordOnAxis","coordSysExtent","categoryDim","categorySize","pathForLineWidth","unitLength","pathLen","absBoundingLength","hasEndGap","uLenWithMargin","endFix","repeatSpecified","repeatTimes","toIntTimes","sizeFix","pathPosition","bundlePosition","barRectShape","createPath","createOrUpdateRepeatSymbols","makeTarget","unit","onMouseOver","eachPath","onMouseOut","bundle","__pictorialBundle","__pictorialAnimationIndex","__pictorialRepeatTimes","updateAttr","updateHoverAnimation","createOrUpdateSingleSymbol","mainPath","__pictorialMainPath","createOrUpdateBarRect","barRect","__pictorialBarRect","createOrUpdateClip","__pictorialClipPath","createBar","__pictorialShapeStr","getShapeStr","__pictorialSymbolMeta","updateBar","removeBar","labelRect","pathes","immediateAttrs","animationAttrs","barRectHoverStyle","barPositionOutside","posDesc","times","roundedTimes","LAYOUT_ATTRS","BarView","coordSysRect","pictorialShapeStr","makeStyleMapper","getBorderLineDash","boxplotVisual","boxplotLayout","_whiskerBoxCommon","BoxplotSeries","boxWidth","animationDuration","createNormalBox","constDim","BoxPath","transInit","updateNormalBoxData","normalItemStyleModel","NORMAL_ITEM_STYLE_PATH","EMPHASIS_ITEM_STYLE_PATH","initBaseline","BoxplotView","groupResult","groupSeriesByAxis","groupItem","calculateBase","layoutSingleSeries","boxOffsetList","boxWidthList","axisList","seriesCount","boundList","maxDataCount","boxWidthBound","availableWidth","boxGap","getPoint","axisDimVal","dimIdx","cDimIdx","vDimIdx","addBodyEnd","point1","point2","halfWidth","layEndLine","endCenter","cDim","vDims","median","end1","end2","end4","end5","globalColors","defaulColor","borderColorQuery","candlestickVisual","candlestickLayout","CandlestickSeries","color0","borderColor0","animationUpdate","getShadowDim","brushRect","NormalBoxPath","isNormalBoxClipped","clipArea","setBoxCommon","isSimpleBox","SKIP_PROPS","__simpleBox","elP","LargeBoxPath","__sign","elN","CandlestickView","_incrementalRenderNormal","getSign","openVal","closeVal","closeDim","calculateCandleWidth","normalProgress","candleWidth","subPixelOptimizePoint","openDim","lowestVal","lowestDim","highestVal","highestDim","ocLow","ocHigh","ocLowPoint","ocHighPoint","lowestPoint","highestPoint","pmin","pmax","largeProgress","positiveBorderColorQuery","negativeBorderColorQuery","positiveColorQuery","negativeColorQuery","getColor","getBorderColor","colorP","colorN","borderColorP","borderColorN","seriesItem","createEl","graphicType","getPathData","__customPathData","__customImagePath","__customText","__customGraphicType","updateEl","elOptionStyle","prepareStyleTransition","targetOpacity","styleEmphasis","oldElStyle","makeRenderItem","customSeries","updateCache","currDataIndexInside","currDirty","currItemModel","currLabelNormalModel","LABEL_NORMAL","currLabelEmphasisModel","LABEL_EMPHASIS","currVisualColor","ITEM_STYLE_NORMAL_PATH","applyExtraBefore","applyExtraAfter","ITEM_STYLE_EMPHASIS_PATH","barLayout","currentSeriesIndices","renderItem","prepareResult","prepareCustoms","userAPI","userParams","dataInsideLength","wrapEncodeDef","dataDimIndex","doCreateOrUpdate","simplyRemove","elOptionType","elOptionShape","hasOwnPathData","mergeChildren","newChildren","newLen","$mergeChildren","byName","diffChildrenByName","diffGroupChildren","oldChildren","processAddUpdate","processRemove","GROUP_DIFF_PREFIX","childOption","dummyModel","stylePropName","prepareCartesian2d","prepareGeo","prepareSingleAxis","preparePolar","prepareCalendar","useTransform","setIncrementalAndHoverLayer","elementName","visualSymbol","layoutPoints","effectType","showEffectOn","rippleEffect","EffectSymbol","pointsLayout","_symbolDraw","effectSymbolDraw","_updateGroupTransform","dataColor","funnelLayout","FunnelSeries","_defaultLabelLine","labelLineNormalOpt","labelLine","labelLineEmphasisOpt","minSize","funnelAlign","FunnelPiece","hoverIgnore","normalIgnore","funnelPieceProto","opacityAccessPath","firstCreate","_updateLabel","labelHoverModel","labelLineModel","labelLineHoverModel","FunnelView","funnelPiece","piePiece","getSortedIndices","valueArr","isAscending","isLabelInside","labelLineLen","sizeExtent","getLinePoints","offY","GaugeSeries","parsePosition","formatLabel","PointerPath","GaugeView","colorList","posInfo","_renderMain","axisLineModel","angleRangeSpan","prevEndAngle","axisLineWidth","showAxis","_renderTicks","_renderPointer","_renderTitle","_renderDetail","minVal","maxVal","splitLineModel","subSplitNumber","splitLineLen","tickLen","subStep","splitLineStyle","unitX","unitY","tickLine","valueExtent","angleExtent","pointerModel","titleModel","detailModel","categoryFilter","categoryVisual","edgeVisual","forceLayout","createView","createGraphFromNodeEdge","GraphSeries","getCategoriesData","_categoriesData","links","_updateCategoriesData","edgeGetParent","fakeSeriesModel","emphasisFakeSeriesModel","categoriesModels","_categoriesModels","categoryIdx","categoryModel","edgeLabelModel","emphasisEdgeLabelModel","getEdgeData","getEdgeByIndex","sourceName","targetName","categoriesData","focusNodeAdjacency","circular","rotateLabel","initLayout","repulsion","gravity","friction","edgeLength","layoutAnimation","edgeSymbol","edgeSymbolSize","edgeLabel","roam","getItemOpacity","opacityPath","fadeOutItem","opacityRatio","getGraphicEl","opct","fadeInItem","adjustEdge","FOCUS_ADJACENCY","nodeOpacityPath","lineOpacityPath","symbolDraw","_lineDraw","_firstRender","graphView","groupNewProp","_updateNodeAndLinkScale","_layoutTimeout","_startForceLayoutIteration","warmUp","_layouting","setFixed","setUnfixed","_clearTimer","_dispatchUnfocus","edgeDataIndex","circularRotateLabel","isLeft","_unfocusDelayTimer","getNodeByIndex","adjacentEdge","unfocusNodeAdjacency","stopped","intersectCurveCircle","curvePoints","radiusSquare","v3","nextDiff","tmp0","curveTool","pts2","fromSymbol","toSymbol","__original","originalPoints","graphSeries","categoryNames","categoryNameIdxMap","itemStyleList","_circularLayoutHelper","coordSysType","positions","bbWidth","bbHeight","viewCoordSys","colorQuery","opacityQuery","pp","initialFriction","v12","nLen","ignoreForceLayout","n1","n2","repFact","rep","preservedPoints","forceModel","nodeDataExtent","edgeDataExtent","edgeModel","forceInstance","oldStep","_forceHelper","_simpleLayoutHelper","Heatmap","blurSize","pointSize","maxOpacity","minOpacity","_gradientPixels","colorFunc","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","imageData","getImageData","pixels","pixelLen","diffOpacity","gradientOffset","putImageData","brushCanvas","_brushCanvas","clearRect","gradientPixels","pixelsSingleState","Uint8ClampedArray","getIsInPiecewiseRange","dataSpan","getIsInContinuousRange","isGeoCoordSys","HeatmapLayer","visualMapOfThisSeries","targetSeries","_incrementalDisplayable","_renderOnCartesianAndCalendar","_renderOnGeo","dataToRect","contentShape","inRangeVisuals","outOfRangeVisuals","hmLayer","_hmLayer","lng","lat","getPieceList","EffectPolyline","_lastFrame","_lastFramePercent","effectPolylineProto","_points","accLenArr","_offsets","offsets","normalizeSymbolSize","updateRipplePath","rippleGroup","effectCfg","rippleEffectColor","ripplePath","effectSymbolProto","stopEffectAnimation","startEffectAnimation","effectOffset","rippleScale","updateEffectAnimation","oldEffectCfg","_effectCfg","DIFFICULT_PROPS","onEmphasis","onNormal","LargeLineDraw","lineContain","quadraticContain","LargeLineShape","polyline","segs","findDataIndex","largeLineProto","lineEl","_setCommon","__startIndex","isIncremental","LargeSymbolDraw","LargeSymbolPath","symbolProxy","softClipShape","symbolProxyShape","fillRect","largeSymbolProto","endIndex","extrudeShadow","isLine","straightLineProto","bezierCurveProto","_buildPathLine","_buildPathCurve","_pointAtLine","_pointAtCurve","_tangentAtCurve","dataSample","showSymbol","showAllSymbol","sampling","hoverLayerThreshold","isPointsSame","points1","points2","getSmooth","getStackedOnPoints","turnPointsIntoStep","stepTurnAt","baseIndex","stepPoints","nextPt","stepPt","stepPt2","getVisualGradient","stopLen","minCoord","maxCoord","coordSpan","getIsIgnoreFunc","isAuto","getAxesByScale","canShowAllSymbolForCategory","categoryDataDim","labelMap","availSize","dataLen","createLineClipPath","lineAnimationDiff","_poly","_lineGroup","isCoordSysPolar","prevCoordSys","_coordSys","_polyline","_polygon","isAreaChart","isIgnoreFunc","__temp","clipShapeForSymbol","_clipShapeForSymbol","_newPolygon","_stackedOnPoints","_updateAnimation","_newPolyline","stackedOnSeries","_valueOrigin","stackedOnCurrent","stackedOnNext","__points","updatedDataInfo","diffStatus","idx1","ptIdx","diffData","diffResult","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldDataNewCoordInfo","diffItem","pointAdded","currentPt","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","linesLayout","linesVisual","compatEc2","seriesOpt","coords","fromName","toName","Uint32Arr","Float64Arr","LinesSeries","_processFlatCoordsArray","_flatCoords","flatCoords","_flatCoordsOffset","flatCoordsOffset","_getCoordsFromItemModel","startOffset","coordsOffsetAndLenStorage","coordsStorage","coordsCursor","offsetCursor","trailLength","_updateLineDraw","isSvg","getLayer","_lastZlevel","motionBlur","_showEffect","lastFrameAlpha","_finished","_clearLayer","hasEffect","_hasEffet","_isPolyline","mapSymbolLayout","mapDataStatistic","createDataSelectAction","dataSelectableMixin","MapSeries","needsDrawMap","selectTargetList","toAppendNames","geoSource","seriesNames","otherIndex","originalData","getRegion","showLegendSymbol","dataRangeHoverLink","scaleLimit","onRegionHighDown","toHighOrDown","highDownRecord","HIGH_DOWN_PROP","recordVersion","RECORD_VERSION_PROP","enterRegionHighDown","__mapOriginalZ2","mapModel","_mapDraw","_renderSymbols","originalDataIndex","fullData","mainSeries","fullIndex","mapLocation","dataStatistics","statisticType","mapKey","seriesGroups","hostGeoModel","seriesList","processedMapType","mapSymbolOffsets","subMapSeries","parallelVisual","setEncodeAndDimensions","convertDimNameToNumber","getRawIndicesByActiveState","theActiveState","parallelIndex","inactiveOpacity","activeOpacity","createGridClipShape","rectEl","createLinePoints","addEl","dataGroup","DEFAULT_SMOOTH","updateElCommon","ParallelView","_dataGroup","newDataIndex","oldDataIndex","opacityMap","itemOpacity","normal","pieLayout","PieSeries","_createSelectableList","minAngle","minShowLabelAngle","selectedOffset","hoverOffset","avoidLabelOverlap","percentPrecision","stillShowZeroSum","alignTo","bleedMargin","distanceToLabelLine","animationType","animationTypeUpdate","updateDataSelected","toggleItemSelected","midAngle","PiePiece","piePieceProto","withAnimation","targetLineShape","targetTextStyle","PieView","sectorGroup","_sectorGroup","onSectorClick","_createClipPath","adjustSingleSide","viewLeft","viewTop","farthestX","shiftUp","changeX","isDownList","lastDeltaX","labelAlignTo","deltaY","deltaX","lastY","upList","downList","avoidOverlap","labelLayoutList","leftList","rightList","leftmostX","rightmostX","isPositionCenter","targetTextWidth","isAlignToEdge","realTextWidth","labelDistance","hasLabelRotate","minShowLabelRadian","RADIAN","labelLineLen2","validDataCount","unitRadian","roseType","restAngle","valueSumLargerThanMinAngle","currentAngle","radarLayout","RadarSeries","indicatorAxes","getIndicatorAxes","coordToPoint","radarIndex","updateSymbols","oldPoints","newPoints","symbolGroup","__dimIdx","getInitialPoints","hoverAreaStyleModel","polygonIgnore","hoverPolygonIgnore","itemHoverStyle","polarOptArr","polarNotRadar","polarOpt","polarIndex","axes","isValidPoint","getValueMissingPoint","firstPoint","sankeyLayout","sankeyVisual","SankeySeries","nodeDepth","setNodePosition","localPosition","localX","localY","rawDataOpt","nodeWidth","nodeGap","layoutIterations","nodeAlign","hoverNodeOpacityPath","hoverLineOpacityPath","SankeyShape","cpx2","cpy2","_focusAdjacencyDisabled","sankeyView","curvature","n1Layout","node1Model","dragX1","dragY1","n2Layout","node2Model","dragX2","dragY2","edgeLayout","dragX","dragY","focusNodeAdjHandler","unfocusNodeAdjHandler","focusNodeAdj","outEdges","inEdges","computeNodeValues","layoutSankey","iterations","computeNodeBreadths","computeNodeDepths","computeEdgeDepths","getEdgeValue","nodeRawValue","remainEdges","indegreeArr","zeroIndegrees","nextTargetNode","maxNodeDepth","hostGraph","isItemDepth","edgeIdx","maxDepth","adjustNodeWithNodeAlign","scaleNodeBreadths","isNodeDepth","nextSourceNode","remainNodes","nodeHeight","skNodeHeight","moveSinksRight","kx","nodesByBreadth","prepareNodesByBreadth","initializeNodeDepth","resolveCollisions","relaxRightToLeft","relaxLeftToRight","keyAttr","minKy","ky","nodeDy","edgeDy","nodeDyAttr","weightedTarget","nodeY","weightedSource","mapValueToColor","customColor","_updateSymbolDraw","_getClipShape","sunburstLayout","SunburstPiece","DEFAULT_SECTOR_Z","DEFAULT_TEXT_Z","getNodeColor","getRootId","virtualRoot","isNodeHighlighted","policy","NodeHighlightPolicy","SELF","ANCESTOR","fillDefaultColor","DESCENDANT","SunburstPieceProto","_ecModel","stateStyle","highlightPolicy","onHighlight","onDownplay","getLabelAttr","stateAttr","labelMinAngle","labelPadding","rotateType","completeTreeValue","childValue","thisValue","_treeHelper","_viewRoot","treeOption","resetViewRoot","nodeClick","renderLabelForZeroData","getViewRoot","SunburstView","doRenderNode","oldNode","newRoot","_oldChildren","processNode","newId","oldId","virtualPiece","_onclickEvent","_rootToNode","unhighlight","targetFound","linkTarget","treeRoot","ROOT_TO_NODE_ACTION","handleRootToNode","originViewRoot","HIGHLIGHT_ACTION","handleHighlight","handleUnhighlight","rootDepth","renderRollupNode","rPerLevel","renderNode","rStart","rEnd","siblingAngle","isAsc","themeRiverLayout","themeRiverVisual","ThemeRiverSeries","fixData","rawDataLength","layData","layerNum","largestLayer","keyIndex","getLayerSeries","lenCount","indexArr","timeDim","layerSeries","index1","index2","nestestValue","nearestIdx","pointNum","theValue","htmlName","htmlValue","_layers","keyGetter","oldLayersGroups","points0","layerGroup","newLayersGroups","_layersSeries","baseY0","layerPoints","singleLayer","computeBaseline","baseLine","layerIndex","treeLayout","treeDepth","expandAndCollapse","expandTreeDepth","initialTreeDepth","collapsed","realRoot","edgeShape","edgeForkPosition","getTreeNodeStyle","updateNode","sourceSymbolEl","sourceLayout","sourceOldLayout","rawX","__radialOldRawX","rawY","__radialOldRawY","targetLayout","__radialRawX","__radialRawY","rootLayout","labelRotateRadian","drawEdge","__edge","getEdgeShape","childPoints","childLayout","TreeShape","parentPoint","forkPosition","sourceEdge","radialCoor1","radialCoor2","radialCoor3","radialCoor4","_layoutHelper","childLen","firstChildPos","lastChildPos","forkDim","tmpPoint","_oldTree","_mainGroup","_updateViewCoordSys","_nodeScaleRatio","oldMin","_min","oldMax","_max","_viewCoordSys","_getNodeGlobalScale","eachAfter","eachBefore","commonLayout","coorX","coorY","finalCoor","_traversalHelper","treemapVisual","treemapLayout","containerGroup","makeItemPoints","ARRAY_LENGTH","packEventData","itemNode","selfType","onSelect","normalStyleModel","layoutParam","emptyItemWidth","totalWidth","_prepare","_renderContent","TEXT_PADDING","lastX","availableSize","setDefault","globalColorList","hasColorDefine","modelColor","clipWindow","squareRatio","leafDepth","drillDownIcon","zoomToNodeRatio","upperLabel","gapWidth","borderColorSaturation","visualDimension","visualMin","visualMax","colorMappingBy","visibleMin","childrenVisibleMin","setLayoutInfo","mapIdToIndex","idIndexMap","_idIndexMap","_idIndexMapCount","createStorage","nodeGroup","thisStorage","oldStorage","reRoot","lastsForAnimation","willInvisibleEls","thisNode","processInvisible","prepareText","upperLabelRect","nodeModel","thisLayout","isLeafRoot","iconChar","normalLabelModel","PATH_UPPERLABEL_NORMAL","PATH_LABEL_NOAMAL","PATH_UPPERLABEL_EMPHASIS","PATH_LABEL_EMPHASIS","giveGraphic","storageName","oldRawIndex","lasts","prepareAnimationWhenHasOld","thisInvisible","calculateZ","__tmDepth","__tmStorageName","prepareAnimationWhenNoOld","thisRawIndex","lastCfg","parentOldX","parentOldY","parentOldBg","fadein","isInView","thisWidth","thisHeight","thisViewChildren","upperHeight","isParent","itemStyleNormalModel","itemStyleEmphasisModel","__tmNodeWidth","__tmNodeHeight","isAboveViewRoot","bg","Z_BG","useUpperLabel","visualBorderColor","emphasisBorderColor","getItemStyleNormal","getItemStyleEmphasis","upperLabelWidth","Z_CONTENT","zInLevel","zb","Z_BASE","animationUtil","_containerGroup","_breadcrumb","_state","rootNodeGroup","_giveContainerGroup","renderResult","_doRender","renderFinally","_doAnimation","_resetController","_renderBreadcrumb","dualTravel","oldViewChildren","sameTree","willDeleteEls","els","thisTree","oldTree","delEls","__tmWillDelete","animationWrap","createWrap","targetX","targetY","_onPan","_onZoom","_clearController","rootRect","mouseX","mouseY","findTarget","_zoomToNode","actionTypes","squarify","hideChildren","PATH_BORDER_WIDTH","halfGapWidth","PATH_GAP_WIDTH","upperLabelHeight","getUpperLabelHeight","layoutOffset","layoutOffsetUpper","totalArea","rowFixedLength","best","score","worst","orderBy","overLeafDepth","statistic","filterByThreshold","orderedChildren","deletePoint","areaMax","areaMin","squareArea","idx0WhenH","idx1WhenH","rowOtherLength","rowLen","nodeLayout","wh1","remain","modWH","wh0","estimateRootSize","defaultSize","viewArea","currNodeValue","calculateRootPosition","defaultPosition","targetCenter","prunning","clipRect","viewAbovePath","nodeInViewAbovePath","childClipRect","PATH_UPPER_LABEL_SHOW","PATH_UPPER_LABEL_HEIGHT","retrieveValue","ecWidth","ecHeight","rootSize","viewRootLayout","travelTree","designatedVisual","levelItemStyles","seriesItemStyleModel","viewRootAncestors","thisNodeColor","nodeItemStyleModel","ITEM_STYLE_NORMAL","levelItemStyle","buildVisuals","calculateColor","calculateBorderColor","buildVisualMapping","visualName","getValueVisualDefine","rangeVisual","getRangeVisual","__drColorMappingBy","childVisuals","mappingType","AxisPointerModel","shadowStyle","globalListener","AxisPointerView","getLabelPosition","axisAngle","radiusExtent","PolarAxisPointer","coordValue","getPointDimIndex","XY","WH","singleAxisHelper","SingleAxisPointer","illegalPoint","findPointFromSeries","isIllegalPoint","inputAxesInfo","shouldHide","outputFinder","showValueMap","dataByCoordSys","updaters","showPointer","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","processOnAxis","linkTriggers","tarAxisInfo","tarKey","srcAxisInfo","srcKey","srcValItem","makeMapperParam","updateModelActually","dispatchTooltipActually","dispatchHighDownActually","dontSnap","buildPayloadsBySeries","payloadBatch","snapToValue","seriesNestestValue","modelHelper","coordSysItem","coordSysId","coordSysIndex","coordSysMainType","dataByAxis","valueLabelOpt","outputAxesInfo","valItem","lastHighlights","newHighlights","toHighlight","toDownplay","getAxisLineShape","rExtent","getRadiusIdx","fixAngleOverlap","firstItem","lastItem","elementList","ticksAngles","minorTickAngles","_axisLine","rId","r0Id","_axisTick","tickAngleItem","_minorTick","tickAngles","_axisLabel","commonLabelModel","labelTextAlign","labelTextVerticalAlign","_splitLine","lineColors","lineCount","splitLines","_minorSplitLine","minorSplitLineModel","_splitArea","splitAreas","prevAngle","_axisSplitHelper","axisBuilderAttrs","selfBuilderAttrs","CartesianAxisView","oldAxisGroup","_axisGroup","fromAxisAreaSelect","getCoverInfoList","activeIntervals","_brushController","_onBrush","areaSelectStyle","getAreaSelectStyle","areaWidth","axisLayout","getAxisLayout","builderOpt","_refreshBrushController","extentLen","coverInfoList","intervals","coverInfo","parallelAxisId","layoutAxis","prevRadius","SingleAxisView","getLineDash","parallelAxisModel","setActiveIntervals","setAxisExpand","generateBrushOption","DEFAULT_OUT_OF_BRUSH_COLOR","BrushModel","coordInfoList","inBrush","outOfBrush","setAreas","updateController","_visualEncoding","modelId","isNew","brushComponents","brushComponentSpecifiedBtns","brushOpt","tbs","toolboxFeature","toolboxBrush","brushTypes","removeDuplicate","DEFAULT_TOOLBOX_BTNS","flag","getLineSelectors","inLineRange","layoutRange","MONTH_TEXT","EN","CN","WEEK_TEXT","_tlpoints","_blpoints","_firstDayOfMonth","_firstDayPoints","calendarModel","rangeData","getRangeInfo","_renderDayRect","_renderLines","_renderYearText","_renderMonthText","_renderWeekText","itemRectStyleModel","getCellWidth","sh","getCellHeight","getNextNDay","tl","addPoints","getDateInfo","_getLinePointsOfOneWeek","_drawSplitline","_getEdgesPoints","rs","poyline","tmpD","_formatterLabel","_yearTextPositionControl","aligns","xc","yc","posPoints","yearText","_monthTextPositionControl","vAlign","monthLabel","termPoints","firstDayPoints","monthText","_weekTextPositionControl","cellSize","dayLabel","getFirstDayOfWeek","lweek","fweek","weekText","calculateDataExtent","seriesExtent","fixExtentByAxis","setAxisModel","isRestore","percentWindow","_percentWindow","valueWindow","_valueWindow","useOrigin","setMinMaxSpan","minMaxSpan","_minMaxSpan","_dataZoomModel","percentSpan","valueSpan","sliderMove","_dimName","_axisIndex","getOtherAxisModel","coordSysIndexName","isCartesian","foundOtherAxisModel","otherAxisModel","getMinMaxSpan","calculateDataWindow","restrictSet","fromWindow","toWindow","fromExtent","toExtent","toValue","spans","hasPropModeValue","percentExtent","boundPercent","boundValue","dataWindow","isInWindow","leftOut","rightOut","thisHasValue","thisLeftOut","thisRightOut","zoomLock","makeMover","getPercentDelta","lastRange","percentDelta","DataZoomView","roams","InsideZoomView","allCoordIds","generateCoordId","getRange","roamHandlers","coordId","containsPoint","directionInfo","getDirectionInfo","percentPoint","signal","pixelStart","pixelLength","pixel","pan","scrollMove","oldPoint","newPoint","pointToCoord","SliderZoomModel","dataBackground","fillerColor","handleIcon","handleStyle","labelPrecision","showDetail","showDataShadow","getOtherDim","thisDim","getCursor","HORIZONTAL","LABEL_GAP","SHOW_DATA_SHADOW_SERIES_TYPE","SliderZoomView","_orient","_handleEnds","_size","_handleWidth","_handleHeight","_location","_dataShadowInfo","_buildView","_updateView","_resetLocation","_resetInterval","barGroup","_renderBackground","_renderDataShadow","_positionGroup","coordRect","_findCoordRect","layoutParams","targetAxisModel","otherAxisInverse","_getViewExtent","_onClickPanelClick","_prepareDataShadowInfo","otherDataExtent","otherOffset","lastIsEmpty","otherShadowExtent","thisShadowExtent","areaPoints","thisCoord","stride","otherCoord","thisAxis","displaybles","handles","handleLabels","filler","_onDragMove","_showDataInfo","_onDragEnd","onmouseover","onmouseout","bRect","handleColor","viewExtent","_updateInterval","viewExtend","nonRealtime","handleInterval","handleHeight","_updateDataInfo","barTransform","textPoint","orderedHandleEnds","labelTexts","dataInterval","_formatLabel","valueStr","showOrHide","_dispatchZoomAction","localPoint","dataZoomInfo","theDataZoomId","theCoordId","dataZoomInfos","cleanStore","createController","controllerParams","mergeControllerParams","newRecord","typePriority","oneType","makeAction","targetElParent","_nonShapeGraphicElements","__ecGraphicId","removeEl","existEl","existElParent","getCleanedElOption","isSetLoc","isSet","setKeyInfoToNewElOption","newElOption","existElOption","newElParentOption","parentOption","mergeNewElOptionToExist","existList","newElOptCopy","$action","setLayoutInfoToExist","existItem","setEventData","graphicModel","graphicOption","elements","GraphicModel","_elOptionsToUpdate","flattenedList","_flatten","mappingResult","elOptionsToUpdate","optionList","useElOptionsToUpdate","_elMap","_lastGraphicModel","_updateElements","_relocate","rootGroup","elOptionCleaned","__ecGraphicWidthOption","__ecGraphicHeightOption","elOptions","apiWidth","apiHeight","parentEl","isParentRoot","__ecGraphicWidth","__ecGraphicHeight","bounding","mergeAndNormalizeLayoutParams","ScrollableLegendModel","setScrollDataIndex","scrollDataIndex","pageButtonItemGap","pageButtonGap","pageButtonPosition","pageFormatter","pageIcons","pageIconColor","pageIconInactiveColor","pageIconSize","pageTextStyle","LegendView","ScrollableLegendView","_currentIndex","_controllerGroup","_showController","__rectSize","createPageButton","iconIdx","pageDataIndexName","me","_pageGo","controllerGroup","pageTextStyleModel","processMaxSize","_layoutContentAndController","controllerRect","showController","containerPos","controllerPos","pageInfo","_getPageInfo","_updatePageInfoView","legendId","canJump","pageText","getItemInfo","itemRect","itemInfo","winStart","containerRectSize","targetItemIndex","_findTargetItemIndex","targetItem","itemCount","pCount","pagePrevDataIndex","pageNextDataIndex","targetItemInfo","winStartItemInfo","winEndItemInfo","currItemInfo","targetDataIndex","defaultIndex","legendDataIdx","legendSelectActionHandler","isToggleSelect","isItemSelected","markArea","markLine","markPoint","isInifinity","ifMarkLineHasOnlyDim","fromCoord","toCoord","otherDimIndex","markAreaFilter","markerHelper","getSingleMarkerEndPoint","xPx","yPx","createList","maModel","coordDimsInfos","areaData","optData","markAreaTransform","colorUtil","MarkerView","ltCoord","rbCoord","dimPermutations","markAreaModel","areaGroupMap","polygonGroup","__data","markLineFilter","updateSingleMarkerEndLayout","isFrom","mlModel","fromData","toData","markLineTransform","mlFrom","mlTo","markLineModel","mlData","__from","__to","updateDataVisualAndLayout","lineDrawMap","lineColor","updateMarkerLayout","mpData","mpModel","dataOpt","markPointModel","symbolDrawMap","isFnSymbol","isFnSymbolSize","barPolar","radarModel","_buildAxes","_buildSplitLineAndArea","axisBuilders","indicatorAxis","getColorIndex","areaOrLine","areaOrLineColorList","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","ticksRadius","realSplitNumber","axesTicksPoints","prevPoints","TimelineModel","SliderTimelineModel","checkpointStyle","controlStyle","showPlayBtn","showPrevBtn","showNextBtn","playIcon","stopIcon","nextIcon","prevIcon","makeIcon","timelineModel","objPath","giveSymbol","pointerMoveTo","noAnimation","TimelineView","TimelineAxis","_axis","_currentPointer","_labelGroup","mainGroup","_createGroup","labelGroup","_createAxis","_renderAxisLabel","_position","_doPlayStop","labelPosOpt","labelAlignMap","labelBaselineMap","rotationMap","mainLength","controlModel","showControl","controlSize","controlGap","sizePlusGap","playPosition","prevBtnPosition","nextBtnPosition","controlPosition","labelAlign","labelBaseline","setOrigin","targetGroup","viewBound","getBound","toBound","boundIdx","rotateOriginX","rotateOriginY","mainBound","labelBound","mainPosition","labelsPosition","mainBoundIdx","newGroup","_renderAxisLine","_renderAxisTick","hoverStyleModel","symbolOpt","_changeTimeline","_renderControl","makeBtn","iconPath","willRotate","playState","getPlayState","_handlePlayClick","_renderCurrentPointer","getCurrentIndex","_handlePointerDrag","_handlePointerDragend","nextState","_pointerChangeTimeline","mousePos","_toAxisCoord","_findNearestTick","handleFrame","axisCoord","coordExtent","autoPlay","rewind","playInterval","_names","_initData","setCurrentIndex","isIndexMax","setPlayState","dataArr","idxArr","timelineOpt","compatibleEC2","ec2Types","transferItem","itemStyleEmphasis","labelNormal","excludeLabelAttr","subtext","subtarget","subtextStyle","subtextStyleModel","subText","subTextEl","sublink","groupRect","layoutOption","alignStyle","featureManager","ToolboxModel","featureOpt","featureName","Feature","showTitle","iconStyle","isUserFeatureName","listComponentHelper","toolboxModel","processFeature","featureNames","oldName","featureOpts","featureModel","newTitle","unusable","createIconPaths","setIconStatus","iconName","iconPaths","iconStatus","iconStyleModel","iconStyleEmphasisModel","icons","getIcons","__title","defaultTextPosition","_features","_featureNames","titleText","needPutOnTop","topOffset","Brush","_brushMode","brushLang","isBrushed","availableIcons","groupSeries","seriesGroupByCategoryAxis","otherSeries","assembleSeriesWithCategoryAxis","tables","ITEM_SPLITER","BLOCK_SPLITER","assembleOtherSeries","getContentFromModel","isTSVFormat","parseTSVContents","tsv","tsvLines","itemSplitRegex","parseListContents","hasName","parseContents","blockMetaList","blocks","blockMeta","tryMergeDataOption","dataViewLang","readOnly","optionToContent","contentToOption","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","viewMain","htmlOrDom","buttonContainer","buttonStyle","closeButton","refreshButton","newSeriesOptList","DataZoom","_isZoomActive","retrieveAxisSetting","updateBackBtnStatus","history","updateZoomBtnStatus","zoomActive","dataZoomSelectActive","dataZoomLang","DATA_ZOOM_ID_BASE","nextActive","setBatch","findDataZoom","found","dzModel","addForAxis","dataZoomOpt","axisIndicesName","givenAxisIndices","forEachComponent","axisOpt","$fromToolbox","dataZoomOpts","toolboxOpt","MagicType","magicTypeLang","seriesOptGenreator","isStack","radioTypes","generateNewSeriesTypes","newSeriesOpt","currentType","Restore","restoreLang","SaveAsImage","saveAsImageLang","msSaveOrOpenBlob","bstr","atob","u8arr","blob","Blob","$a","download","bubbles","cancelable","assembleTransition","transitionText","vendors","vendorPrefix","assembleFont","assembleCssText","borderName","makeStyleCoord","zrPainter","zrViewportRoot","domUtil","viewportRootOffset","getViewportRootOffset","TooltipContent","domBelongToZr","_appendToBody","_styleCoord","_container","_show","_hideTimeout","onmouseenter","_enterable","_inContent","eventUtil","onmouseleave","hideLater","_hideDelay","domStyle","styleCoord","pointerEvents","setContent","setEnterable","getOuterSize","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","showContent","alwaysShowContent","displayMode","confine","showDelay","hideDelay","animationEasingUpdate","TooltipRichContent","markerRich","startId","endId","buildTooltipModel","modelCascade","resultModel","refixTooltipPosition","gapH","gapV","confineTooltipPosition","calcTooltipPosition","contentSize","domWidth","domHeight","rectWidth","rectHeight","isCenterAlign","axisPointerViewHelper","proxyRect","_renderMode","_newLine","_tooltipContent","_tooltipModel","_lastDataByCoordSys","_alwaysShowContent","_initGlobalListener","_keepShow","_tryShow","_hide","_lastX","_lastY","_refreshUpdateTimeout","manuallyShowTip","_ticket","_manuallyAxisShowTip","pointInfo","manuallyHideTip","_showAxisTooltip","_showSeriesItemTooltip","_showComponentItemTooltip","_showOrMove","_showTimout","singleDefaultHTML","singleParamsList","singleTooltipModel","itemCoordSys","axisValue","seriesDefaultHTML","valueLabel","axisValueLabel","seriesTooltip","newMarkers","firstLine","positionExpr","_updateContentNotChangedOnAxis","_updatePosition","_showTooltipContent","tooltipTrigger","defaultHtml","asyncTicket","subTooltipModel","cbTicket","viewSize","lastCoordSys","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisItemCoordSys","thisDataByAxis","indexAxis","lastIndices","lastIdxItem","newIdxItem","getColorStopValues","stopValues","DEFAULT_BAR_BOUND","ContinuousModel","hoverLink","hoverLinkDataSize","hoverLinkOnHandle","_resetRange","auto","getSelected","findTargetDataIndices","setStop","oVals","iVals","iIdx","oIdx","iLen","oLen","stopsLen","createPolygon","onDrift","createHandlePoints","textSize","createIndicatorPoints","halfHoverLinkSize","extentMax","HOVER_LINK_OUT","getHalfHoverLinkSize","HOVER_LINK_SIZE","useHoverLinkOnHandle","VisualMapView","ContinuousView","_shapes","_dataInterval","_useHandle","_hoverLinkDataIndices","_hovering","_renderBar","dataRangeText","_renderEndsText","_enableHoverLinkToSeries","_enableHoverLinkFromSeries","endsIndex","_applyTransform","shapes","_createBarGroup","_dragHandle","handleThumbs","handleLabelPoints","_createHandle","_createIndicator","handleThumb","handleLabel","handleLabelPoint","indicatorLabel","indicatorLabelPoint","visualMapId","_clearHoverLinkToSeries","_doHoverLinkToSeries","forSketch","outOfRangeHandleEnds","inRangeHandleEnds","visualInRange","_createBarVisual","visualOutOfRange","barColor","barPoints","_updateHandle","_makeColorGradient","symbolSizes","_createBarPoints","handlesColor","currValue","_showIndicator","cursorValue","rangeSymbol","_hoverLinkFromSeriesMouseOver","_hideIndicator","_clearHoverLinkFromSeries","cursorPos","hoverOnBar","hoverRange","oldBatch","newBatch","resultBatches","_dispatchHighDown","normalizeReverse","PiecewiseModel","minOpen","maxOpen","itemSymbol","_pieceList","_mode","_determineMode","resetMethods","_resetSelected","visualTypesInPieces","getSelectedMapKey","hasSel","getRepresentValue","representValue","pieceInterval","splitStep","pieceListItem","closeList","infinityList","useMinMax","PiecewiseVisualMapView","_onItemClick","_enableHoverLink","indexInModelPieceList","_createItemSymbol","visualState","_getItemAlign","viewData","_getViewData","endsText","viewPieceList","onHoverLink","shapeParam","newKey","makeCategoryLabels","makeRealNumberLabels","makeCategoryTicks","makeCategoryLabelsActually","labelCategoryInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","numericLabelInterval","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","ticksCache","optionTickInterval","tickCategoryInterval","labelsResult","autoInterval","fetchAutoCategoryIntervalCalculationParams","axisRotate","ordinalScale","ordinalExtent","unitSpan","unitW","unitH","maxW","maxH","lastAutoInterval","lastTickCount","axisExtend0","axisExtend1","categoryInterval","onlyTick","tVal","startTick","showAllLabel","includeMinLabel","includeMaxLabel","_rangeInfo","_sw","_sh","_firstDayOfWeek","cellSizeSpecified","_lineWidth","_getRangeInfo","_initRangeOption","whNames","cellNumbers","whGlobal","calendarRect","dayInfo","nthWeek","pointToDate","br","bl","nthX","nthY","_getDateByWeeksAndDay","reversed","allDay","startDateNum","endDateNum","rangeInfo","nthDay","calendarList","calendarSeries","CalendarModel","cellWidth","cellHeight","dayCount","dimAxisMapper","_axes","Cartesian","_dimList","_dataCoordConvert","dimList","axisX","axisY","xScale","yScale","xAxisExtent","yAxisExtent","xExtent","yExtent","containLabel","dataToCoordSize","dataSize","halfSize","_nameCoordMap","_regionsMap","_invertLongitute","containCoord","getRegionByCoord","getGeoCoord","selectableMixin","GeoModel","_optionModelMap","optionModelMap","regionOpt","geoCoordMap","coordFix","coordsOffsetMap","regionRect","fixNanhai","fixTextCoord","fixGeoCoord","fixDiaoyuIsland","mapRecord","specialArea","buildGraphic","svgWidth","svgHeight","originRoot","rootMap","originRootHostKey","getActiveState","_axesLayout","layoutAxisWithoutExpand","layoutLength","axisCount","layoutAxisWithExpand","axisExpandWidth","axisCollapseWidth","winInnerIndices","axisExpandWindow0Pos","ParallelAxis","parallelAxisIndex","_updateAxesFromSeries","_makeLayoutInfo","axisBase","layoutBase","pixelDimIndex","pAxis","pLayout","_layoutAxes","winSize","layoutExtent","axisExpandCount","axisExpandable","positionTable","rotationTable","axisCoordToPoint","dataDimensions","hasActiveSet","pointCoord","triggerArea","useJump","axisExpandCenter","axisExpandRate","axisExpandDebounce","axisExpandSlideTriggerArea","axisExpandTriggerOn","parallelAxisDefault","_initDimensions","parallelAxis","createParallelIfNeeded","mergeAxisOptionFromParallel","hasParallelSeries","axisOption","parallelOption","AngleAxis","dataToAngle","angleToData","PolarAxisModel","polarId","polarAxisDefaultExtendedOption","RadiusAxis","_radiusAxis","_angleAxis","dataToRadius","radiusToData","maxAngle","foundAxisModel","IndicatorAxis","Radar","_indicatorAxes","getIndicatorModels","indicatorModel","indicatorIndex","closestAxis","minRadianDiff","closestAxisIdx","increaseInterval","radarSeries","fixedMin","fixedMax","nicedSplitNumber","radarList","defaultsShow","valueAxisDefault","RadarModel","showName","nameFormatter","indicatorModels","indicatorOpt","iNameTextStyle","indName","Single","SingleAxis","_adjustAxis","_updateAxisTransform","extentSum","singles","generateNodeKey","Edge","_directed","_nodesMap","_edgesMap","graphProto","isDirected","edgesMap","getEdge","breadthFirstTraverse","startNode","__visited","otherNode","inDegree","outDegree","createGraphDataProxyMixin","hostName","createScale","mixinAxisModelCommonMethods","_completeDimensions","_createDimensions","barLayoutPolar","calRadialBar","clampLayout","radiusSpan","angleSpan","maskColor","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","rawOption","mediaDefault","timelineOptions","mediaList","media","singleMedia","preProcess","applyMediaQuery","realMap","aspectratio","applicatable","QUERY_REG","operator","realAttr","real","indicesEquals","indices1","indices2","oldOption","newCptOpt","oldCptOpt","oldOptionBackup","newParsedOption","isRecreate","optionBackup","gradientColor","useUTC","lineType","dotSize","dashSize","PATH_COLOR","CoordSysInfo","fetchers","compatLayoutProperties","LAYOUT_PROPERTIES","isTheme","compatStyle","clipOverflow","clockWise","pointerColor","dataRange","COMPATITABLE_COMPONENTS","compatEC2ItemStyle","itemStyleOpt","POSSIBLE_STYLES","normalItemStyleOpt","emphasisItemStyleOpt","convertNormalEmphasis","optType","useExtend","normalOpt","removeEC3NormalStatus","compatTextStyle","labelOptSingle","compatEC3CommonStyles","processSeries","toArr","toObj","parallelOpt","calendarOpt","radarOpt","geoOpt","regionObj","sampler","samplers","indexSampler","nearest","stackInfoMap","stackInfoList","stackInfo","calculateStack","targetStackInfo","idxInStack","resultVal","resultNaN","byValue","stackedDataRawIndex","stackedOver","_ordinalMeta","rank","scaleHelper","bisect","TimeScale","stepLvl","_stepLvl","ONE_HOUR","approxInterval","scaleLevelsLen","scaleLevels","yearSpan","ONE_SECOND","ONE_MINUTE","ONE_DAY","dataProcessorHandlers","_dataProcessorHandlers","_visualHandlers","_allHandlers","_stageTaskMap","performStageTasks","stageHandlers","needSetDirty","stageHandlerRecord","seriesTaskMap","overallTask","overallNeedDirty","stub","pipelineId","createSeriesStageTask","seriesTaskPlan","seriesTaskReset","seriesTaskCount","useClearVisual","isVisual","isLayout","pipelineMap","_pipelineMap","createOverallStageTask","createStub","stubReset","stubOnDirty","overallProgress","agent","__block","overallTaskReset","upstreamContext","stubProgress","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","__idxInPipeline","detectSeriseType","legacyFunc","ecModelMock","apiMock","mockMethods","taskRecord","pCtx","progressiveEnabled","blockIndex","stageTaskMap","cond","axisCommon","colorAll","doneCallback","elExistsMap","dr","rCenter","unitStartX","unitStartY","unitEndX","unitEndY","keyValues","getConfig","userConfig","ariaModel","getSeriesTypeName","seriesCnt","ariaLabel","maxDataCnt","maxSeriesCnt","displaySeriesCnt","seriesLabels","seriesLabel","seriesTpl","displayCnt","dataLabels","colorAccessPath","colorCallback","borderColorAccessPath","99","97","18","26","31","32","51","59","6","86","114","22","30","element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__","RE_NARGS","34","53","_select_src_option__WEBPACK_IMPORTED_MODULE_0__","5","7","74","119","131","17","speed","afterLeaveCallback","tabEvent","_ariaUtils","_ariaUtils2","focusFirst","dialogNode","lastFocus","trapFocus","removeListeners","setRangeData","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","week1","disabledHours","startHour","startMinute","endHour","endMinute","normalizeDate","ndate","nranges","nrange","Popper","_reference","jquery","isNotDefined","isConfig","DEFAULTS","modifiersIgnored","_getPosition","_setupEventListeners","getOuterSizes","_display","_visibility","getOppositePlacement","getPopperClientRect","popperOffsets","getArrayKeyIndex","keyToFind","getOffsetParent","getScrollParent","isFixed","is_numeric","getOffsetRect","elementRect","rectTop","getOffsetRectRelativeToCustomParent","parentRect","scrollParent","getSupportedPropertyName","toCheck","boundariesElement","preventOverflowOrder","flipBehavior","arrowElement","forceAbsolute","_removeEventListeners","removeOnDestroy","_originalPlacement","_getOffsets","boundaries","_getBoundaries","runModifiers","updateCallback","addClassNames","classNames","addAttributes","contentType","arrowTagName","arrowClassNames","arrowAttributes","isParentFixed","referenceOffsets","popperRect","updateBound","scrollTarget","offsetParentRect","modifiersToRun","isModifierRequired","requesting","requested","applyStyle","prefixedProperty","basePlacement","shiftVariation","shiftOffsets","preventOverflow","keepTogether","flip","flipped","placementOpposite","variation","flipOrder","_flip","arrowStyle","side","altSide","opSide","sideValue","nextSource","keysArray","nextKey","hasModal","hasInitZIndex","getModal","modalDom","doOnModalClick","modalStack","topItem","getTopPopup","topPopup","isVNode","isNonNullObject","isSpecial","stringValue","isReactElement","$$typeof","REACT_ELEMENT_TYPE","sourceIsArray","targetIsArray","canUseSymbol","deepmerge_1","isSlowBuffer","readFloatLE","_isBuffer","canUseDOM","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","_populate","_populated","uas","_iphone","_ipad","_android","_native","_mobile","_win64","_ie","trident","_ie_real_version","_firefox","_opera","_webkit","_chrome","ver","_osx","_windows","_linux","UserAgent_DEPRECATED","ieCompatibilityMode","ie64","opera","webkit","safari","chrome","windows","osx","linux","iphone","mobile","nativeApp","android","ipad","isEventSupported","eventNameSuffix","isSupported","useHasFeature","implementation","hasFeature","normalizeWheel","sX","sY","pX","pY","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","PIXEL_STEP","deltaMode","LINE_HEIGHT","PAGE_HEIGHT","spinX","getEventType","resolvePending","leadingCall","trailingCall","timeoutCallback","requestAnimationFrame$1","lastCallTime","trailingTimeout","toFloat","getBordersSize","getPaddings","positions_1","getSVGContentRect","getBBox","createRectInit","getHTMLElementContentRect","emptyRect","getWindowOf","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","getContentRect","isBrowser","isSVGGraphicsElement","createReadOnlyRect","Constr","DOMRectReadOnly","defineConfigurable","MapShim","getIndex","class_1","__entries__","global$1","REFRESH_DELAY","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","connect_","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","instance_","SVGGraphicsElement","SVGElement","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","tasksByHandle","nextHandle","registerImmediate","runIfPresent","currentlyRunningATask","attachTo","postMessageIsAsynchronous","oldOnMessage","messagePrefix","onGlobalMessage","script","onreadystatechange","Timeout","clearFn","_id","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","commonjsRequire","_toConsumableArray","moment","hookCallback","isObjectEmpty","hasOwnProp","createUTC","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","createInvalid","copyConfig","_isAMomentObject","_tzm","_isUTC","momentProperties","Moment","updateInProgress","updateOffset","isMoment","absFloor","toInt","argumentForCoercion","coercedNumber","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","deprecateSimple","deprecations","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","mom","_calendar","longDateFormat","_longDateFormat","formatUpper","invalidDate","_invalidDate","ordinal","_ordinal","relativeTime","withoutSuffix","isFuture","_relativeTime","pastFuture","addUnitAlias","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","zerosToFill","addFormatToken","padded","formatTokenFunctions","localeData","removeFormattingTokens","makeFormatFunction","formattingTokens","formatMoment","expandFormat","formatFunctions","replaceLongDateFormatTokens","localFormattingTokens","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","unescapeFormat","p4","addParseToken","addWeekParseToken","addTimeToArrayFromToken","daysInYear","isLeapYear","getIsLeapYear","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","modMonth","localeMonths","_months","isFormat","MONTHS_IN_FORMAT","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","monthsShort","localeMonthsParse","_monthsParseExact","dayOfMonth","monthsParse","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsShortRegex","monthsRegex","_monthsStrictRegex","_monthsRegex","defaultMonthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","ms","createUTCDate","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","localeWeekdays","weekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","weekdaysMin","weekdaysShort","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysRegex","weekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysShortRegex","weekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","defaultWeekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","localeMeridiem","isLower","normalizeLocale","chooseLocale","loadLocale","globalLocale","oldLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","baseConfig","abbr","parentLocale","localeFamilies","updateLocale","tmpLocale","listLocales","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","weekYear","weekdayOverflow","GG","createLocal","curWeek","gg","configFromISO","allowTime","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","defaultLocaleWeekdaysShort","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","hm","configFromRFC2822","parsedArray","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","totalParsedInputLength","_meridiem","meridiemFixWrap","meridiemHour","isPM","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","configFromObject","createFromConfig","prepareConfig","preparse","configFromInput","pickBy","moments","isDurationValid","ordering","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","isoWeek","milliseconds","_milliseconds","_days","_bubble","isDuration","absRound","utcOffset","offsetFromString","cloneWithOffset","setTime","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","matchShortOffset","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","matchOffset","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","dur","isAdding","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","keepOffset","inspect","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","mod$1","dividend","divisor","localStartOfDate","MS_PER_400_YEARS","utcStartOfDate","startOfDate","isoWeekday","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_SECOND","unix","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfYear","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","addSubtract$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","clone$1","get$2","makeGetter","substituteTimeAgo","relativeTime$1","posNegDuration","thresholds","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","withSuffix","toISOString$1","abs$1","Y","asSeconds","totalSign","ymSign","daysSign","hmsSign","defaultCalendar","sameDay","nextDay","nextWeek","lastWeek","sameElse","defaultLongDateFormat","LTS","LT","LL","LLL","LLLL","defaultDayOfMonthOrdinalParse","defaultRelativeTime","future","past","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchTimestamp","matchWord","parseTwoDigitYear","getSetYear","defaultLocaleMonths","defaultLocaleWeek","defaultLocaleWeekdays","defaultLocaleWeekdaysMin","kInput","_isPm","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","dayOfMonthOrdinalParse","meridiemParse","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","isoWeekYear","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","firstDayOfYear","langData","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","vueMoment","moment$$1","$moment","addends","addend","subtrahends","_obj","subtrahend","removeSuffix","referenceTime","_referenceTime","tz","_len3","_key3","durationChange","_duration","vueMoment_1","resolveProps","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","stringifyQuery","createRoute","redirectedFrom","stringifyQuery$$1","fullPath","getFullPath","formatMatch","_stringifyQuery","isSameRoute","START","trailingSlashRE","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","guardEvent","metaKey","shiftKey","defaultPrevented","findAnchor","installed","registerInstance","callVal","registerRouteInstance","_routerRoot","_router","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","firstChar","segment","hashIndex","queryIndex","cleanPath","defaultDelimiter","delimiter","PATH_REGEXP","escaped","asterisk","partial","optional","escapeGroup","escapeString","tokensToFunction","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","isarray","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","pathToRegexp","stringToRegexp","tokensToRegExp","endsWithDelimiter","fillParams","routeMsg","regexpCompileCache","pathToRegexp_1","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","compileRouteRegex","redirect","childMatchAs","aliasRoute","normalizeLocation","rawPath","parsedPath","basePath","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","setupScroll","getStateKey","saveScrollPosition","setStateKey","isPop","app","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","positionStore","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","isValidPosition","normalizePosition","normalizeOffset","scrollTo","genKey","Time","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","normalizeBase","baseEl","resolveQueue","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","poll","getLocation","checkFallback","ensureSlash","getHash","replaceHash","getUrl","pushHash","supportsPushState","registerHook","createHref","routerView","$route","_routerViewCache","routerViewDepth","propsToPass","encodeReserveRE","encodeReserveReplacer","commaRE","toTypes","eventTypes","exact","exactActiveClass","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","parse_1","compile_1","tokensToFunction_1","tokensToRegExp_1","History","readyCbs","readyErrorCbs","errorCbs","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","go","fromRoute","getCurrentLocation","HashHistory","setupListeners","supportsScroll","AbstractHistory","VueRouter","apps","setupHashListener","beforeEach","beforeResolve","afterEach","forward","getMatchedComponents","normalizedTo","newStyles","sourceMap","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromObject","assertSize","alloc","encoding","isEncoding","fromArrayLike","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","buf","indexSize","readUInt16BE","valLength","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","leadSurrogate","byteArray","toByteArray","dst","INSPECT_MAX_BYTES","foo","poolSize","_augment","species","allocUnsafeSlow","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","_arr","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","originalModule","webpackPolyfill","__WEBPACK_IMPORTED_MODULE_0_xlsx__","__WEBPACK_IMPORTED_MODULE_0_xlsx___default","workbook","uploadInputId","rABS","xlsxEventBus","XLSX_EVENTS_DATA","handkeFileChange","fileConvertToWorkbook","xlsxArr","sheet_to_json","Sheets","SheetNames","initTable","xlsxArrToTableArr","reader","FileReader","fixdata","renderEvent","readAsBinaryString","readAsArrayBuffer","tableArr","maxLengthIndex","rowItem","tableArrToXlsxArr","handleUploadBtnClick","clearAllData","DEFAULT_OPTION","xlsx","$vm","bindEventBus","xlsxOptions","__WEBPACK_IMPORTED_MODULE_0__vue_xlsx_table_vue___default","__WEBPACK_IMPORTED_MODULE_0__vue_xlsx_table_vue__","placeHoldersCount","b64","placeHolders","Arr","revLookup","tripletToBase64","lookup","encodeChunk","uint8","extraBytes","mediaQuery","alreadyImportedModules","isLE","locals","addStylesToDom","stylesInDom","addStyle","createStyleElement","styleElement","isProduction","isOldIE","styleIndex","singletonCounter","singletonElement","applyToSingletonTag","applyToTag","newObj","styleSheet","replaceText","cssNode","sources","unescape","hasDocument","DEBUG","listToStyles","_isProduction","mayRemove","textStore","cptable","magic","sbcs_cache","dbcs_cache","magic_cache","magic_decode","magic_encode","cpdcache","cpecache","sfcc","cca","has_buf","mdl","mdb","make_EE","EE","ee","sbcs_encode","enc","ofmt","sbcs_decode","dbcs_encode","jj","dbcs_decode","utf8_d","ww","encache","null_enc","cp_decache","decache","last_enc","last_cp","sbcs","dbcs","BM","SetD","isstr","tt","o64","c1","c3","e1","e2","e3","e4","hascp","1","_dereq_","_keyStr","utf8","chr1","chr2","chr3","enc1","enc2","enc3","enc4","CompressedObject","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","getContent","getCompressedContent","STORE","compress","uncompress","compressInputType","uncompressInputType","DEFLATE","crc","getTypeOf","iTop","DataReader","checkIndex","setIndex","byteAt","readInt","readString","readData","lastIndexOfSignature","sig","readDate","dostime","binary","createFolders","compression","string2binary","string2Uint8Array","uint8Array2String","string2Blob","arrayBuffer2Blob","outputType","checkSupport","MAX_VALUE_16BITS","MAX_VALUE_32BITS","findCompression","8","USE_TYPEDARRAY","pako","deflateRaw","inflateRaw","JSZip","support","compressions","ZipEntries","zipEntries","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","NodeBufferReader","Uint8ArrayReader","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","utf8decode","utf8encode","ZipObject","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","prepareFileAttrs","fileAdd","parentFolder","folderAdd","lastSlash","generateCompressedObjectFrom","generateZipParts","compressedObject","dosTime","dosDate","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","extraFields","unicodePathExtraField","unicodeCommentExtraField","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","relativePath","fileClone","folder","newFolder","kids","writer","zipData","localDirLength","centralDirLength","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","zip","finalize","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","StringReader","arraybuffer","uint8array","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","getBlob","sig0","sig1","sig2","sig3","19","20","_utf8len","string2buf","m_pos","str_len","buf_len","utf8border","buf2string","c_len","utf16buf","applyFromCharCode","nextBoundary","stringToArrayLike","arrayLikeToString","canUseApply","resultStr","arrayLikeToArrayLike","arrayTo","loadOptions","ZipEntry","jszipProto","checkSignature","expectedSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraFieldId","extraFieldLength","extraFieldValue","extraDataSize","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","deflate","inflate","constants","25","deflator","Deflate","gzip","zlib_deflate","strings","zstream","windowBits","memLevel","strategy","chunks","strm","avail_out","deflateInit2","deflateSetHeader","next_in","avail_in","Buf8","next_out","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","inflator","Inflate","zlib_inflate","gzheader","inflateInit2","Z_OK","inflateGetHeader","next_out_utf8","utf8str","Z_FINISH","Z_NO_FLUSH","binstring2buf","Z_STREAM_END","arraySet","inflateEnd","ungzip","27","TYPED_OK","fnTyped","src_offs","dest_offs","fnUntyped","setTyped","Buf16","Buf32","28","STR_APPLY_UIA_OK","STR_APPLY_OK","__","29","adler32","adler","s1","s2","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","crcTable","errorCode","zero","flush_pending","pending_buf","pending_out","total_out","flush_block_only","trees","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","w_size","MIN_LOOKAHEAD","_win","wmask","w_mask","strend","MAX_MATCH","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","MIN_MATCH","ins_h","hash_shift","hash_mask","deflate_stored","max_block_size","pending_buf_size","BS_NEED_MORE","max_start","BS_FINISH_STARTED","BS_FINISH_DONE","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","BS_BLOCK_DONE","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","lm_init","configuration_table","max_lazy","good_length","nice_length","max_chain","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","HEAP_SIZE","dyn_dtree","D_CODES","bl_tree","BL_CODES","l_desc","d_desc","bl_desc","bl_count","MAX_BITS","heap","L_CODES","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","deflateResetKeep","data_type","INIT_STATE","BUSY_STATE","_tr_init","deflateReset","MAX_MEM_LEVEL","deflateInit","MAX_WBITS","DEF_MEM_LEVEL","old_flush","beg","FINISH_STATE","hcrc","EXTRA_STATE","OS_CODE","level_flags","PRESET_DICT","NAME_STATE","COMMENT_STATE","HCRC_STATE","bstate","_tr_align","_tr_stored_block","LITERALS","Config","deflateInfo","33","GZheader","xflags","extra_len","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","35","ZSWAP32","InflateState","havedict","wbits","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","was","inflateResetKeep","HEAD","ENOUGH_LENS","ENOUGH_DISTS","inflateReset","inflateReset2","inflateInit","DEF_WBITS","fixedtables","virgin","lenfix","distfix","inflate_table","LENS","DISTS","updatewindow","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","TYPEDO","inf_leave","FLAGS","BAD","DICTID","OS","EXLEN","EXTRA","COMMENT","HCRC","DICT","CHECK","STORED","LEN_","TABLE","COPY_","COPY","LENLENS","CODES","CODELENS","LEN","inflate_fast","LIT","LENEXT","DIST","DISTEXT","DONE","MEM","Z_MEM_ERROR","SYNC","inflateInfo","36","lbase","lext","dbase","dext","lens_index","codes","table_index","incr","used","huff","base_index","MAXBITS","offs","extra_index","d_code","_dist_code","put_short","send_bits","Buf_size","send_code","bi_reverse","bi_flush","gen_bitlen","xbits","dyn_tree","max_code","stree","stat_desc","static_tree","has_stree","extra_bits","extra_base","max_length","gen_codes","next_code","tr_static_init","LENGTH_CODES","base_length","extra_lbits","_length_code","base_dist","extra_dbits","static_ltree","static_dtree","static_l_desc","StaticTreeDesc","static_d_desc","static_bl_desc","extra_blbits","MAX_BL_BITS","init_block","END_BLOCK","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lc","lx","build_tree","elems","scan_tree","curlen","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","build_bl_tree","max_blindex","bl_order","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","TreeDesc","stored_len","STORED_BLOCK","STATIC_TREES","opt_lenb","static_lenb","DYN_TREES","ZStream","XLSX","reset_cp","set_cp","char_codes","new_raw_buf","s2a","isval","evert","evert_num","datenum","date1904","epoch","numdate","SSF","parse_date_code","setUTCDate","setUTCMonth","setUTCHours","setUTCSeconds","parse_isodur","sec","mt","good_pd","cc2str","str2cc","dup","getdatastr","debom","getdatabin","getdata","safegetzipfile","getzipfile","getzipdata","getzipstr","resolve_path","parsexmltag","skip_root","eq","attregexg","cc","strip_ns","nsregex2","escapexml","decregex","rencoding","charegex","escapexmltag","escapehtml","htmlcharegex","parsexmlbool","parseVector","vtregex","vtvregex","vtmregex","utf8read","writetag","wtregex","wxt_helper","writextag","write_w3cdtf","write_vt","read_double_le","write_double_le","bs","av","ReadShift","oI","oR","vv","oo","__readUInt16LE","__utf8","__utf16le","current_codepage","__lpstr","__lpwstr","__readUInt32LE","__lpp4","__8lpp4","__readUInt8","_getchar","__readInt16LE","__readInt32LE","__double","__hexlify","WriteShift","__writeUInt16LE","__writeUInt32LE","__writeInt32LE","CheckField","hexstr","fld","prep_blob","read_shift","chk","write_shift","parsenoop","new_buf","sz","recordhopper","tmpbyte","cntbyte","RT","tgt","XLSBRecordEnum","buf_array","bufs","newblk","curbuf","endbuf","__toBuffer","_bufs","write_record","ba","evert_RE","is_buf","shift_cell_xls","cRel","rRel","biff","shift_range_xls","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_row","encode_col","decode_row","rowstr","unfix_row","cstr","decode_col","colstr","unfix_col","split_cell","decode_cell","splt","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","ifmt","format_cell","dateNF","sheet_to_workbook","sheet","sheets","aoa_to_sheet","DENSE","dense","cellStubs","_table","cellDates","cell_ref","parse_StrRun","ich","ifnt","parse_RichStr","parse_XLWideString","rgsStrRun","dwSizeStrRun","write_RichStr","_null","write_XLWideString","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLNullableWideString","cchCharacters","write_XLNullableWideString","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_Xnum","write_Xnum","parse_BrtColor","fValidRGB","xColorType","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_ct","workbooks","dialogs","macros","rels","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","ctext","tagregex","nsregex","Extension","ContentType","ct2type","PartName","XMLNS","CT","calcchain","sst","write_ct","CTYPE_DEFAULTS","CT_LIST","bookType","f3","type2ct","get_rels_path","parse_rels","currentFilePath","Type","Id","TargetMode","canonictarget","write_rels","XML_HEADER","RELS_ROOT","rid","add_rels","relobj","RELS","HLINK","parse_manifest","Rn","FEtag","xlml_normalize","xlmlregex","CT_ODS","WTF","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","parse_core_props","CORE_PROPS","CORE_PROPS_REGEX","cp_doit","write_core_props","_opts","CORE_PROPS_XML_ROOT","Props","CreatedDate","ModifiedDate","parse_ext_props","EXT_PROPS","matchtag","HeadingPairs","TitlesOfParts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","write_ext_props","Application","parse_cust_props","custregex","toks","unescapexml","write_cust_props","CUST_PROPS_XML_ROOT","pid","xlml_set_prop","evert_XLMLDPM","xlml_write_docprops","XLMLDocPropsMap","XLMLNS","xlml_write_custprops","Custprops","BLACKLIST","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","parse_TypedPropertyValue","VT_USTR","VT_I4","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","chr0","parse_BLOB","parse_ClipboardData","Size","VT_VARIANT","VT_CUSTOM","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","piddsi","VT_I2","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","CFB","consts","HEADER_CLSID","PSet0","FMTID","PSet1","parsenoop2","parslurp","parseuint16","parseuint16a","parse_Bes","parse_ShortXLUnicodeString","cch","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","cRun","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","parse_LongRGBA","parse_LongRGB","parse_XLSCell","ixfe","parse_frtHeader","parse_OptXLUnicodeString","parse_XTI","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","parse_RefU","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtArray","fts","ft","FtTab","parse_BOF","BIFFVer","dt","parse_InterfaceHdr","parse_WriteAccess","UserName","parse_BoundSheet8","hs","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","miyRw","hpt","parse_ForceFullCalculation","parse_RecalcId","parse_DefaultRowHeight","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","parse_Font","parse_LabelSst","isst","parse_Label","parse_Format","parse_Dimensions","parse_RK","rw","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","XLSFillPattern","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","parse_Guts","parse_BoolErr","parse_Number","xnum","parse_SupBook","virtPath","ctab","rgst","sbcch","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_NameCmt","cchName","cchComment","parse_ShrFmla","cUse","parse_SharedParsedFormula","parse_Array","parse_Ref","parse_ArrayParsedFormula","parse_MTRSettings","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","parse_Obj","cmo","parse_TxO","lastobj","parse_ControlInfo","cchText","parse_FontIndex","hdr","parse_Country","CountryEnum","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_ColInfo","colFirst","colLast","coldx","parse_Setup","parse_ShtProps","parse_BIFF2STR","parse_BIFF2NUM","parse_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","parse_si","cellHTML","sirregex","sirphregex","sitregex","parse_rs","parse_sst_xml","sstr0","sstr1","sstr2","uniqueCount","write_sst_xml","bookSST","sitag","straywsregex","parse_BrtBeginSst","parse_sst_bin","pass","R_n","write_BrtBeginSst","write_sst_bin","write_BrtSSTItem","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","parse_DataSpaceMapEntry","comps","rc","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","blksz","cmode","parse_EncryptionHeader","AlgID","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","vers","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordByte","Intermediate1","Intermediate2","Intermediate3","PasswordDecoded","parse_XORObfuscation","verificationBytes","verifier","insitu_decrypt","crypto_MakeXorDecryptor","parse_FilePassHeader","Info","Data","parse_FilePass","hex2RGB","rgb2Hex","rgb","rgb2HSL","H6","L2","hsl2RGB","X","h6","rgb_tint","tint","width2px","MDW","px2char","char2width","cycle_width","collw","find_mdw_colw","_MDW","MIN_MDW","MAX_MDW","process_col","coll","wpx","wch","customWidth","px2pt","PPI","pt2px","parse_borders","Borders","diagonalUp","diagonalDown","parse_fills","Fills","indexed","fgColor","parse_fonts","Fonts","bold","italic","strike","outline","vertAlign","family","scheme","codepage","CS2CP","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","numFmtId","write_numFmts","NF","parse_cellXfs","CellXf","xf","fillId","alignment","wrapText","write_cellXfs","cellXfs","write_sty_xml","wb","STYLES_XML_ROOT","parse_BrtFmt","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sup","parse_BrtXF","ixfeParent","parse_sty_bin","write_sty_bin","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","parse_themeElements","clrsregex","fntsregex","fmtsregex","parse_theme_xml","write_theme","themeltregex","Themes","themeXLSX","parse_Theme","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","parse_drawing","write_comments_vml","csize","mv","joinstyle","gradientshapeok","coordsize","_shapeid","fillcolor","strokecolor","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","thisCell","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","write_comments_xml","CMNT_XML_ROOT","iauthor","parse_BrtBeginComment","rfx","parse_UncheckedRfX","write_BrtBeginComment","write_UncheckedRfX","parse_comments_bin","write_comments_bin","parse_ds_bin","parse_ds_xml","parse_ms_bin","parse_ms_xml","shift_formula_str","crefregex","$2","$3","$4","$5","shift_formula_xlsx","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","BErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_Formula","parse_FormulaValue","cbf","parse_XLSCellParsedFormula","formula","parse_RgbExtra","rgcb","parse_Rgce","ptgs","PtgTypes","Ptg18","Ptg19","stringify_array","stringify_formula","supbooks","nameidx","sname","last_sp","sp","ff","fflen","PtgBinOp","argc","lbl","XLSXFutureFunctions","bookidx","externbook","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","parse_XLSBParsedFormula","ods_to_csf_formula","$$","csf_to_ods_formula","ods_to_csf_range_3D","get_sst_id","col_obj_w","default_margins","margins","get_cell_style","revssf","fontId","borderId","xfId","applyNumberFormat","safe_format","fmtid","fillid","cellNF","cellText","_general_int","_ssfopts","_general_num","_general","raw_rgb","parse_ws_xml_dim","parse_ws_xml","refguess","data1","data2","mtch","sheetdataregex","ridx","dimregex","colregex","parse_ws_xml_cols","parse_ws_xml_data","afilter","afregex","parse_ws_xml_autofilter","mergecells","mergecregex","hlink","hlinkregex","parse_ws_xml_hlinks","marginregex","parse_ws_xml_margins","tmpref","write_ws_xml_merges","write_ws_xml_protection","deffalse","deftrue","Rel","rng","addr","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","write_ws_xml_sheetviews","workbookViewId","write_ws_xml_cell","oldt","oldv","Strings","write_ws_xml_data","rr","hpx","ht","customHeight","write_ws_xml","WS_XML_ROOT","sidx","rdata","sheetFormat","defaultRowHeight","baseColWidth","relc","DRAW","VML","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","write_row_header","parse_BrtWsProp","parse_XLSBCodeName","write_BrtWsProp","write_XLSBCodeName","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","write_BrtCellBool","parse_BrtCellError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","cellFormula","parse_XLSBCellParsedFormula","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","write_BrtBeginMergeCells","parse_BrtHLink","relId","write_BrtHLink","write_RelID","locidx","parse_BrtArrFmla","fAlwaysCalc","parse_XLSBArrayParsedFormula","parse_BrtShrFmla","parse_XLSBSharedParsedFormula","write_BrtColInfo","parse_BrtMargins","write_BrtMargins","write_BrtBeginWsView","write_BrtSheetProtection","parse_ws_bin","sstr","ai","af","array_formulae","shared_formulae","Names","colinfo","rowinfo","aii","is_date","sheetStubs","write_ws_bin_cell","olddate","write_CELLTABLE","write_MERGECELLS","write_BrtMergeCell","write_COLINFOS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_SHEETPROTECT","write_ws_bin","write_BrtWsDim","parse_numCache","parse_chart","csheet","nc","parse_cs_xml","parse_cs_bin","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","WBPropsDef","CalcPr","CalcPrDef","WBView","WBViewDef","SheetDef","check_wb_names","N","badchars","check_wb","parse_wb_xml","AppVersion","dname","dnstart","wbnsregex","Hidden","Comment","localSheetId","Sheet","Ref","safe1904","Workbook","write_wb_xml","WB_XML_ROOT","write_names","codeName","sht","sheetId","parse_BrtBundleSh","iTabID","strRelID","parse_RelID","write_BrtBundleSh","parse_BrtWbProp","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","parse_XLNameWideString","parse_XLSBNameParsedFormula","Ptg","parse_wb_bin","write_BUNDLESHS","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_sty_xml","parse_theme","parse_sst","parse_cc","write_wb","write_ws","write_sty","write_sst","write_cmnt","xlml_parsexmltag","words","attregexg2","attregex2","xlml_parsexmltagobj","xlml_format","fmt","XLMLFormatMap","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","XLMLPatternTypeMap","ID","parse_xlml_data","csty","sid","StyleID","Parent","xlml_fixstr","RBErr","Formula","fstr","rc_to_a1","ArrayRange","xlml_clean_comment","parse_xlml_xml","make_ssf","HTML_","to_workbook","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","rowobj","wsprops","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","Index","AutoFitHeight","Height","Format","ssfidx","Width","DEF_MDW","_col","Span","_NamedRange","_DefinedName","RefersTo","Author","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","get_table","parse_xlml","fix_read_opts","Base64","_chr","write_props_xlml","write_wb_xlml","write_sty_xlml","write_ws_xlml_wsopts","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","xlml_unfixstr","write_ws_xlml_cell","a1_to_rc","marr","mi","__v","__i","write_ws_xlml_row","write_ws_xlml_table","write_ws_xlml","write_xlml","parse_compobj","UserType","Reserved1","slurp","XLSRecordEnum","bconcat","ll","safe_format_xf","make_cell","parse_workbook","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","cell_valid","XFs","palette","get_rgb","icv","XLSIcv","process_cell_style","xfd","addcell","file_depth","afi","snames","rrtabid","lastuser","winlocked","wtf","XTI","last_lbl","last_Rn","BIFF2Fmt","FilterDatabases","RecordType","Date1904","WriteProtect","RefreshAll","CalcCount","CalcDelta","CalcIter","CalcMode","CalcPrecision","CalcSaveRecalc","CalcRefMode","FullCalc","fakebs8","_fr","_fc","_fe","_arraystart","_ixfe","TxO","noteobj","sheetnamesraw","Encryption","Metadata","Country","parse_props","cfb","DSI","DocSummary","DocSummaryPIDDSI","SI","Summary","SummaryPIDSI","parse_xlscfb","CompObj","FullPaths","WorkbookP","WK_","bookFiles","write_biff_rec","write_BOF","write_BIFF2Cell","write_BIFF2INT","write_BIFF2NUMBER","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff_cell","write_biff_ws","write_biff_buf","parse_dom_table","midx","_C","RS","CS","elts","elt","table_to_book","write_obj_str","from_sheet","parse_ods","ods","parse_content_xml","write_ods","write_content_xml","jszip","fix_opts_func","get_sheet_type","WS","DS","MS","safe_parse_wbrels","wbrels","safe_parse_sheet","relsPath","stype","dfile","drelsp","chartp","crelsp","parse_zip","binname","nodirs","xlsb","propdata","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","bookVBA","vbaraw","bin","parse_xlsxcfb","dsm","seds","write_zip","load_table","vbafmt","fix_write_opts","CUST_PROPS","WB","wsrels","CMNT","rId1","SST","THEME","STY","VBA","firstbyte","read_cfb","read_zip","read_utf16","PRN","readSync","_fs","readFileSync","SYLK","DIF","DBF","write_zip_type","oopts","writeFileSync","write_bstr_type","write_string_type","write_binary_type","writeSync","write_slk_str","write_htm_str","write_txt_str","write_csv_str","write_dif_str","write_prn_str","resolve_book_type","writeFileAsync","_cb","writeFile","isempty","defval","outi","CC","__rowNum__","blankrows","make_csv_row","FS","txt","qreg","sheet_to_csv","endregex","strip","sheet_to_txt","sheet_to_formulae","cmds","current_cptable","_strrev","pad0","pad_","rpad_","pad0r1","pad0r2","pad0r","p2_32","isgeneral","fixopts","opts_fmt","init_table","frac","mixed","sgn","P_2","P_1","Q_2","Q_1","general_fmt_int","general_fmt","general_fmt_num","fix_hijri","b2","dout","write_date","ss0","outl","commaify","split_fmt","in_str","fmt_is_date","abstime","eval_fmt","flen","lst","hr","ssm","bt","nstr","myv","ostr","write_num","decpt","lasti","retval","chkcond","thresh","choose_fmt","cfregex","cfregex2","sfmt","table_fmt","gfn2","gfn5","toExponential","gfn3","gnr1","gfn4","gnr4","gnr5","gnr6","gnr2","write_num_pct","pct1","write_num_cm","write_num_exp","fakee","write_num_f1","aval","den","myn","myd","write_num_f2","hashq","rnd","carry","flr","write_num_flt","closeparen","ffmt","ri","frac1","dec1","phone","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","_split","_eval","tbl","mver","ssz","nmfs","ndfs","dir_start","minifat_start","difat_start","fat_addrs","check_get_mver","check_shifts","nds","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPathDir","read_directory","build_full_paths","root_name","make_find_path","HEADER_SIGNATURE","nsectors","FI","FPD","FP","pl","dad","UCFullPaths","UCPaths","UCPath","get_sector_list","chkd","buf_chain","modulus","ctime","mtime","minifat_store","namelen","clsid","read_date","MSSZ","MAXREGSECT","DIFSECT","FATSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","good_pd_date","encodings","encregex","coderegex","entrepl","entregex","orig","utf8readb","corpus","utf8readc","mtcache","vt_cache","___toBuffer","___utf16le","___hexlify","___lpstr","___lpwstr","___lpp4","___8lpp4","___double","OFFCRYPTO","_crypto","crypto","rc4","md5","createHash","digest","VT_VECTOR","SpecialProperties","xlsm","xltx","CTYPE_XML_ROOT","xsd","xsi","SHEET","dc","dcterms","dcmitype","EXT_PROPS_XML_ROOT","vt","Title","Subject","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","ContentStatus","Identifier","Language","parse_URLMoniker","parse_FileMoniker","ansiLength","ansiPath","cbUnicodePathBytes","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","targetFrameName","moniker","oleMoniker","parse_HideObjEnum","parse_CompressPictures","parse_BIFF2Format","parse_XLHeaderFooter","parse_HLink","parse_HLinkTooltip","wzTooltip","parse_Style","parse_StyleExt","parse_Window2","parse_Backup","parse_Blank","parse_BottomMargin","parse_BuiltInFnGroupCount","parse_CalcCount","parse_CalcDelta","parse_CalcIter","parse_CalcMode","parse_CalcPrecision","parse_CalcRefMode","parse_CalcSaveRecalc","parse_CodePage","parse_Compat12","parse_Date1904","parse_DefColWidth","parse_DSF","parse_EntExU2","parse_EOF","parse_Excel9File","parse_FeatHdr","parse_FontX","parse_Footer","parse_GridSet","parse_HCenter","parse_Header","parse_HideObj","parse_InterfaceEnd","parse_LeftMargin","parse_Mms","parse_ObjProtect","parse_Password","parse_PrintGrid","parse_PrintRowCol","parse_PrintSize","parse_Prot4Rev","parse_Prot4RevPass","parse_Protect","parse_RefreshAll","parse_RightMargin","parse_RRTabId","parse_ScenarioProtect","parse_Scl","parse_String","parse_SxBool","parse_TopMargin","parse_UsesELFs","parse_VCenter","parse_WinProtect","parse_WriteProtect","parse_VerticalPageBreaks","parse_HorizontalPageBreaks","parse_Selection","parse_Continue","parse_Pane","parse_Pls","parse_DCon","parse_DConRef","parse_DConName","parse_XCT","parse_CRN","parse_FileSharing","parse_Uncalced","parse_Template","parse_Intl","parse_WsBool","parse_Sort","parse_Sync","parse_LPr","parse_DxGCol","parse_FnGroupName","parse_FilterMode","parse_AutoFilterInfo","parse_AutoFilter","parse_ScenMan","parse_SCENARIO","parse_SxView","parse_Sxvd","parse_SXVI","parse_SxIvd","parse_SXLI","parse_SXPI","parse_DocRoute","parse_RecipName","parse_SXDI","parse_SXDB","parse_SXFDB","parse_SXDBB","parse_SXNum","parse_SxErr","parse_SXInt","parse_SXString","parse_SXDtr","parse_SxNil","parse_SXTbl","parse_SXTBRGIITM","parse_SxTbpg","parse_ObProj","parse_SXStreamID","parse_DBCell","parse_SXRng","parse_SxIsxoper","parse_BookBool","parse_DbOrParamQry","parse_OleObjectSize","parse_SXVS","parse_BkHim","parse_MsoDrawingGroup","parse_MsoDrawing","parse_MsoDrawingSelection","parse_PhoneticInfo","parse_SxRule","parse_SXEx","parse_SxFilt","parse_SxDXF","parse_SxItm","parse_SxName","parse_SxSelect","parse_SXPair","parse_SxFmla","parse_SxFormat","parse_SXVDEx","parse_SXFormula","parse_SXDBEx","parse_RRDInsDel","parse_RRDHead","parse_RRDChgCell","parse_RRDRenSheet","parse_RRSort","parse_RRDMove","parse_RRFormat","parse_RRAutoFmt","parse_RRInsertSh","parse_RRDMoveBegin","parse_RRDMoveEnd","parse_RRDInsDelBegin","parse_RRDInsDelEnd","parse_RRDConflict","parse_RRDDefName","parse_RRDRstEtxp","parse_LRng","parse_CUsr","parse_CbUsr","parse_UsrInfo","parse_UsrExcl","parse_FileLock","parse_RRDInfo","parse_BCUsrs","parse_UsrChk","parse_UserBView","parse_UserSViewBegin","parse_UserSViewEnd","parse_RRDUserView","parse_Qsi","parse_CondFmt","parse_CF","parse_DVal","parse_DConBin","parse_Lel","parse_XLSCodeName","parse_SXFDBType","parse_ObNoMacros","parse_Dv","parse_Index","parse_Table","parse_BigName","parse_ContinueBigName","parse_WebPub","parse_QsiSXTag","parse_DBQueryExt","parse_ExtString","parse_TxtQry","parse_Qsir","parse_Qsif","parse_RRDTQSIF","parse_OleDbConn","parse_WOpt","parse_SXViewEx","parse_SXTH","parse_SXPIEx","parse_SXVDTEx","parse_SXViewEx9","parse_ContinueFrt","parse_RealTimeData","parse_ChartFrtInfo","parse_FrtWrapper","parse_StartBlock","parse_EndBlock","parse_StartObject","parse_EndObject","parse_CatLab","parse_YMult","parse_SXViewLink","parse_PivotChartBits","parse_FrtFontList","parse_SheetExt","parse_BookExt","parse_SXAddl","parse_CrErr","parse_HFPicture","parse_Feat","parse_DataLabExt","parse_DataLabExtContents","parse_CellWatch","parse_FeatHdr11","parse_Feature11","parse_DropDownObjIds","parse_ContinueFrt11","parse_DConn","parse_List12","parse_Feature12","parse_CondFmt12","parse_CF12","parse_CFEx","parse_AutoFilter12","parse_ContinueFrt12","parse_MDTInfo","parse_MDXStr","parse_MDXTuple","parse_MDXSet","parse_MDXProp","parse_MDXKPI","parse_MDB","parse_PLV","parse_DXF","parse_TableStyles","parse_TableStyle","parse_TableStyleElement","parse_NamePublish","parse_SortData","parse_GUIDTypeLib","parse_FnGrp12","parse_NameFnGrp12","parse_HeaderFooter","parse_CrtLayout12","parse_CrtMlFrt","parse_CrtMlFrtContinue","parse_ShapePropsStream","parse_TextPropsStream","parse_RichTextStream","parse_CrtLayout12A","parse_Units","parse_Chart","parse_Series","parse_DataFormat","parse_LineFormat","parse_MarkerFormat","parse_AreaFormat","parse_PieFormat","parse_AttachedLabel","parse_SeriesText","parse_ChartFormat","parse_Legend","parse_SeriesList","parse_Bar","parse_Line","parse_Pie","parse_Area","parse_Scatter","parse_CrtLine","parse_Axis","parse_Tick","parse_ValueRange","parse_CatSerRange","parse_AxisLine","parse_CrtLink","parse_DefaultText","parse_Text","parse_ObjectLink","parse_Frame","parse_Begin","parse_End","parse_PlotArea","parse_Chart3d","parse_PicF","parse_DropBar","parse_Radar","parse_Surf","parse_RadarArea","parse_AxisParent","parse_LegendException","parse_SerToCrt","parse_AxesUsed","parse_SBaseRef","parse_SerParent","parse_SerAuxTrend","parse_IFmtRecord","parse_Pos","parse_AlRuns","parse_BRAI","parse_SerAuxErrBar","parse_SerFmt","parse_Chart3DBarShape","parse_Fbi","parse_BopPop","parse_AxcExt","parse_Dat","parse_PlotGrowth","parse_SIIndex","parse_GelFrame","parse_BopPopCustom","parse_Fbi2","dbf_to_aoa","vfp","nrow","fpos","rlen","current_cp","dbf_codepage_map","hend","dbf_to_sheet","dbf_to_workbook","to_sheet","sylk_to_aoa","sylk_to_aoa_str","rj","next_cell_format","cw","Mval","sylk_to_sheet","aoa","sylk_to_workbook","write_ws_cell_sylk","write_ws_cols_sylk","rec","write_ws_rows_sylk","sheet_to_sylk","preamble","dif_to_aoa","dif_to_aoa_str","dif_to_sheet","dif_to_workbook","push_field","topic","push_value","set_text_arr","prn_to_aoa_str","dsv_to_sheet_str","sepcc","instr","prn_to_sheet_str","prn_to_sheet","prn_to_workbook","sheet_to_prn","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","WK3Enum","qpro","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","parse_r","terms","tregex","rpr","rpregex","parse_rpr","nlregex","rregex","rend","intro","outro","uval","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","XorArrayIndex","XorArray","Value","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","IMG","parse_BrtCommentAuthor","parse_BrtCommentText","rcfunc","rcbase","rcregex","parse_PtgConcat","parse_PtgAdd","parse_PtgDiv","parse_PtgEq","parse_PtgGe","parse_PtgGt","parse_PtgIsect","parse_PtgLe","parse_PtgLt","parse_PtgMissArg","parse_PtgMul","parse_PtgNe","parse_PtgParen","parse_PtgPercent","parse_PtgPower","parse_PtgRange","parse_PtgSub","parse_PtgUminus","parse_PtgUnion","parse_PtgUplus","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","PtgDupes","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","guess","ftag","cells","cref","tagr","tagc","do_format","rowrite","marrlen","xlen","si","_tag","parse_BrtWsDim","parse_BrtMergeCell","html_to_sheet","html_to_book","make_html_row","sheet_to_html","_row","parse_text_p","number_formats","sheetag","rowtag","NFtag","ctag","textp","textpidx","number_format_map","mrange","mR","mC","creatoridx","rept","isstub","null_cell_xml","_Fref","write_automatic_styles_ods","fods","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_row_object_array","Readable","write_csv_stream","_read","write_html_stream","to_html","to_csv","readFile","__webpack_amd_options__","makeEventPacket","eveType","stopEvent","EmptyProxy","isHover","SILENT","isOutsideBoundary","handlerInstance","Draggable","GestureMgr","handlerNames","painterRoot","_hovered","_lastTouchMoment","_gestureMgr","setHandlerProxy","isOutside","lastHovered","lastHoveredTarget","hovered","hoveredTarget","setCursor","dispatchToElement","mouseout","eventControl","zrEventControl","zrIsToLocalDOM","eventArgs","eventPacket","eachOtherLayer","layer","hoverCheckResult","processGesture","gestureMgr","gestureInfo","recognize","_downEl","_downPoint","_upEl","returnFalse","createDom","newDom","newDomStyle","Layer","domBack","ctxBack","clearColor","__used","__drawIndex","__endIndex","getElementCount","initContext","createBackBuffer","clearAll","haveMotionBLur","clearColorGradientOrPattern","__canvasGradient","parseInt10","isLayerValid","__builtin__","isDisplayableCulled","isClipPathChanged","prevClipPaths","doClip","createRoot","domRoot","singleCanvas","_singleCanvas","rootStyle","zlevelList","_zlevelList","layers","_layerConfig","_needsManuallyCompositing","_width","_height","mainLayer","_domRoot","_getSize","_hoverlayer","_hoverElements","isSingleCanvas","viewportRoot","paintAll","_redrawId","_paintList","_backgroundColor","__hoverMir","hoverElements","hoverLayer","displayableSortFunc","originalEl","_doPaintEl","getHoverLayer","redrawId","_updateLayerStatus","finished","_doPaintList","_compositeManually","eachBuiltinLayer","layerList","zi","useTimer","firstEl","prevElClipPaths","currentLayer","forcePaint","insertLayer","layersMap","prevLayer","prevDom","eachLayer","getLayers","updatePrevLayer","incrementalLayerCount","layerConfig","_zlevel","delLayer","_progressiveLayers","clearLayer","imageLayer","renderToCanvas","displayList","whIdx","cwh","plt","prb","shadowBlurSize","leftMargin","rightMargin","topMargin","bottomMargin","pathTransform","ImageShape","imgShape","shapeCompareFunc","_roots","_displayList","_displayListLen","includeIgnore","updateDisplayList","_updateAndAddDisplayable","userSetClipPath","currentClipPath","parentClipPath","_renderList","_event","_clips","_running","_time","_pausedTime","_pauseStart","clips","deferredEvents","deferredClips","_needsRemove","fire","_startLoop","_life","onrestart","easingFuncs","globalTime","deltaTime","_startTime","easingFunc","schedule","restart","quadraticIn","quadraticOut","quadraticInOut","cubicIn","cubicOut","cubicInOut","quarticIn","quarticOut","quarticInOut","quinticIn","quinticOut","quinticInOut","sinusoidalIn","sinusoidalOut","sinusoidalInOut","exponentialIn","exponentialOut","exponentialInOut","circularIn","circularOut","circularInOut","elasticIn","elasticOut","elasticInOut","backIn","backOut","backInOut","bounceIn","bounceOut","bounceInOut","swapExtrema","windingCubic","nRoots","y0_","y1_","nExtrema","windingQuadratic","y_","windingArc","containPath","isStroke","quadratic","pointPair","_doTrack","_recognize","trackItem","recognizers","pinchEnd","pinchPre","pinchCenter","Diff","buildValues","componentPos","componentLen","added","clonePath","arrayDiff","oldLen","editLength","maxEditLength","bestPath","extractCommon","diagonalPath","addPath","removePath","canAdd","canRemove","pushComponent","commonCount","tokenize","determinant","rowStart","rowMask","colMask","detCache","cacheKey","fullRank","colStart","subRowMask","subRowStart","colLocalIdx","colTag","mA","vh","srcPointX","srcPointY","pk","eventNameFix","isPointerFromTouch","pointerType","setTouchTimer","touching","touchTimer","markTouch","normalizeGlobalEvent","FakeGlobalEvent","isLocalEl","elTmp","mountLocalDOMEventListeners","domHandlers","localNativeListenerNames","nativeEventName","mountSingleDOMEventListener","mouse","mountGlobalDOMEventListeners","nativeEventListener","globalNativeListenerNames","listenerOpts","domTarget","unmountDOMEventListeners","togglePointerCapture","isPointerCapturing","_mayPointerCapture","globalEventSupported","_pointerCapturing","globalHandlerScope","_globalHandlerScope","DOMHandlerScope","HandlerDomProxy","_localHandlerScope","localDOMHandlers","globalDOMHandlers","mouseHandlerNames","pointerEventNameMap","pointerdown","pointerup","pointermove","pointerout","nm","fakeGlobalEventProto","downPoint","toElement","touchmove","touchend","pointerCaptureReleasing","handlerDomProxyProto","_updatePathDirty","isLoop","constraint","prevPoint","nextPoint","cps","v2Min","v2Max","v2Clone","v2Sub","v2Scale","d0","v2Distance","v2Add","interpolate","w2","w3","someVectorAt","isTangent","ox","oy","animatable","animateToShallow","objShallow","propertyCount","setAttrByPath","animatingShape","pathSplitted","animateFrom","_dragStart","_drag","_dragEnd","draggingTarget","_draggingTarget","dropTarget","lastDropTarget","_dropTarget","checkParentAvailable","prevSibling","createMethodNotSupport","GradientManager","ClippathManager","ShadowManager","SVGPainter","gradientManager","clipPathManager","shadowManager","viewport","_viewport","_visibleList","visibleList","listLen","newVisibleList","svgProxy","svgElement","prevSvgElement","textSvgElement","addWithoutUpdate","_getDefs","viewportStyle","updateDom","clipPathEl","_textDom","hasShadow","_shadowDom","_shadowDomId","domChild","stdDx","stdDy","stdDeviation","nPoint","mathAtan2","VMLPainter","vmlCore","vmlViewport","vmlRoot","_vmlRoot","_vmlViewport","onAdd","_firstPaint","__alreadyNotVisible","brushVML","_getWidth","_getHeight","vmlViewportStyle","Z2","initRootElStyle","coordorigin","encodeHtmlAttribute","rgb2Str","getZIndex","setColorAndOpacity","getColorAndAlpha","updateFillNode","zrEl","gradientType","expansion","cs1","cs2","colorAndAlphaList","colorAndAlpha","color1","color2","opacity1","opacity2","focusposition","updateStrokeNode","dashstyle","updateFillAndStroke","vmlEl","isFill","_vmlEl","needTransform","strokeEl","weight","removeRectText","appendRectText","ow","oh","_imageSrc","_imageWidth","_imageHeight","imageRuntimeStyle","runtimeStyle","oldRuntimeWidth","oldRuntimeHeight","hasCrop","vmlElStyle","hasRotation","transformFilter","imageTransformPrefix","imageEl","_imageEl","cropEl","_cropEl","imageELStyle","tmpImage","cropElStyle","filterStr","textMeasureEl","fontStyleCache","fontStyleCacheCount","fontEl","getFontStyle","fontString","variant","fontVariant","fromTextEl","textPathEl","skewEl","textVmlEl","_textVmlEl","textpathok","textVmlElStyle"],"mappings":"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rJ,oBAClB,KAAXliK,GAA0BA,EAAOkiK,gBACxCnlK,MAAQA,KAAKmlK,iBjhCiwvLVppK,KAAKX,EAAS4H,EAAoB,MAGrD,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEJ,SAAU7H,EAAQC,EAAS4H,IkhC39vLjC,2BACgEod,EAAQhlB,IAGtE4E,EAAM,SAAW5E,GAAW,YAI9B,SAAS4jc,KACR,KAAM,IAAI19b,OAAM,0EAg6IjB,QAAS29b,GAAmBpha,GAC1B,GAAIl7B,MAAMzF,QAAQ2gC,GAAM,CACtB,IAAK,GAAI5hC,GAAI,EAAGw8U,EAAO91U,MAAMk7B,EAAI1hC,QAASF,EAAI4hC,EAAI1hC,OAAQF,IACxDw8U,EAAKx8U,GAAK4hC,EAAI5hC,EACf,OAAOw8U,GAER,MAAO91U,OAAMpG,KAAKshC,GAz6ItB,GAAIzc,G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Q,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,GAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAAQ,EACR,IAA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","file":"static/js/vendor.88dcd0b1eb6f06881880.js","sourcesContent":["webpackJsonp([100],[\n/* 0 */\n/***/ (function(module, exports) {\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/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(11);\nvar core = __webpack_require__(48);\nvar hide = __webpack_require__(36);\nvar redefine = __webpack_require__(37);\nvar ctx = __webpack_require__(49);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrender = __webpack_require__(192);\n\nvar zrUtil = __webpack_require__(0);\n\nvar colorTool = __webpack_require__(63);\n\nvar env = __webpack_require__(23);\n\nvar timsort = __webpack_require__(272);\n\nvar Eventful = __webpack_require__(106);\n\nvar GlobalModel = __webpack_require__(413);\n\nvar ExtensionAPI = __webpack_require__(357);\n\nvar CoordinateSystemManager = __webpack_require__(52);\n\nvar OptionManager = __webpack_require__(1095);\n\nvar backwardCompat = __webpack_require__(1103);\n\nvar dataStack = __webpack_require__(1106);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar ComponentView = __webpack_require__(180);\n\nvar ChartView = __webpack_require__(60);\n\nvar graphic = __webpack_require__(6);\n\nvar modelUtil = __webpack_require__(8);\n\nvar _throttle = __webpack_require__(81);\n\nvar throttle = _throttle.throttle;\n\nvar seriesColor = __webpack_require__(1115);\n\nvar aria = __webpack_require__(1114);\n\nvar loadingDefault = __webpack_require__(1094);\n\nvar Scheduler = __webpack_require__(1109);\n\nvar lightTheme = __webpack_require__(1111);\n\nvar darkTheme = __webpack_require__(1110);\n\n__webpack_require__(381);\n\nvar mapDataStorage = __webpack_require__(258);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 assert = zrUtil.assert;\nvar each = zrUtil.each;\nvar isFunction = zrUtil.isFunction;\nvar isObject = zrUtil.isObject;\nvar parseClassType = ComponentModel.parseClassType;\nvar version = '4.7.0';\nvar dependencies = {\n zrender: '4.3.0'\n};\nvar TEST_FRAME_REMAIN_TIME = 1;\nvar PRIORITY_PROCESSOR_FILTER = 1000;\nvar PRIORITY_PROCESSOR_SERIES_FILTER = 800;\nvar PRIORITY_PROCESSOR_DATASTACK = 900;\nvar PRIORITY_PROCESSOR_STATISTIC = 5000;\nvar PRIORITY_VISUAL_LAYOUT = 1000;\nvar PRIORITY_VISUAL_PROGRESSIVE_LAYOUT = 1100;\nvar PRIORITY_VISUAL_GLOBAL = 2000;\nvar PRIORITY_VISUAL_CHART = 3000;\nvar PRIORITY_VISUAL_POST_CHART_LAYOUT = 3500;\nvar PRIORITY_VISUAL_COMPONENT = 4000; // FIXME\n// necessary?\n\nvar PRIORITY_VISUAL_BRUSH = 5000;\nvar PRIORITY = {\n PROCESSOR: {\n FILTER: PRIORITY_PROCESSOR_FILTER,\n SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER,\n STATISTIC: PRIORITY_PROCESSOR_STATISTIC\n },\n VISUAL: {\n LAYOUT: PRIORITY_VISUAL_LAYOUT,\n PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,\n GLOBAL: PRIORITY_VISUAL_GLOBAL,\n CHART: PRIORITY_VISUAL_CHART,\n POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT,\n COMPONENT: PRIORITY_VISUAL_COMPONENT,\n BRUSH: PRIORITY_VISUAL_BRUSH\n }\n}; // Main process have three entries: `setOption`, `dispatchAction` and `resize`,\n// where they must not be invoked nestedly, except the only case: invoke\n// dispatchAction with updateMethod \"none\" in main process.\n// This flag is used to carry out this rule.\n// All events will be triggered out side main process (i.e. when !this[IN_MAIN_PROCESS]).\n\nvar IN_MAIN_PROCESS = '__flagInMainProcess';\nvar OPTION_UPDATED = '__optionUpdated';\nvar ACTION_REG = /^[a-zA-Z0-9_]+$/;\n\nfunction createRegisterEventWithLowercaseName(method, ignoreDisposed) {\n return function (eventName, handler, context) {\n if (!ignoreDisposed && this._disposed) {\n disposedWarning(this.id);\n return;\n } // Event name is all lowercase\n\n\n eventName = eventName && eventName.toLowerCase();\n Eventful.prototype[method].call(this, eventName, handler, context);\n };\n}\n/**\n * @module echarts~MessageCenter\n */\n\n\nfunction MessageCenter() {\n Eventful.call(this);\n}\n\nMessageCenter.prototype.on = createRegisterEventWithLowercaseName('on', true);\nMessageCenter.prototype.off = createRegisterEventWithLowercaseName('off', true);\nMessageCenter.prototype.one = createRegisterEventWithLowercaseName('one', true);\nzrUtil.mixin(MessageCenter, Eventful);\n/**\n * @module echarts~ECharts\n */\n\nfunction ECharts(dom, theme, opts) {\n opts = opts || {}; // Get theme by name\n\n if (typeof theme === 'string') {\n theme = themeStorage[theme];\n }\n /**\n * @type {string}\n */\n\n\n this.id;\n /**\n * Group id\n * @type {string}\n */\n\n this.group;\n /**\n * @type {HTMLElement}\n * @private\n */\n\n this._dom = dom;\n var defaultRenderer = 'canvas';\n\n /**\n * @type {module:zrender/ZRender}\n * @private\n */\n var zr = this._zr = zrender.init(dom, {\n renderer: opts.renderer || defaultRenderer,\n devicePixelRatio: opts.devicePixelRatio,\n width: opts.width,\n height: opts.height\n });\n /**\n * Expect 60 fps.\n * @type {Function}\n * @private\n */\n\n this._throttledZrFlush = throttle(zrUtil.bind(zr.flush, zr), 17);\n var theme = zrUtil.clone(theme);\n theme && backwardCompat(theme, true);\n /**\n * @type {Object}\n * @private\n */\n\n this._theme = theme;\n /**\n * @type {Array.}\n * @private\n */\n\n this._chartsViews = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._chartsMap = {};\n /**\n * @type {Array.}\n * @private\n */\n\n this._componentsViews = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._componentsMap = {};\n /**\n * @type {module:echarts/CoordinateSystem}\n * @private\n */\n\n this._coordSysMgr = new CoordinateSystemManager();\n /**\n * @type {module:echarts/ExtensionAPI}\n * @private\n */\n\n var api = this._api = createExtensionAPI(this); // Sort on demand\n\n function prioritySortFunc(a, b) {\n return a.__prio - b.__prio;\n }\n\n timsort(visualFuncs, prioritySortFunc);\n timsort(dataProcessorFuncs, prioritySortFunc);\n /**\n * @type {module:echarts/stream/Scheduler}\n */\n\n this._scheduler = new Scheduler(this, api, dataProcessorFuncs, visualFuncs);\n Eventful.call(this, this._ecEventProcessor = new EventProcessor());\n /**\n * @type {module:echarts~MessageCenter}\n * @private\n */\n\n this._messageCenter = new MessageCenter(); // Init mouse events\n\n this._initEvents(); // In case some people write `window.onresize = chart.resize`\n\n\n this.resize = zrUtil.bind(this.resize, this); // Can't dispatch action during rendering procedure\n\n this._pendingActions = [];\n zr.animation.on('frame', this._onframe, this);\n bindRenderedEvent(zr, this); // ECharts instance can be used as value.\n\n zrUtil.setAsPrimitive(this);\n}\n\nvar echartsProto = ECharts.prototype;\n\nechartsProto._onframe = function () {\n if (this._disposed) {\n return;\n }\n\n var scheduler = this._scheduler; // Lazy update\n\n if (this[OPTION_UPDATED]) {\n var silent = this[OPTION_UPDATED].silent;\n this[IN_MAIN_PROCESS] = true;\n prepare(this);\n updateMethods.update.call(this);\n this[IN_MAIN_PROCESS] = false;\n this[OPTION_UPDATED] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n } // Avoid do both lazy update and progress in one frame.\n else if (scheduler.unfinished) {\n // Stream progress.\n var remainTime = TEST_FRAME_REMAIN_TIME;\n var ecModel = this._model;\n var api = this._api;\n scheduler.unfinished = false;\n\n do {\n var startTime = +new Date();\n scheduler.performSeriesTasks(ecModel); // Currently dataProcessorFuncs do not check threshold.\n\n scheduler.performDataProcessorTasks(ecModel);\n updateStreamModes(this, ecModel); // Do not update coordinate system here. Because that coord system update in\n // each frame is not a good user experience. So we follow the rule that\n // the extent of the coordinate system is determin in the first frame (the\n // frame is executed immedietely after task reset.\n // this._coordSysMgr.update(ecModel, api);\n // console.log('--- ec frame visual ---', remainTime);\n\n scheduler.performVisualTasks(ecModel);\n renderSeries(this, this._model, api, 'remain');\n remainTime -= +new Date() - startTime;\n } while (remainTime > 0 && scheduler.unfinished); // Call flush explicitly for trigger finished event.\n\n\n if (!scheduler.unfinished) {\n this._zr.flush();\n } // Else, zr flushing be ensue within the same frame,\n // because zr flushing is after onframe event.\n\n }\n};\n/**\n * @return {HTMLElement}\n */\n\n\nechartsProto.getDom = function () {\n return this._dom;\n};\n/**\n * @return {module:zrender~ZRender}\n */\n\n\nechartsProto.getZr = function () {\n return this._zr;\n};\n/**\n * Usage:\n * chart.setOption(option, notMerge, lazyUpdate);\n * chart.setOption(option, {\n * notMerge: ...,\n * lazyUpdate: ...,\n * silent: ...\n * });\n *\n * @param {Object} option\n * @param {Object|boolean} [opts] opts or notMerge.\n * @param {boolean} [opts.notMerge=false]\n * @param {boolean} [opts.lazyUpdate=false] Useful when setOption frequently.\n */\n\n\nechartsProto.setOption = function (option, notMerge, lazyUpdate) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var silent;\n\n if (isObject(notMerge)) {\n lazyUpdate = notMerge.lazyUpdate;\n silent = notMerge.silent;\n notMerge = notMerge.notMerge;\n }\n\n this[IN_MAIN_PROCESS] = true;\n\n if (!this._model || notMerge) {\n var optionManager = new OptionManager(this._api);\n var theme = this._theme;\n var ecModel = this._model = new GlobalModel();\n ecModel.scheduler = this._scheduler;\n ecModel.init(null, null, theme, optionManager);\n }\n\n this._model.setOption(option, optionPreprocessorFuncs);\n\n if (lazyUpdate) {\n this[OPTION_UPDATED] = {\n silent: silent\n };\n this[IN_MAIN_PROCESS] = false;\n } else {\n prepare(this);\n updateMethods.update.call(this); // Ensure zr refresh sychronously, and then pixel in canvas can be\n // fetched after `setOption`.\n\n this._zr.flush();\n\n this[OPTION_UPDATED] = false;\n this[IN_MAIN_PROCESS] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n }\n};\n/**\n * @DEPRECATED\n */\n\n\nechartsProto.setTheme = function () {\n console.error('ECharts#setTheme() is DEPRECATED in ECharts 3.0');\n};\n/**\n * @return {module:echarts/model/Global}\n */\n\n\nechartsProto.getModel = function () {\n return this._model;\n};\n/**\n * @return {Object}\n */\n\n\nechartsProto.getOption = function () {\n return this._model && this._model.getOption();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getWidth = function () {\n return this._zr.getWidth();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getHeight = function () {\n return this._zr.getHeight();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getDevicePixelRatio = function () {\n return this._zr.painter.dpr || window.devicePixelRatio || 1;\n};\n/**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @return {string}\n */\n\n\nechartsProto.getRenderedCanvas = function (opts) {\n if (!env.canvasSupported) {\n return;\n }\n\n opts = opts || {};\n opts.pixelRatio = opts.pixelRatio || 1;\n opts.backgroundColor = opts.backgroundColor || this._model.get('backgroundColor');\n var zr = this._zr; // var list = zr.storage.getDisplayList();\n // Stop animations\n // Never works before in init animation, so remove it.\n // zrUtil.each(list, function (el) {\n // el.stopAnimation(true);\n // });\n\n return zr.painter.getRenderedCanvas(opts);\n};\n/**\n * Get svg data url\n * @return {string}\n */\n\n\nechartsProto.getSvgDataUrl = function () {\n if (!env.svgSupported) {\n return;\n }\n\n var zr = this._zr;\n var list = zr.storage.getDisplayList(); // Stop animations\n\n zrUtil.each(list, function (el) {\n el.stopAnimation(true);\n });\n return zr.painter.pathToDataUrl();\n};\n/**\n * @return {string}\n * @param {Object} opts\n * @param {string} [opts.type='png']\n * @param {string} [opts.pixelRatio=1]\n * @param {string} [opts.backgroundColor]\n * @param {string} [opts.excludeComponents]\n */\n\n\nechartsProto.getDataURL = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n opts = opts || {};\n var excludeComponents = opts.excludeComponents;\n var ecModel = this._model;\n var excludesComponentViews = [];\n var self = this;\n each(excludeComponents, function (componentType) {\n ecModel.eachComponent({\n mainType: componentType\n }, function (component) {\n var view = self._componentsMap[component.__viewId];\n\n if (!view.group.ignore) {\n excludesComponentViews.push(view);\n view.group.ignore = true;\n }\n });\n });\n var url = this._zr.painter.getType() === 'svg' ? this.getSvgDataUrl() : this.getRenderedCanvas(opts).toDataURL('image/' + (opts && opts.type || 'png'));\n each(excludesComponentViews, function (view) {\n view.group.ignore = false;\n });\n return url;\n};\n/**\n * @return {string}\n * @param {Object} opts\n * @param {string} [opts.type='png']\n * @param {string} [opts.pixelRatio=1]\n * @param {string} [opts.backgroundColor]\n */\n\n\nechartsProto.getConnectedDataURL = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (!env.canvasSupported) {\n return;\n }\n\n var groupId = this.group;\n var mathMin = Math.min;\n var mathMax = Math.max;\n var MAX_NUMBER = Infinity;\n\n if (connectedGroups[groupId]) {\n var left = MAX_NUMBER;\n var top = MAX_NUMBER;\n var right = -MAX_NUMBER;\n var bottom = -MAX_NUMBER;\n var canvasList = [];\n var dpr = opts && opts.pixelRatio || 1;\n zrUtil.each(instances, function (chart, id) {\n if (chart.group === groupId) {\n var canvas = chart.getRenderedCanvas(zrUtil.clone(opts));\n var boundingRect = chart.getDom().getBoundingClientRect();\n left = mathMin(boundingRect.left, left);\n top = mathMin(boundingRect.top, top);\n right = mathMax(boundingRect.right, right);\n bottom = mathMax(boundingRect.bottom, bottom);\n canvasList.push({\n dom: canvas,\n left: boundingRect.left,\n top: boundingRect.top\n });\n }\n });\n left *= dpr;\n top *= dpr;\n right *= dpr;\n bottom *= dpr;\n var width = right - left;\n var height = bottom - top;\n var targetCanvas = zrUtil.createCanvas();\n targetCanvas.width = width;\n targetCanvas.height = height;\n var zr = zrender.init(targetCanvas); // Background between the charts\n\n if (opts.connectedBackgroundColor) {\n zr.add(new graphic.Rect({\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n style: {\n fill: opts.connectedBackgroundColor\n }\n }));\n }\n\n each(canvasList, function (item) {\n var img = new graphic.Image({\n style: {\n x: item.left * dpr - left,\n y: item.top * dpr - top,\n image: item.dom\n }\n });\n zr.add(img);\n });\n zr.refreshImmediately();\n return targetCanvas.toDataURL('image/' + (opts && opts.type || 'png'));\n } else {\n return this.getDataURL(opts);\n }\n};\n/**\n * Convert from logical coordinate system to pixel coordinate system.\n * See CoordinateSystem#convertToPixel.\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 * @param {Array|number} value\n * @return {Array|number} result\n */\n\n\nechartsProto.convertToPixel = zrUtil.curry(doConvertPixel, 'convertToPixel');\n/**\n * Convert from pixel coordinate system to logical coordinate system.\n * See CoordinateSystem#convertFromPixel.\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 * @param {Array|number} value\n * @return {Array|number} result\n */\n\nechartsProto.convertFromPixel = zrUtil.curry(doConvertPixel, 'convertFromPixel');\n\nfunction doConvertPixel(methodName, finder, value) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var ecModel = this._model;\n\n var coordSysList = this._coordSysMgr.getCoordinateSystems();\n\n var result;\n finder = modelUtil.parseFinder(ecModel, finder);\n\n for (var i = 0; i < coordSysList.length; i++) {\n var coordSys = coordSysList[i];\n\n if (coordSys[methodName] && (result = coordSys[methodName](ecModel, finder, value)) != null) {\n return result;\n }\n }\n}\n/**\n * Is the specified coordinate systems or components contain the given pixel point.\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 * @param {Array|number} value\n * @return {boolean} result\n */\n\n\nechartsProto.containPixel = function (finder, value) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var ecModel = this._model;\n var result;\n finder = modelUtil.parseFinder(ecModel, finder);\n zrUtil.each(finder, function (models, key) {\n key.indexOf('Models') >= 0 && zrUtil.each(models, function (model) {\n var coordSys = model.coordinateSystem;\n\n if (coordSys && coordSys.containPoint) {\n result |= !!coordSys.containPoint(value);\n } else if (key === 'seriesModels') {\n var view = this._chartsMap[model.__viewId];\n\n if (view && view.containPoint) {\n result |= view.containPoint(value, model);\n } else {}\n } else {}\n }, this);\n }, this);\n return !!result;\n};\n/**\n * Get visual from series or data.\n * @param {string|Object} finder\n * If string, e.g., 'series', means {seriesIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * dataIndex / dataIndexInside\n * }\n * If dataIndex is not specified, series visual will be fetched,\n * but not data item visual.\n * If all of seriesIndex, seriesId, seriesName are not specified,\n * visual will be fetched from first series.\n * @param {string} visualType 'color', 'symbol', 'symbolSize'\n */\n\n\nechartsProto.getVisual = function (finder, visualType) {\n var ecModel = this._model;\n finder = modelUtil.parseFinder(ecModel, finder, {\n defaultMainType: 'series'\n });\n var seriesModel = finder.seriesModel;\n var data = seriesModel.getData();\n var dataIndexInside = finder.hasOwnProperty('dataIndexInside') ? finder.dataIndexInside : finder.hasOwnProperty('dataIndex') ? data.indexOfRawIndex(finder.dataIndex) : null;\n return dataIndexInside != null ? data.getItemVisual(dataIndexInside, visualType) : data.getVisual(visualType);\n};\n/**\n * Get view of corresponding component model\n * @param {module:echarts/model/Component} componentModel\n * @return {module:echarts/view/Component}\n */\n\n\nechartsProto.getViewOfComponentModel = function (componentModel) {\n return this._componentsMap[componentModel.__viewId];\n};\n/**\n * Get view of corresponding series model\n * @param {module:echarts/model/Series} seriesModel\n * @return {module:echarts/view/Chart}\n */\n\n\nechartsProto.getViewOfSeriesModel = function (seriesModel) {\n return this._chartsMap[seriesModel.__viewId];\n};\n\nvar updateMethods = {\n prepareAndUpdate: function (payload) {\n prepare(this);\n updateMethods.update.call(this, payload);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n update: function (payload) {\n // console.profile && console.profile('update');\n var ecModel = this._model;\n var api = this._api;\n var zr = this._zr;\n var coordSysMgr = this._coordSysMgr;\n var scheduler = this._scheduler; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n scheduler.restoreData(ecModel, payload);\n scheduler.performSeriesTasks(ecModel); // TODO\n // Save total ecModel here for undo/redo (after restoring data and before processing data).\n // Undo (restoration of total ecModel) can be carried out in 'action' or outside API call.\n // Create new coordinate system each update\n // In LineView may save the old coordinate system and use it to get the orignal point\n\n coordSysMgr.create(ecModel, api);\n scheduler.performDataProcessorTasks(ecModel, payload); // Current stream render is not supported in data process. So we can update\n // stream modes after data processing, where the filtered data is used to\n // deteming whether use progressive rendering.\n\n updateStreamModes(this, ecModel); // We update stream modes before coordinate system updated, then the modes info\n // can be fetched when coord sys updating (consider the barGrid extent fix). But\n // the drawback is the full coord info can not be fetched. Fortunately this full\n // coord is not requied in stream mode updater currently.\n\n coordSysMgr.update(ecModel, api);\n clearColorPalette(ecModel);\n scheduler.performVisualTasks(ecModel, payload);\n render(this, ecModel, api, payload); // Set background\n\n var backgroundColor = ecModel.get('backgroundColor') || 'transparent'; // In IE8\n\n if (!env.canvasSupported) {\n var colorArr = colorTool.parse(backgroundColor);\n backgroundColor = colorTool.stringify(colorArr, 'rgb');\n\n if (colorArr[3] === 0) {\n backgroundColor = 'transparent';\n }\n } else {\n zr.setBackgroundColor(backgroundColor);\n }\n\n performPostUpdateFuncs(ecModel, api); // console.profile && console.profileEnd('update');\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateTransform: function (payload) {\n var ecModel = this._model;\n var ecIns = this;\n var api = this._api; // update before setOption\n\n if (!ecModel) {\n return;\n } // ChartView.markUpdateMethod(payload, 'updateTransform');\n\n\n var componentDirtyList = [];\n ecModel.eachComponent(function (componentType, componentModel) {\n var componentView = ecIns.getViewOfComponentModel(componentModel);\n\n if (componentView && componentView.__alive) {\n if (componentView.updateTransform) {\n var result = componentView.updateTransform(componentModel, ecModel, api, payload);\n result && result.update && componentDirtyList.push(componentView);\n } else {\n componentDirtyList.push(componentView);\n }\n }\n });\n var seriesDirtyMap = zrUtil.createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n if (chartView.updateTransform) {\n var result = chartView.updateTransform(seriesModel, ecModel, api, payload);\n result && result.update && seriesDirtyMap.set(seriesModel.uid, 1);\n } else {\n seriesDirtyMap.set(seriesModel.uid, 1);\n }\n });\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true,\n dirtyMap: seriesDirtyMap\n }); // Currently, not call render of components. Geo render cost a lot.\n // renderComponents(ecIns, ecModel, api, payload, componentDirtyList);\n\n\n renderSeries(ecIns, ecModel, api, payload, seriesDirtyMap);\n performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateView: function (payload) {\n var ecModel = this._model; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ChartView.markUpdateMethod(payload, 'updateView');\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true\n });\n\n render(this, this._model, this._api, payload);\n performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateVisual: function (payload) {\n updateMethods.update.call(this, payload); // var ecModel = this._model;\n // // update before setOption\n // if (!ecModel) {\n // return;\n // }\n // ChartView.markUpdateMethod(payload, 'updateVisual');\n // clearColorPalette(ecModel);\n // // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, {visualType: 'visual', setDirty: true});\n // render(this, this._model, this._api, payload);\n // performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateLayout: function (payload) {\n updateMethods.update.call(this, payload); // var ecModel = this._model;\n // // update before setOption\n // if (!ecModel) {\n // return;\n // }\n // ChartView.markUpdateMethod(payload, 'updateLayout');\n // // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n // this._scheduler.performVisualTasks(ecModel, payload, {setDirty: true});\n // render(this, this._model, this._api, payload);\n // performPostUpdateFuncs(ecModel, this._api);\n }\n};\n\nfunction prepare(ecIns) {\n var ecModel = ecIns._model;\n var scheduler = ecIns._scheduler;\n scheduler.restorePipelines(ecModel);\n scheduler.prepareStageTasks();\n prepareView(ecIns, 'component', ecModel, scheduler);\n prepareView(ecIns, 'chart', ecModel, scheduler);\n scheduler.plan();\n}\n/**\n * @private\n */\n\n\nfunction updateDirectly(ecIns, method, payload, mainType, subType) {\n var ecModel = ecIns._model; // broadcast\n\n if (!mainType) {\n // FIXME\n // Chart will not be update directly here, except set dirty.\n // But there is no such scenario now.\n each(ecIns._componentsViews.concat(ecIns._chartsViews), callView);\n return;\n }\n\n var query = {};\n query[mainType + 'Id'] = payload[mainType + 'Id'];\n query[mainType + 'Index'] = payload[mainType + 'Index'];\n query[mainType + 'Name'] = payload[mainType + 'Name'];\n var condition = {\n mainType: mainType,\n query: query\n };\n subType && (condition.subType = subType); // subType may be '' by parseClassType;\n\n var excludeSeriesId = payload.excludeSeriesId;\n\n if (excludeSeriesId != null) {\n excludeSeriesId = zrUtil.createHashMap(modelUtil.normalizeToArray(excludeSeriesId));\n } // If dispatchAction before setOption, do nothing.\n\n\n ecModel && ecModel.eachComponent(condition, function (model) {\n if (!excludeSeriesId || excludeSeriesId.get(model.id) == null) {\n callView(ecIns[mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId]);\n }\n }, ecIns);\n\n function callView(view) {\n view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);\n }\n}\n/**\n * Resize the chart\n * @param {Object} opts\n * @param {number} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Can be 'auto' (the same as null/undefined)\n * @param {boolean} [opts.silent=false]\n */\n\n\nechartsProto.resize = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._zr.resize(opts);\n\n var ecModel = this._model; // Resize loading effect\n\n this._loadingFX && this._loadingFX.resize();\n\n if (!ecModel) {\n return;\n }\n\n var optionChanged = ecModel.resetOption('media');\n var silent = opts && opts.silent;\n this[IN_MAIN_PROCESS] = true;\n optionChanged && prepare(this);\n updateMethods.update.call(this);\n this[IN_MAIN_PROCESS] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n};\n\nfunction updateStreamModes(ecIns, ecModel) {\n var chartsMap = ecIns._chartsMap;\n var scheduler = ecIns._scheduler;\n ecModel.eachSeries(function (seriesModel) {\n scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);\n });\n}\n/**\n * Show loading effect\n * @param {string} [name='default']\n * @param {Object} [cfg]\n */\n\n\nechartsProto.showLoading = function (name, cfg) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (isObject(name)) {\n cfg = name;\n name = '';\n }\n\n name = name || 'default';\n this.hideLoading();\n\n if (!loadingEffects[name]) {\n return;\n }\n\n var el = loadingEffects[name](this._api, cfg);\n var zr = this._zr;\n this._loadingFX = el;\n zr.add(el);\n};\n/**\n * Hide loading effect\n */\n\n\nechartsProto.hideLoading = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._loadingFX && this._zr.remove(this._loadingFX);\n this._loadingFX = null;\n};\n/**\n * @param {Object} eventObj\n * @return {Object}\n */\n\n\nechartsProto.makeActionFromEvent = function (eventObj) {\n var payload = zrUtil.extend({}, eventObj);\n payload.type = eventActionMap[eventObj.type];\n return payload;\n};\n/**\n * @pubilc\n * @param {Object} payload\n * @param {string} [payload.type] Action type\n * @param {Object|boolean} [opt] If pass boolean, means opt.silent\n * @param {boolean} [opt.silent=false] Whether trigger events.\n * @param {boolean} [opt.flush=undefined]\n * true: Flush immediately, and then pixel in canvas can be fetched\n * immediately. Caution: it might affect performance.\n * false: Not flush.\n * undefined: Auto decide whether perform flush.\n */\n\n\nechartsProto.dispatchAction = function (payload, opt) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (!isObject(opt)) {\n opt = {\n silent: !!opt\n };\n }\n\n if (!actions[payload.type]) {\n return;\n } // Avoid dispatch action before setOption. Especially in `connect`.\n\n\n if (!this._model) {\n return;\n } // May dispatchAction in rendering procedure\n\n\n if (this[IN_MAIN_PROCESS]) {\n this._pendingActions.push(payload);\n\n return;\n }\n\n doDispatchAction.call(this, payload, opt.silent);\n\n if (opt.flush) {\n this._zr.flush(true);\n } else if (opt.flush !== false && env.browser.weChat) {\n // In WeChat embeded browser, `requestAnimationFrame` and `setInterval`\n // hang when sliding page (on touch event), which cause that zr does not\n // refresh util user interaction finished, which is not expected.\n // But `dispatchAction` may be called too frequently when pan on touch\n // screen, which impacts performance if do not throttle them.\n this._throttledZrFlush();\n }\n\n flushPendingActions.call(this, opt.silent);\n triggerUpdatedEvent.call(this, opt.silent);\n};\n\nfunction doDispatchAction(payload, silent) {\n var payloadType = payload.type;\n var escapeConnect = payload.escapeConnect;\n var actionWrap = actions[payloadType];\n var actionInfo = actionWrap.actionInfo;\n var cptType = (actionInfo.update || 'update').split(':');\n var updateMethod = cptType.pop();\n cptType = cptType[0] != null && parseClassType(cptType[0]);\n this[IN_MAIN_PROCESS] = true;\n var payloads = [payload];\n var batched = false; // Batch action\n\n if (payload.batch) {\n batched = true;\n payloads = zrUtil.map(payload.batch, function (item) {\n item = zrUtil.defaults(zrUtil.extend({}, item), payload);\n item.batch = null;\n return item;\n });\n }\n\n var eventObjBatch = [];\n var eventObj;\n var isHighDown = payloadType === 'highlight' || payloadType === 'downplay';\n each(payloads, function (batchItem) {\n // Action can specify the event by return it.\n eventObj = actionWrap.action(batchItem, this._model, this._api); // Emit event outside\n\n eventObj = eventObj || zrUtil.extend({}, batchItem); // Convert type to eventType\n\n eventObj.type = actionInfo.event || eventObj.type;\n eventObjBatch.push(eventObj); // light update does not perform data process, layout and visual.\n\n if (isHighDown) {\n // method, payload, mainType, subType\n updateDirectly(this, updateMethod, batchItem, 'series');\n } else if (cptType) {\n updateDirectly(this, updateMethod, batchItem, cptType.main, cptType.sub);\n }\n }, this);\n\n if (updateMethod !== 'none' && !isHighDown && !cptType) {\n // Still dirty\n if (this[OPTION_UPDATED]) {\n // FIXME Pass payload ?\n prepare(this);\n updateMethods.update.call(this, payload);\n this[OPTION_UPDATED] = false;\n } else {\n updateMethods[updateMethod].call(this, payload);\n }\n } // Follow the rule of action batch\n\n\n if (batched) {\n eventObj = {\n type: actionInfo.event || payloadType,\n escapeConnect: escapeConnect,\n batch: eventObjBatch\n };\n } else {\n eventObj = eventObjBatch[0];\n }\n\n this[IN_MAIN_PROCESS] = false;\n !silent && this._messageCenter.trigger(eventObj.type, eventObj);\n}\n\nfunction flushPendingActions(silent) {\n var pendingActions = this._pendingActions;\n\n while (pendingActions.length) {\n var payload = pendingActions.shift();\n doDispatchAction.call(this, payload, silent);\n }\n}\n\nfunction triggerUpdatedEvent(silent) {\n !silent && this.trigger('updated');\n}\n/**\n * Event `rendered` is triggered when zr\n * rendered. It is useful for realtime\n * snapshot (reflect animation).\n *\n * Event `finished` is triggered when:\n * (1) zrender rendering finished.\n * (2) initial animation finished.\n * (3) progressive rendering finished.\n * (4) no pending action.\n * (5) no delayed setOption needs to be processed.\n */\n\n\nfunction bindRenderedEvent(zr, ecIns) {\n zr.on('rendered', function () {\n ecIns.trigger('rendered'); // The `finished` event should not be triggered repeatly,\n // so it should only be triggered when rendering indeed happend\n // in zrender. (Consider the case that dipatchAction is keep\n // triggering when mouse move).\n\n if ( // Although zr is dirty if initial animation is not finished\n // and this checking is called on frame, we also check\n // animation finished for robustness.\n zr.animation.isFinished() && !ecIns[OPTION_UPDATED] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length) {\n ecIns.trigger('finished');\n }\n });\n}\n/**\n * @param {Object} params\n * @param {number} params.seriesIndex\n * @param {Array|TypedArray} params.data\n */\n\n\nechartsProto.appendData = function (params) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var seriesIndex = params.seriesIndex;\n var ecModel = this.getModel();\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n seriesModel.appendData(params); // Note: `appendData` does not support that update extent of coordinate\n // system, util some scenario require that. In the expected usage of\n // `appendData`, the initial extent of coordinate system should better\n // be fixed by axis `min`/`max` setting or initial data, otherwise if\n // the extent changed while `appendData`, the location of the painted\n // graphic elements have to be changed, which make the usage of\n // `appendData` meaningless.\n\n this._scheduler.unfinished = true;\n};\n/**\n * Register event\n * @method\n */\n\n\nechartsProto.on = createRegisterEventWithLowercaseName('on', false);\nechartsProto.off = createRegisterEventWithLowercaseName('off', false);\nechartsProto.one = createRegisterEventWithLowercaseName('one', false);\n/**\n * Prepare view instances of charts and components\n * @param {module:echarts/model/Global} ecModel\n * @private\n */\n\nfunction prepareView(ecIns, type, ecModel, scheduler) {\n var isComponent = type === 'component';\n var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;\n var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;\n var zr = ecIns._zr;\n var api = ecIns._api;\n\n for (var i = 0; i < viewList.length; i++) {\n viewList[i].__alive = false;\n }\n\n isComponent ? ecModel.eachComponent(function (componentType, model) {\n componentType !== 'series' && doPrepare(model);\n }) : ecModel.eachSeries(doPrepare);\n\n function doPrepare(model) {\n // Consider: id same and type changed.\n var viewId = '_ec_' + model.id + '_' + model.type;\n var view = viewMap[viewId];\n\n if (!view) {\n var classType = parseClassType(model.type);\n var Clazz = isComponent ? ComponentView.getClass(classType.main, classType.sub) : ChartView.getClass(classType.sub);\n view = new Clazz();\n view.init(ecModel, api);\n viewMap[viewId] = view;\n viewList.push(view);\n zr.add(view.group);\n }\n\n model.__viewId = view.__id = viewId;\n view.__alive = true;\n view.__model = model;\n view.group.__ecComponentInfo = {\n mainType: model.mainType,\n index: model.componentIndex\n };\n !isComponent && scheduler.prepareView(view, model, ecModel, api);\n }\n\n for (var i = 0; i < viewList.length;) {\n var view = viewList[i];\n\n if (!view.__alive) {\n !isComponent && view.renderTask.dispose();\n zr.remove(view.group);\n view.dispose(ecModel, api);\n viewList.splice(i, 1);\n delete viewMap[view.__id];\n view.__id = view.group.__ecComponentInfo = null;\n } else {\n i++;\n }\n }\n} // /**\n// * Encode visual infomation from data after data processing\n// *\n// * @param {module:echarts/model/Global} ecModel\n// * @param {object} layout\n// * @param {boolean} [layoutFilter] `true`: only layout,\n// * `false`: only not layout,\n// * `null`/`undefined`: all.\n// * @param {string} taskBaseTag\n// * @private\n// */\n// function startVisualEncoding(ecIns, ecModel, api, payload, layoutFilter) {\n// each(visualFuncs, function (visual, index) {\n// var isLayout = visual.isLayout;\n// if (layoutFilter == null\n// || (layoutFilter === false && !isLayout)\n// || (layoutFilter === true && isLayout)\n// ) {\n// visual.func(ecModel, api, payload);\n// }\n// });\n// }\n\n\nfunction clearColorPalette(ecModel) {\n ecModel.clearColorPalette();\n ecModel.eachSeries(function (seriesModel) {\n seriesModel.clearColorPalette();\n });\n}\n\nfunction render(ecIns, ecModel, api, payload) {\n renderComponents(ecIns, ecModel, api, payload);\n each(ecIns._chartsViews, function (chart) {\n chart.__alive = false;\n });\n renderSeries(ecIns, ecModel, api, payload); // Remove groups of unrendered charts\n\n each(ecIns._chartsViews, function (chart) {\n if (!chart.__alive) {\n chart.remove(ecModel, api);\n }\n });\n}\n\nfunction renderComponents(ecIns, ecModel, api, payload, dirtyList) {\n each(dirtyList || ecIns._componentsViews, function (componentView) {\n var componentModel = componentView.__model;\n componentView.render(componentModel, ecModel, api, payload);\n updateZ(componentModel, componentView);\n });\n}\n/**\n * Render each chart and component\n * @private\n */\n\n\nfunction renderSeries(ecIns, ecModel, api, payload, dirtyMap) {\n // Render all charts\n var scheduler = ecIns._scheduler;\n var unfinished;\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n chartView.__alive = true;\n var renderTask = chartView.renderTask;\n scheduler.updatePayload(renderTask, payload);\n\n if (dirtyMap && dirtyMap.get(seriesModel.uid)) {\n renderTask.dirty();\n }\n\n unfinished |= renderTask.perform(scheduler.getPerformArgs(renderTask));\n chartView.group.silent = !!seriesModel.get('silent');\n updateZ(seriesModel, chartView);\n updateBlend(seriesModel, chartView);\n });\n scheduler.unfinished |= unfinished; // If use hover layer\n\n updateHoverLayerStatus(ecIns, ecModel); // Add aria\n\n aria(ecIns._zr.dom, ecModel);\n}\n\nfunction performPostUpdateFuncs(ecModel, api) {\n each(postUpdateFuncs, function (func) {\n func(ecModel, api);\n });\n}\n\nvar MOUSE_EVENT_NAMES = ['click', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'globalout', 'contextmenu'];\n/**\n * @private\n */\n\nechartsProto._initEvents = function () {\n each(MOUSE_EVENT_NAMES, function (eveName) {\n var handler = function (e) {\n var ecModel = this.getModel();\n var el = e.target;\n var params;\n var isGlobalOut = eveName === 'globalout'; // no e.target when 'globalout'.\n\n if (isGlobalOut) {\n params = {};\n } else if (el && el.dataIndex != null) {\n var dataModel = el.dataModel || ecModel.getSeriesByIndex(el.seriesIndex);\n params = dataModel && dataModel.getDataParams(el.dataIndex, el.dataType, el) || {};\n } // If element has custom eventData of components\n else if (el && el.eventData) {\n params = zrUtil.extend({}, el.eventData);\n } // Contract: if params prepared in mouse event,\n // these properties must be specified:\n // {\n // componentType: string (component main type)\n // componentIndex: number\n // }\n // Otherwise event query can not work.\n\n\n if (params) {\n var componentType = params.componentType;\n var componentIndex = params.componentIndex; // Special handling for historic reason: when trigger by\n // markLine/markPoint/markArea, the componentType is\n // 'markLine'/'markPoint'/'markArea', but we should better\n // enable them to be queried by seriesIndex, since their\n // option is set in each series.\n\n if (componentType === 'markLine' || componentType === 'markPoint' || componentType === 'markArea') {\n componentType = 'series';\n componentIndex = params.seriesIndex;\n }\n\n var model = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);\n var view = model && this[model.mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId];\n params.event = e;\n params.type = eveName;\n this._ecEventProcessor.eventInfo = {\n targetEl: el,\n packedEvent: params,\n model: model,\n view: view\n };\n this.trigger(eveName, params);\n }\n }; // Consider that some component (like tooltip, brush, ...)\n // register zr event handler, but user event handler might\n // do anything, such as call `setOption` or `dispatchAction`,\n // which probably update any of the content and probably\n // cause problem if it is called previous other inner handlers.\n\n\n handler.zrEventfulCallAtLast = true;\n\n this._zr.on(eveName, handler, this);\n }, this);\n each(eventActionMap, function (actionType, eventType) {\n this._messageCenter.on(eventType, function (event) {\n this.trigger(eventType, event);\n }, this);\n }, this);\n};\n/**\n * @return {boolean}\n */\n\n\nechartsProto.isDisposed = function () {\n return this._disposed;\n};\n/**\n * Clear\n */\n\n\nechartsProto.clear = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this.setOption({\n series: []\n }, true);\n};\n/**\n * Dispose instance\n */\n\n\nechartsProto.dispose = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._disposed = true;\n modelUtil.setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY, '');\n var api = this._api;\n var ecModel = this._model;\n each(this._componentsViews, function (component) {\n component.dispose(ecModel, api);\n });\n each(this._chartsViews, function (chart) {\n chart.dispose(ecModel, api);\n }); // Dispose after all views disposed\n\n this._zr.dispose();\n\n delete instances[this.id];\n};\n\nzrUtil.mixin(ECharts, Eventful);\n\nfunction disposedWarning(id) {}\n\nfunction updateHoverLayerStatus(ecIns, ecModel) {\n var zr = ecIns._zr;\n var storage = zr.storage;\n var elCount = 0;\n storage.traverse(function (el) {\n elCount++;\n });\n\n if (elCount > ecModel.get('hoverLayerThreshold') && !env.node) {\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.preventUsingHoverLayer) {\n return;\n }\n\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n if (chartView.__alive) {\n chartView.group.traverse(function (el) {\n // Don't switch back.\n el.useHoverLayer = true;\n });\n }\n });\n }\n}\n/**\n * Update chart progressive and blend.\n * @param {module:echarts/model/Series|module:echarts/model/Component} model\n * @param {module:echarts/view/Component|module:echarts/view/Chart} view\n */\n\n\nfunction updateBlend(seriesModel, chartView) {\n var blendMode = seriesModel.get('blendMode') || null;\n chartView.group.traverse(function (el) {\n // FIXME marker and other components\n if (!el.isGroup) {\n // Only set if blendMode is changed. In case element is incremental and don't wan't to rerender.\n if (el.style.blend !== blendMode) {\n el.setStyle('blend', blendMode);\n }\n }\n\n if (el.eachPendingDisplayable) {\n el.eachPendingDisplayable(function (displayable) {\n displayable.setStyle('blend', blendMode);\n });\n }\n });\n}\n/**\n * @param {module:echarts/model/Series|module:echarts/model/Component} model\n * @param {module:echarts/view/Component|module:echarts/view/Chart} view\n */\n\n\nfunction updateZ(model, view) {\n var z = model.get('z');\n var zlevel = model.get('zlevel'); // Set z and zlevel\n\n view.group.traverse(function (el) {\n if (el.type !== 'group') {\n z != null && (el.z = z);\n zlevel != null && (el.zlevel = zlevel);\n }\n });\n}\n\nfunction createExtensionAPI(ecInstance) {\n var coordSysMgr = ecInstance._coordSysMgr;\n return zrUtil.extend(new ExtensionAPI(ecInstance), {\n // Inject methods\n getCoordinateSystems: zrUtil.bind(coordSysMgr.getCoordinateSystems, coordSysMgr),\n getComponentByElement: function (el) {\n while (el) {\n var modelInfo = el.__ecComponentInfo;\n\n if (modelInfo != null) {\n return ecInstance._model.getComponent(modelInfo.mainType, modelInfo.index);\n }\n\n el = el.parent;\n }\n }\n });\n}\n/**\n * @class\n * Usage of query:\n * `chart.on('click', query, handler);`\n * The `query` can be:\n * + The component type query string, only `mainType` or `mainType.subType`,\n * like: 'xAxis', 'series', 'xAxis.category' or 'series.line'.\n * + The component query object, like:\n * `{seriesIndex: 2}`, `{seriesName: 'xx'}`, `{seriesId: 'some'}`,\n * `{xAxisIndex: 2}`, `{xAxisName: 'xx'}`, `{xAxisId: 'some'}`.\n * + The data query object, like:\n * `{dataIndex: 123}`, `{dataType: 'link'}`, `{name: 'some'}`.\n * + The other query object (cmponent customized query), like:\n * `{element: 'some'}` (only available in custom series).\n *\n * Caveat: If a prop in the `query` object is `null/undefined`, it is the\n * same as there is no such prop in the `query` object.\n */\n\n\nfunction EventProcessor() {\n // These info required: targetEl, packedEvent, model, view\n this.eventInfo;\n}\n\nEventProcessor.prototype = {\n constructor: EventProcessor,\n normalizeQuery: function (query) {\n var cptQuery = {};\n var dataQuery = {};\n var otherQuery = {}; // `query` is `mainType` or `mainType.subType` of component.\n\n if (zrUtil.isString(query)) {\n var condCptType = parseClassType(query); // `.main` and `.sub` may be ''.\n\n cptQuery.mainType = condCptType.main || null;\n cptQuery.subType = condCptType.sub || null;\n } // `query` is an object, convert to {mainType, index, name, id}.\n else {\n // `xxxIndex`, `xxxName`, `xxxId`, `name`, `dataIndex`, `dataType` is reserved,\n // can not be used in `compomentModel.filterForExposedEvent`.\n var suffixes = ['Index', 'Name', 'Id'];\n var dataKeys = {\n name: 1,\n dataIndex: 1,\n dataType: 1\n };\n zrUtil.each(query, function (val, key) {\n var reserved = false;\n\n for (var i = 0; i < suffixes.length; i++) {\n var propSuffix = suffixes[i];\n var suffixPos = key.lastIndexOf(propSuffix);\n\n if (suffixPos > 0 && suffixPos === key.length - propSuffix.length) {\n var mainType = key.slice(0, suffixPos); // Consider `dataIndex`.\n\n if (mainType !== 'data') {\n cptQuery.mainType = mainType;\n cptQuery[propSuffix.toLowerCase()] = val;\n reserved = true;\n }\n }\n }\n\n if (dataKeys.hasOwnProperty(key)) {\n dataQuery[key] = val;\n reserved = true;\n }\n\n if (!reserved) {\n otherQuery[key] = val;\n }\n });\n }\n\n return {\n cptQuery: cptQuery,\n dataQuery: dataQuery,\n otherQuery: otherQuery\n };\n },\n filter: function (eventType, query, args) {\n // They should be assigned before each trigger call.\n var eventInfo = this.eventInfo;\n\n if (!eventInfo) {\n return true;\n }\n\n var targetEl = eventInfo.targetEl;\n var packedEvent = eventInfo.packedEvent;\n var model = eventInfo.model;\n var view = eventInfo.view; // For event like 'globalout'.\n\n if (!model || !view) {\n return true;\n }\n\n var cptQuery = query.cptQuery;\n var dataQuery = query.dataQuery;\n return check(cptQuery, model, 'mainType') && check(cptQuery, model, 'subType') && check(cptQuery, model, 'index', 'componentIndex') && check(cptQuery, model, 'name') && check(cptQuery, model, 'id') && check(dataQuery, packedEvent, 'name') && check(dataQuery, packedEvent, 'dataIndex') && check(dataQuery, packedEvent, 'dataType') && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));\n\n function check(query, host, prop, propOnHost) {\n return query[prop] == null || host[propOnHost || prop] === query[prop];\n }\n },\n afterTrigger: function () {\n // Make sure the eventInfo wont be used in next trigger.\n this.eventInfo = null;\n }\n};\n/**\n * @type {Object} key: actionType.\n * @inner\n */\n\nvar actions = {};\n/**\n * Map eventType to actionType\n * @type {Object}\n */\n\nvar eventActionMap = {};\n/**\n * Data processor functions of each stage\n * @type {Array.>}\n * @inner\n */\n\nvar dataProcessorFuncs = [];\n/**\n * @type {Array.}\n * @inner\n */\n\nvar optionPreprocessorFuncs = [];\n/**\n * @type {Array.}\n * @inner\n */\n\nvar postUpdateFuncs = [];\n/**\n * Visual encoding functions of each stage\n * @type {Array.>}\n */\n\nvar visualFuncs = [];\n/**\n * Theme storage\n * @type {Object.}\n */\n\nvar themeStorage = {};\n/**\n * Loading effects\n */\n\nvar loadingEffects = {};\nvar instances = {};\nvar connectedGroups = {};\nvar idBase = new Date() - 0;\nvar groupIdBase = new Date() - 0;\nvar DOM_ATTRIBUTE_KEY = '_echarts_instance_';\n\nfunction enableConnect(chart) {\n var STATUS_PENDING = 0;\n var STATUS_UPDATING = 1;\n var STATUS_UPDATED = 2;\n var STATUS_KEY = '__connectUpdateStatus';\n\n function updateConnectedChartsStatus(charts, status) {\n for (var i = 0; i < charts.length; i++) {\n var otherChart = charts[i];\n otherChart[STATUS_KEY] = status;\n }\n }\n\n each(eventActionMap, function (actionType, eventType) {\n chart._messageCenter.on(eventType, function (event) {\n if (connectedGroups[chart.group] && chart[STATUS_KEY] !== STATUS_PENDING) {\n if (event && event.escapeConnect) {\n return;\n }\n\n var action = chart.makeActionFromEvent(event);\n var otherCharts = [];\n each(instances, function (otherChart) {\n if (otherChart !== chart && otherChart.group === chart.group) {\n otherCharts.push(otherChart);\n }\n });\n updateConnectedChartsStatus(otherCharts, STATUS_PENDING);\n each(otherCharts, function (otherChart) {\n if (otherChart[STATUS_KEY] !== STATUS_UPDATING) {\n otherChart.dispatchAction(action);\n }\n });\n updateConnectedChartsStatus(otherCharts, STATUS_UPDATED);\n }\n });\n });\n}\n/**\n * @param {HTMLElement} dom\n * @param {Object} [theme]\n * @param {Object} opts\n * @param {number} [opts.devicePixelRatio] Use window.devicePixelRatio by default\n * @param {string} [opts.renderer] Can choose 'canvas' or 'svg' to render the chart.\n * @param {number} [opts.width] Use clientWidth of the input `dom` by default.\n * Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Use clientHeight of the input `dom` by default.\n * Can be 'auto' (the same as null/undefined)\n */\n\n\nfunction init(dom, theme, opts) {\n var existInstance = getInstanceByDom(dom);\n\n if (existInstance) {\n return existInstance;\n }\n\n var chart = new ECharts(dom, theme, opts);\n chart.id = 'ec_' + idBase++;\n instances[chart.id] = chart;\n modelUtil.setAttribute(dom, DOM_ATTRIBUTE_KEY, chart.id);\n enableConnect(chart);\n return chart;\n}\n/**\n * @return {string|Array.} groupId\n */\n\n\nfunction connect(groupId) {\n // Is array of charts\n if (zrUtil.isArray(groupId)) {\n var charts = groupId;\n groupId = null; // If any chart has group\n\n each(charts, function (chart) {\n if (chart.group != null) {\n groupId = chart.group;\n }\n });\n groupId = groupId || 'g_' + groupIdBase++;\n each(charts, function (chart) {\n chart.group = groupId;\n });\n }\n\n connectedGroups[groupId] = true;\n return groupId;\n}\n/**\n * @DEPRECATED\n * @return {string} groupId\n */\n\n\nfunction disConnect(groupId) {\n connectedGroups[groupId] = false;\n}\n/**\n * @return {string} groupId\n */\n\n\nvar disconnect = disConnect;\n/**\n * Dispose a chart instance\n * @param {module:echarts~ECharts|HTMLDomElement|string} chart\n */\n\nfunction dispose(chart) {\n if (typeof chart === 'string') {\n chart = instances[chart];\n } else if (!(chart instanceof ECharts)) {\n // Try to treat as dom\n chart = getInstanceByDom(chart);\n }\n\n if (chart instanceof ECharts && !chart.isDisposed()) {\n chart.dispose();\n }\n}\n/**\n * @param {HTMLElement} dom\n * @return {echarts~ECharts}\n */\n\n\nfunction getInstanceByDom(dom) {\n return instances[modelUtil.getAttribute(dom, DOM_ATTRIBUTE_KEY)];\n}\n/**\n * @param {string} key\n * @return {echarts~ECharts}\n */\n\n\nfunction getInstanceById(key) {\n return instances[key];\n}\n/**\n * Register theme\n */\n\n\nfunction registerTheme(name, theme) {\n themeStorage[name] = theme;\n}\n/**\n * Register option preprocessor\n * @param {Function} preprocessorFunc\n */\n\n\nfunction registerPreprocessor(preprocessorFunc) {\n optionPreprocessorFuncs.push(preprocessorFunc);\n}\n/**\n * @param {number} [priority=1000]\n * @param {Object|Function} processor\n */\n\n\nfunction registerProcessor(priority, processor) {\n normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_FILTER);\n}\n/**\n * Register postUpdater\n * @param {Function} postUpdateFunc\n */\n\n\nfunction registerPostUpdate(postUpdateFunc) {\n postUpdateFuncs.push(postUpdateFunc);\n}\n/**\n * Usage:\n * registerAction('someAction', 'someEvent', function () { ... });\n * registerAction('someAction', function () { ... });\n * registerAction(\n * {type: 'someAction', event: 'someEvent', update: 'updateView'},\n * function () { ... }\n * );\n *\n * @param {(string|Object)} actionInfo\n * @param {string} actionInfo.type\n * @param {string} [actionInfo.event]\n * @param {string} [actionInfo.update]\n * @param {string} [eventName]\n * @param {Function} action\n */\n\n\nfunction registerAction(actionInfo, eventName, action) {\n if (typeof eventName === 'function') {\n action = eventName;\n eventName = '';\n }\n\n var actionType = isObject(actionInfo) ? actionInfo.type : [actionInfo, actionInfo = {\n event: eventName\n }][0]; // Event name is all lowercase\n\n actionInfo.event = (actionInfo.event || actionType).toLowerCase();\n eventName = actionInfo.event; // Validate action type and event name.\n\n assert(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));\n\n if (!actions[actionType]) {\n actions[actionType] = {\n action: action,\n actionInfo: actionInfo\n };\n }\n\n eventActionMap[eventName] = actionType;\n}\n/**\n * @param {string} type\n * @param {*} CoordinateSystem\n */\n\n\nfunction registerCoordinateSystem(type, CoordinateSystem) {\n CoordinateSystemManager.register(type, CoordinateSystem);\n}\n/**\n * Get dimensions of specified coordinate system.\n * @param {string} type\n * @return {Array.}\n */\n\n\nfunction getCoordinateSystemDimensions(type) {\n var coordSysCreator = CoordinateSystemManager.get(type);\n\n if (coordSysCreator) {\n return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();\n }\n}\n/**\n * Layout is a special stage of visual encoding\n * Most visual encoding like color are common for different chart\n * But each chart has it's own layout algorithm\n *\n * @param {number} [priority=1000]\n * @param {Function} layoutTask\n */\n\n\nfunction registerLayout(priority, layoutTask) {\n normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, 'layout');\n}\n/**\n * @param {number} [priority=3000]\n * @param {module:echarts/stream/Task} visualTask\n */\n\n\nfunction registerVisual(priority, visualTask) {\n normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, 'visual');\n}\n/**\n * @param {Object|Function} fn: {seriesType, createOnAllSeries, performRawSeries, reset}\n */\n\n\nfunction normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {\n if (isFunction(priority) || isObject(priority)) {\n fn = priority;\n priority = defaultPriority;\n }\n\n var stageHandler = Scheduler.wrapStageHandler(fn, visualType);\n stageHandler.__prio = priority;\n stageHandler.__raw = fn;\n targetList.push(stageHandler);\n return stageHandler;\n}\n/**\n * @param {string} name\n */\n\n\nfunction registerLoading(name, loadingFx) {\n loadingEffects[name] = loadingFx;\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendComponentModel(opts\n/*, superClass*/\n) {\n // var Clazz = ComponentModel;\n // if (superClass) {\n // var classType = parseClassType(superClass);\n // Clazz = ComponentModel.getClass(classType.main, classType.sub, true);\n // }\n return ComponentModel.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendComponentView(opts\n/*, superClass*/\n) {\n // var Clazz = ComponentView;\n // if (superClass) {\n // var classType = parseClassType(superClass);\n // Clazz = ComponentView.getClass(classType.main, classType.sub, true);\n // }\n return ComponentView.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendSeriesModel(opts\n/*, superClass*/\n) {\n // var Clazz = SeriesModel;\n // if (superClass) {\n // superClass = 'series.' + superClass.replace('series.', '');\n // var classType = parseClassType(superClass);\n // Clazz = ComponentModel.getClass(classType.main, classType.sub, true);\n // }\n return SeriesModel.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendChartView(opts\n/*, superClass*/\n) {\n // var Clazz = ChartView;\n // if (superClass) {\n // superClass = superClass.replace('series.', '');\n // var classType = parseClassType(superClass);\n // Clazz = ChartView.getClass(classType.main, true);\n // }\n return ChartView.extend(opts);\n}\n/**\n * ZRender need a canvas context to do measureText.\n * But in node environment canvas may be created by node-canvas.\n * So we need to specify how to create a canvas instead of using document.createElement('canvas')\n *\n * Be careful of using it in the browser.\n *\n * @param {Function} creator\n * @example\n * var Canvas = require('canvas');\n * var echarts = require('echarts');\n * echarts.setCanvasCreator(function () {\n * // Small size is enough.\n * return new Canvas(32, 32);\n * });\n */\n\n\nfunction setCanvasCreator(creator) {\n zrUtil.$override('createCanvas', creator);\n}\n/**\n * @param {string} mapName\n * @param {Array.|Object|string} geoJson\n * @param {Object} [specialAreas]\n *\n * @example GeoJSON\n * $.get('USA.json', function (geoJson) {\n * echarts.registerMap('USA', geoJson);\n * // Or\n * echarts.registerMap('USA', {\n * geoJson: geoJson,\n * specialAreas: {}\n * })\n * });\n *\n * $.get('airport.svg', function (svg) {\n * echarts.registerMap('airport', {\n * svg: svg\n * }\n * });\n *\n * echarts.registerMap('eu', [\n * {svg: eu-topographic.svg},\n * {geoJSON: eu.json}\n * ])\n */\n\n\nfunction registerMap(mapName, geoJson, specialAreas) {\n mapDataStorage.registerMap(mapName, geoJson, specialAreas);\n}\n/**\n * @param {string} mapName\n * @return {Object}\n */\n\n\nfunction getMap(mapName) {\n // For backward compatibility, only return the first one.\n var records = mapDataStorage.retrieveMap(mapName);\n return records && records[0] && {\n geoJson: records[0].geoJSON,\n specialAreas: records[0].specialAreas\n };\n}\n\nregisterVisual(PRIORITY_VISUAL_GLOBAL, seriesColor);\nregisterPreprocessor(backwardCompat);\nregisterProcessor(PRIORITY_PROCESSOR_DATASTACK, dataStack);\nregisterLoading('default', loadingDefault); // Default actions\n\nregisterAction({\n type: 'highlight',\n event: 'highlight',\n update: 'highlight'\n}, zrUtil.noop);\nregisterAction({\n type: 'downplay',\n event: 'downplay',\n update: 'downplay'\n}, zrUtil.noop); // Default theme\n\nregisterTheme('light', lightTheme);\nregisterTheme('dark', darkTheme); // For backward compatibility, where the namespace `dataTool` will\n// be mounted on `echarts` is the extension `dataTool` is imported.\n\nvar dataTool = {};\nexports.version = version;\nexports.dependencies = dependencies;\nexports.PRIORITY = PRIORITY;\nexports.init = init;\nexports.connect = connect;\nexports.disConnect = disConnect;\nexports.disconnect = disconnect;\nexports.dispose = dispose;\nexports.getInstanceByDom = getInstanceByDom;\nexports.getInstanceById = getInstanceById;\nexports.registerTheme = registerTheme;\nexports.registerPreprocessor = registerPreprocessor;\nexports.registerProcessor = registerProcessor;\nexports.registerPostUpdate = registerPostUpdate;\nexports.registerAction = registerAction;\nexports.registerCoordinateSystem = registerCoordinateSystem;\nexports.getCoordinateSystemDimensions = getCoordinateSystemDimensions;\nexports.registerLayout = registerLayout;\nexports.registerVisual = registerVisual;\nexports.registerLoading = registerLoading;\nexports.extendComponentModel = extendComponentModel;\nexports.extendComponentView = extendComponentView;\nexports.extendSeriesModel = extendSeriesModel;\nexports.extendChartView = extendChartView;\nexports.setCanvasCreator = setCanvasCreator;\nexports.registerMap = registerMap;\nexports.getMap = getMap;\nexports.dataTool = dataTool;\nvar ___ec_export = __webpack_require__(412);\n(function () {\n for (var key in ___ec_export) {\n if (___ec_export.hasOwnProperty(key)) {\n exports[key] = ___ec_export[key];\n }\n }\n})();\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSpriteSymbol = factory());\n}(this, (function () { 'use strict';\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (false) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '"');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"\" + content + \"\");\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nreturn BrowserSpriteSymbol;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(54)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSprite = factory());\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (false) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '"');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"\" + content + \"\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n attrs: ( obj = {\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n 'aria-hidden': 'true'\n }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n this.config = deepmerge(defaultConfig, config || {});\n this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n var ref = this;\n var symbols = ref.symbols;\n var existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n var ref = this;\n var symbols = ref.symbols;\n var symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n var ref = this.config;\n var attrs = ref.attrs;\n var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar browser = {\n isChrome: function () { return /chrome/i.test(navigator.userAgent); },\n isFirefox: function () { return /firefox/i.test(navigator.userAgent); },\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },\n isEdge: function () { return /edge/i.test(navigator.userAgent); }\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate in svg, where nodeName is 'style',\n // CSS classes is defined globally wherever the style tags are declared.\n\n if (nodeName === 'defs') {\n // define flag\n this._isDefine = true;\n } else if (nodeName === 'text') {\n this._isText = true;\n }\n\n var el;\n\n if (this._isDefine) {\n var parser = defineParsers[nodeName];\n\n if (parser) {\n var def = parser.call(this, xmlNode);\n var id = xmlNode.getAttribute('id');\n\n if (id) {\n this._defs[id] = def;\n }\n }\n } else {\n var parser = nodeParsers[nodeName];\n\n if (parser) {\n el = parser.call(this, xmlNode, parentGroup);\n parentGroup.add(el);\n }\n }\n\n var child = xmlNode.firstChild;\n\n while (child) {\n if (child.nodeType === 1) {\n this._parseNode(child, el);\n } // Is text\n\n\n if (child.nodeType === 3 && this._isText) {\n this._parseText(child, el);\n }\n\n child = child.nextSibling;\n } // Quit define\n\n\n if (nodeName === 'defs') {\n this._isDefine = false;\n } else if (nodeName === 'text') {\n this._isText = false;\n }\n};\n\nSVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n if (xmlNode.nodeType === 1) {\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX += parseFloat(dx);\n this._textY += parseFloat(dy);\n }\n\n var text = new Text({\n style: {\n text: xmlNode.textContent,\n transformText: true\n },\n position: [this._textX || 0, this._textY || 0]\n });\n inheritStyle(parentGroup, text);\n parseAttributes(xmlNode, text, this._defs);\n var fontSize = text.style.fontSize;\n\n if (fontSize && fontSize < 9) {\n // PENDING\n text.style.fontSize = 9;\n text.scale = text.scale || [1, 1];\n text.scale[0] *= fontSize / 9;\n text.scale[1] *= fontSize / 9;\n }\n\n var rect = text.getBoundingRect();\n this._textX += rect.width;\n parentGroup.add(text);\n return text;\n};\n\nvar nodeParsers = {\n 'g': function (xmlNode, parentGroup) {\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'rect': function (xmlNode, parentGroup) {\n var rect = new Rect();\n inheritStyle(parentGroup, rect);\n parseAttributes(xmlNode, rect, this._defs);\n rect.setShape({\n x: parseFloat(xmlNode.getAttribute('x') || 0),\n y: parseFloat(xmlNode.getAttribute('y') || 0),\n width: parseFloat(xmlNode.getAttribute('width') || 0),\n height: parseFloat(xmlNode.getAttribute('height') || 0)\n }); // console.log(xmlNode.getAttribute('transform'));\n // console.log(rect.transform);\n\n return rect;\n },\n 'circle': function (xmlNode, parentGroup) {\n var circle = new Circle();\n inheritStyle(parentGroup, circle);\n parseAttributes(xmlNode, circle, this._defs);\n circle.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || 0),\n cy: parseFloat(xmlNode.getAttribute('cy') || 0),\n r: parseFloat(xmlNode.getAttribute('r') || 0)\n });\n return circle;\n },\n 'line': function (xmlNode, parentGroup) {\n var line = new Line();\n inheritStyle(parentGroup, line);\n parseAttributes(xmlNode, line, this._defs);\n line.setShape({\n x1: parseFloat(xmlNode.getAttribute('x1') || 0),\n y1: parseFloat(xmlNode.getAttribute('y1') || 0),\n x2: parseFloat(xmlNode.getAttribute('x2') || 0),\n y2: parseFloat(xmlNode.getAttribute('y2') || 0)\n });\n return line;\n },\n 'ellipse': function (xmlNode, parentGroup) {\n var ellipse = new Ellipse();\n inheritStyle(parentGroup, ellipse);\n parseAttributes(xmlNode, ellipse, this._defs);\n ellipse.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || 0),\n cy: parseFloat(xmlNode.getAttribute('cy') || 0),\n rx: parseFloat(xmlNode.getAttribute('rx') || 0),\n ry: parseFloat(xmlNode.getAttribute('ry') || 0)\n });\n return ellipse;\n },\n 'polygon': function (xmlNode, parentGroup) {\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polygon = new Polygon({\n shape: {\n points: points || []\n }\n });\n inheritStyle(parentGroup, polygon);\n parseAttributes(xmlNode, polygon, this._defs);\n return polygon;\n },\n 'polyline': function (xmlNode, parentGroup) {\n var path = new Path();\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polyline = new Polyline({\n shape: {\n points: points || []\n }\n });\n return polyline;\n },\n 'image': function (xmlNode, parentGroup) {\n var img = new ZImage();\n inheritStyle(parentGroup, img);\n parseAttributes(xmlNode, img, this._defs);\n img.setStyle({\n image: xmlNode.getAttribute('xlink:href'),\n x: xmlNode.getAttribute('x'),\n y: xmlNode.getAttribute('y'),\n width: xmlNode.getAttribute('width'),\n height: xmlNode.getAttribute('height')\n });\n return img;\n },\n 'text': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x') || 0;\n var y = xmlNode.getAttribute('y') || 0;\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX = parseFloat(x) + parseFloat(dx);\n this._textY = parseFloat(y) + parseFloat(dy);\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'tspan': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x');\n var y = xmlNode.getAttribute('y');\n\n if (x != null) {\n // new offset x\n this._textX = parseFloat(x);\n }\n\n if (y != null) {\n // new offset y\n this._textY = parseFloat(y);\n }\n\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n this._textX += dx;\n this._textY += dy;\n return g;\n },\n 'path': function (xmlNode, parentGroup) {\n // TODO svg fill rule\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\n // path.style.globalCompositeOperation = 'xor';\n var d = xmlNode.getAttribute('d') || ''; // Performance sensitive.\n\n var path = createFromString(d);\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n return path;\n }\n};\nvar defineParsers = {\n 'lineargradient': function (xmlNode) {\n var x1 = parseInt(xmlNode.getAttribute('x1') || 0, 10);\n var y1 = parseInt(xmlNode.getAttribute('y1') || 0, 10);\n var x2 = parseInt(xmlNode.getAttribute('x2') || 10, 10);\n var y2 = parseInt(xmlNode.getAttribute('y2') || 0, 10);\n var gradient = new LinearGradient(x1, y1, x2, y2);\n\n _parseGradientColorStops(xmlNode, gradient);\n\n return gradient;\n },\n 'radialgradient': function (xmlNode) {}\n};\n\nfunction _parseGradientColorStops(xmlNode, gradient) {\n var stop = xmlNode.firstChild;\n\n while (stop) {\n if (stop.nodeType === 1) {\n var offset = stop.getAttribute('offset');\n\n if (offset.indexOf('%') > 0) {\n // percentage\n offset = parseInt(offset, 10) / 100;\n } else if (offset) {\n // number from 0 to 1\n offset = parseFloat(offset);\n } else {\n offset = 0;\n }\n\n var stopColor = stop.getAttribute('stop-color') || '#000000';\n gradient.addColorStop(offset, stopColor);\n }\n\n stop = stop.nextSibling;\n }\n}\n\nfunction inheritStyle(parent, child) {\n if (parent && parent.__inheritedStyle) {\n if (!child.__inheritedStyle) {\n child.__inheritedStyle = {};\n }\n\n defaults(child.__inheritedStyle, parent.__inheritedStyle);\n }\n}\n\nfunction parsePoints(pointsString) {\n var list = trim(pointsString).split(DILIMITER_REG);\n var points = [];\n\n for (var i = 0; i < list.length; i += 2) {\n var x = parseFloat(list[i]);\n var y = parseFloat(list[i + 1]);\n points.push([x, y]);\n }\n\n return points;\n}\n\nvar attributesMap = {\n 'fill': 'fill',\n 'stroke': 'stroke',\n 'stroke-width': 'lineWidth',\n 'opacity': 'opacity',\n 'fill-opacity': 'fillOpacity',\n 'stroke-opacity': 'strokeOpacity',\n 'stroke-dasharray': 'lineDash',\n 'stroke-dashoffset': 'lineDashOffset',\n 'stroke-linecap': 'lineCap',\n 'stroke-linejoin': 'lineJoin',\n 'stroke-miterlimit': 'miterLimit',\n 'font-family': 'fontFamily',\n 'font-size': 'fontSize',\n 'font-style': 'fontStyle',\n 'font-weight': 'fontWeight',\n 'text-align': 'textAlign',\n 'alignment-baseline': 'textBaseline'\n};\n\nfunction parseAttributes(xmlNode, el, defs, onlyInlineStyle) {\n var zrStyle = el.__inheritedStyle || {};\n var isTextEl = el.type === 'text'; // TODO Shadow\n\n if (xmlNode.nodeType === 1) {\n parseTransformAttribute(xmlNode, el);\n extend(zrStyle, parseStyleAttribute(xmlNode));\n\n if (!onlyInlineStyle) {\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName)) {\n var attrValue = xmlNode.getAttribute(svgAttrName);\n\n if (attrValue != null) {\n zrStyle[attributesMap[svgAttrName]] = attrValue;\n }\n }\n }\n }\n }\n\n var elFillProp = isTextEl ? 'textFill' : 'fill';\n var elStrokeProp = isTextEl ? 'textStroke' : 'stroke';\n el.style = el.style || new Style();\n var elStyle = el.style;\n zrStyle.fill != null && elStyle.set(elFillProp, getPaint(zrStyle.fill, defs));\n zrStyle.stroke != null && elStyle.set(elStrokeProp, getPaint(zrStyle.stroke, defs));\n each(['lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'], function (propName) {\n var elPropName = propName === 'lineWidth' && isTextEl ? 'textStrokeWidth' : propName;\n zrStyle[propName] != null && elStyle.set(elPropName, parseFloat(zrStyle[propName]));\n });\n\n if (!zrStyle.textBaseline || zrStyle.textBaseline === 'auto') {\n zrStyle.textBaseline = 'alphabetic';\n }\n\n if (zrStyle.textBaseline === 'alphabetic') {\n zrStyle.textBaseline = 'bottom';\n }\n\n if (zrStyle.textAlign === 'start') {\n zrStyle.textAlign = 'left';\n }\n\n if (zrStyle.textAlign === 'end') {\n zrStyle.textAlign = 'right';\n }\n\n each(['lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign', 'textBaseline'], function (propName) {\n zrStyle[propName] != null && elStyle.set(propName, zrStyle[propName]);\n });\n\n if (zrStyle.lineDash) {\n el.style.lineDash = trim(zrStyle.lineDash).split(DILIMITER_REG);\n }\n\n if (elStyle[elStrokeProp] && elStyle[elStrokeProp] !== 'none') {\n // enable stroke\n el[elStrokeProp] = true;\n }\n\n el.__inheritedStyle = zrStyle;\n}\n\nvar urlRegex = /url\\(\\s*#(.*?)\\)/;\n\nfunction getPaint(str, defs) {\n // if (str === 'none') {\n // return;\n // }\n var urlMatch = defs && str && str.match(urlRegex);\n\n if (urlMatch) {\n var url = trim(urlMatch[1]);\n var def = defs[url];\n return def;\n }\n\n return str;\n}\n\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.e,]*)\\)/g;\n\nfunction parseTransformAttribute(xmlNode, node) {\n var transform = xmlNode.getAttribute('transform');\n\n if (transform) {\n transform = transform.replace(/,/g, ' ');\n var m = null;\n var transformOps = [];\n transform.replace(transformRegex, function (str, type, value) {\n transformOps.push(type, value);\n });\n\n for (var i = transformOps.length - 1; i > 0; i -= 2) {\n var value = transformOps[i];\n var type = transformOps[i - 1];\n m = m || matrix.create();\n\n switch (type) {\n case 'translate':\n value = trim(value).split(DILIMITER_REG);\n matrix.translate(m, m, [parseFloat(value[0]), parseFloat(value[1] || 0)]);\n break;\n\n case 'scale':\n value = trim(value).split(DILIMITER_REG);\n matrix.scale(m, m, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);\n break;\n\n case 'rotate':\n value = trim(value).split(DILIMITER_REG);\n matrix.rotate(m, m, parseFloat(value[0]));\n break;\n\n case 'skew':\n value = trim(value).split(DILIMITER_REG);\n console.warn('Skew transform is not supported yet');\n break;\n\n case 'matrix':\n var value = trim(value).split(DILIMITER_REG);\n m[0] = parseFloat(value[0]);\n m[1] = parseFloat(value[1]);\n m[2] = parseFloat(value[2]);\n m[3] = parseFloat(value[3]);\n m[4] = parseFloat(value[4]);\n m[5] = parseFloat(value[5]);\n break;\n }\n }\n\n node.setLocalTransform(m);\n }\n} // Value may contain space.\n\n\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\n\nfunction parseStyleAttribute(xmlNode) {\n var style = xmlNode.getAttribute('style');\n var result = {};\n\n if (!style) {\n return result;\n }\n\n var styleList = {};\n styleRegex.lastIndex = 0;\n var styleRegResult;\n\n while ((styleRegResult = styleRegex.exec(style)) != null) {\n styleList[styleRegResult[1]] = styleRegResult[2];\n }\n\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName) && styleList[svgAttrName] != null) {\n result[attributesMap[svgAttrName]] = styleList[svgAttrName];\n }\n }\n\n return result;\n}\n/**\n * @param {Array.} viewBoxRect\n * @param {number} width\n * @param {number} height\n * @return {Object} {scale, position}\n */\n\n\nfunction makeViewBoxTransform(viewBoxRect, width, height) {\n var scaleX = width / viewBoxRect.width;\n var scaleY = height / viewBoxRect.height;\n var scale = Math.min(scaleX, scaleY); // preserveAspectRatio 'xMidYMid'\n\n var viewBoxScale = [scale, scale];\n var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale + height / 2];\n return {\n scale: viewBoxScale,\n position: viewBoxPosition\n };\n}\n/**\n * @param {string|XMLElement} xml\n * @param {Object} [opt]\n * @param {number} [opt.width] Default width if svg width not specified or is a percent value.\n * @param {number} [opt.height] Default height if svg height not specified or is a percent value.\n * @param {boolean} [opt.ignoreViewBox]\n * @param {boolean} [opt.ignoreRootClip]\n * @return {Object} result:\n * {\n * root: Group, The root of the the result tree of zrender shapes,\n * width: number, the viewport width of the SVG,\n * height: number, the viewport height of the SVG,\n * viewBoxRect: {x, y, width, height}, the declared viewBox rect of the SVG, if exists,\n * viewBoxTransform: the {scale, position} calculated by viewBox and viewport, is exists.\n * }\n */\n\n\nfunction parseSVG(xml, opt) {\n var parser = new SVGParser();\n return parser.parse(xml, opt);\n}\n\nexports.parseXML = parseXML;\nexports.makeViewBoxTransform = makeViewBoxTransform;\nexports.parseSVG = parseSVG;\n\n/***/ }),\n/* 453 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Path = __webpack_require__(21);\n\nvar PathProxy = __webpack_require__(123);\n\nvar transformPath = __webpack_require__(1476);\n\n// command chars\n// var cc = [\n// 'm', 'M', 'l', 'L', 'v', 'V', 'h', 'H', 'z', 'Z',\n// 'c', 'C', 'q', 'Q', 't', 'T', 's', 'S', 'a', 'A'\n// ];\nvar mathSqrt = Math.sqrt;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\n\nvar vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n};\n\nvar vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n};\n\nvar vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n};\n\nfunction processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {\n var psi = psiDeg * (PI / 180.0);\n var xp = mathCos(psi) * (x1 - x2) / 2.0 + mathSin(psi) * (y1 - y2) / 2.0;\n var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0 + mathCos(psi) * (y1 - y2) / 2.0;\n var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);\n\n if (lambda > 1) {\n rx *= mathSqrt(lambda);\n ry *= mathSqrt(lambda);\n }\n\n var f = (fa === fs ? -1 : 1) * mathSqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;\n var cxp = f * rx * yp / ry;\n var cyp = f * -ry * xp / rx;\n var cx = (x1 + x2) / 2.0 + mathCos(psi) * cxp - mathSin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + mathSin(psi) * cxp + mathCos(psi) * cyp;\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n\n if (vRatio(u, v) <= -1) {\n dTheta = PI;\n }\n\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * PI;\n }\n\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * PI;\n }\n\n path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);\n}\n\nvar commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; // Consider case:\n// (1) delimiter can be comma or space, where continuous commas\n// or spaces should be seen as one comma.\n// (2) value can be like:\n// '2e-4', 'l.5.9' (ignore 0), 'M-10-10', 'l-2.43e-1,34.9983',\n// 'l-.5E1,54', '121-23-44-11' (no delimiter)\n\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g; // var valueSplitReg = /[\\s,]+/;\n\nfunction createPathProxyFromString(data) {\n if (!data) {\n return new PathProxy();\n } // var data = data.replace(/-/g, ' -')\n // .replace(/ /g, ' ')\n // .replace(/ /g, ',')\n // .replace(/,,/g, ',');\n // var n;\n // create pipes so that we can split the data\n // for (n = 0; n < cc.length; n++) {\n // cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n // }\n // data = data.replace(/-/g, ',-');\n // create array\n // var arr = cs.split('|');\n // init context point\n\n\n var cpx = 0;\n var cpy = 0;\n var subpathX = cpx;\n var subpathY = cpy;\n var prevCmd;\n var path = new PathProxy();\n var CMD = PathProxy.CMD; // commandReg.lastIndex = 0;\n // var cmdResult;\n // while ((cmdResult = commandReg.exec(data)) != null) {\n // var cmdStr = cmdResult[1];\n // var cmdContent = cmdResult[2];\n\n var cmdList = data.match(commandReg);\n\n for (var l = 0; l < cmdList.length; l++) {\n var cmdText = cmdList[l];\n var cmdStr = cmdText.charAt(0);\n var cmd; // String#split is faster a little bit than String#replace or RegExp#exec.\n // var p = cmdContent.split(valueSplitReg);\n // var pLen = 0;\n // for (var i = 0; i < p.length; i++) {\n // // '' and other invalid str => NaN\n // var val = parseFloat(p[i]);\n // !isNaN(val) && (p[pLen++] = val);\n // }\n\n var p = cmdText.match(numberReg) || [];\n var pLen = p.length;\n\n for (var i = 0; i < pLen; i++) {\n p[i] = parseFloat(p[i]);\n }\n\n var off = 0;\n\n while (off < pLen) {\n var ctlPtx;\n var ctlPty;\n var rx;\n var ry;\n var psi;\n var fa;\n var fs;\n var x1 = cpx;\n var y1 = cpy; // convert l, H, h, V, and v to L\n\n switch (cmdStr) {\n case 'l':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'L':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'm':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'l';\n break;\n\n case 'M':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'L';\n break;\n\n case 'h':\n cpx += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'H':\n cpx = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'v':\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'V':\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'C':\n cmd = CMD.C;\n path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);\n cpx = p[off - 2];\n cpy = p[off - 1];\n break;\n\n case 'c':\n cmd = CMD.C;\n path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);\n cpx += p[off - 2];\n cpy += p[off - 1];\n break;\n\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cmd = CMD.C;\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cmd = CMD.C;\n x1 = cpx + p[off++];\n y1 = cpy + p[off++];\n cpx += p[off++];\n cpy += p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n\n case 'Q':\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n\n case 'q':\n x1 = p[off++] + cpx;\n y1 = p[off++] + cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 'A':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n\n case 'a':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n }\n }\n\n if (cmdStr === 'z' || cmdStr === 'Z') {\n cmd = CMD.Z;\n path.addData(cmd); // z may be in the middle of the path.\n\n cpx = subpathX;\n cpy = subpathY;\n }\n\n prevCmd = cmd;\n }\n\n path.toStatic();\n return path;\n} // TODO Optimize double memory cost problem\n\n\nfunction createPathOptions(str, opts) {\n var pathProxy = createPathProxyFromString(str);\n opts = opts || {};\n\n opts.buildPath = function (path) {\n if (path.setData) {\n path.setData(pathProxy.data); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n } else {\n var ctx = path;\n pathProxy.rebuildPath(ctx);\n }\n };\n\n opts.applyTransform = function (m) {\n transformPath(pathProxy, m);\n this.dirty(true);\n };\n\n return opts;\n}\n/**\n * Create a Path object from path string data\n * http://www.w3.org/TR/SVG/paths.html#PathData\n * @param {Object} opts Other options\n */\n\n\nfunction createFromString(str, opts) {\n return new Path(createPathOptions(str, opts));\n}\n/**\n * Create a Path class from path string data\n * @param {string} str\n * @param {Object} opts Other options\n */\n\n\nfunction extendFromString(str, opts) {\n return Path.extend(createPathOptions(str, opts));\n}\n/**\n * Merge multiple paths\n */\n// TODO Apply transform\n// TODO stroke dash\n// TODO Optimize double memory cost problem\n\n\nfunction mergePath(pathEls, opts) {\n var pathList = [];\n var len = pathEls.length;\n\n for (var i = 0; i < len; i++) {\n var pathEl = pathEls[i];\n\n if (!pathEl.path) {\n pathEl.createPathProxy();\n }\n\n if (pathEl.__dirtyPath) {\n pathEl.buildPath(pathEl.path, pathEl.shape, true);\n }\n\n pathList.push(pathEl.path);\n }\n\n var pathBundle = new Path(opts); // Need path proxy.\n\n pathBundle.createPathProxy();\n\n pathBundle.buildPath = function (path) {\n path.appendPath(pathList); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n };\n\n return pathBundle;\n}\n\nexports.createFromString = createFromString;\nexports.extendFromString = extendFromString;\nexports.mergePath = mergePath;\n\n/***/ }),\n/* 454 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar env = __webpack_require__(23);\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;\n\n/***/ }),\n/* 455 */,\n/* 456 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n__webpack_require__(855);\n\n__webpack_require__(1196);\n\n__webpack_require__(625);\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});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(54)))\n\n/***/ }),\n/* 457 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(64);\nvar core = __webpack_require__(30);\nvar fails = __webpack_require__(109);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 458 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(125);\nvar call = __webpack_require__(314);\nvar isArrayIter = __webpack_require__(313);\nvar anObject = __webpack_require__(73);\nvar toLength = __webpack_require__(195);\nvar getIterFn = __webpack_require__(292);\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\n\n/***/ }),\n/* 459 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(156)('meta');\nvar isObject = __webpack_require__(83);\nvar has = __webpack_require__(85);\nvar setDesc = __webpack_require__(66).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(109)(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/***/ }),\n/* 460 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(630), __esModule: true };\n\n/***/ }),\n/* 461 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 462 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(84);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n/***/ }),\n/* 463 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(620);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n/***/ }),\n/* 464 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(632), __esModule: true };\n\n/***/ }),\n/* 465 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(633), __esModule: true };\n\n/***/ }),\n/* 466 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(128);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 467 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 468 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(155);\nvar createDesc = __webpack_require__(132);\nvar toIObject = __webpack_require__(110);\nvar toPrimitive = __webpack_require__(210);\nvar has = __webpack_require__(85);\nvar IE8_DOM_DEFINE = __webpack_require__(312);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(65) ? 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/***/ }),\n/* 469 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(110);\nvar gOPN = __webpack_require__(297).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\n\n/***/ }),\n/* 470 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(85);\nvar toObject = __webpack_require__(127);\nvar IE_PROTO = __webpack_require__(207)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 471 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(33);\nvar core = __webpack_require__(30);\nvar dP = __webpack_require__(66);\nvar DESCRIPTORS = __webpack_require__(65);\nvar SPECIES = __webpack_require__(35)('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 472 */,\n/* 473 */,\n/* 474 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(293);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(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/***/ }),\n/* 475 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n(function () {\n for (var key in _echarts) {\n if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;\n exports[key] = _echarts[key];\n }\n})();\n\nvar _export = __webpack_require__(412);\n\n(function () {\n for (var key in _export) {\n if (_export == null || !_export.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;\n exports[key] = _export[key];\n }\n})();\n\n__webpack_require__(381);\n\n__webpack_require__(907);\n\n__webpack_require__(856);\n\n__webpack_require__(927);\n\n__webpack_require__(943);\n\n__webpack_require__(932);\n\n__webpack_require__(915);\n\n__webpack_require__(957);\n\n__webpack_require__(963);\n\n__webpack_require__(885);\n\n__webpack_require__(881);\n\n__webpack_require__(877);\n\n__webpack_require__(922);\n\n__webpack_require__(937);\n\n__webpack_require__(862);\n\n__webpack_require__(867);\n\n__webpack_require__(874);\n\n__webpack_require__(911);\n\n__webpack_require__(898);\n\n__webpack_require__(926);\n\n__webpack_require__(952);\n\n__webpack_require__(946);\n\n__webpack_require__(873);\n\n__webpack_require__(1004);\n\n__webpack_require__(1021);\n\n__webpack_require__(1001);\n\n__webpack_require__(391);\n\n__webpack_require__(390);\n\n__webpack_require__(989);\n\n__webpack_require__(1003);\n\n__webpack_require__(1035);\n\n__webpack_require__(1044);\n\n__webpack_require__(140);\n\n__webpack_require__(983);\n\n__webpack_require__(1034);\n\n__webpack_require__(1025);\n\n__webpack_require__(1013);\n\n__webpack_require__(1012);\n\n__webpack_require__(1011);\n\n__webpack_require__(1005);\n\n__webpack_require__(387);\n\n__webpack_require__(991);\n\n__webpack_require__(378);\n\n__webpack_require__(379);\n\n__webpack_require__(1049);\n\n__webpack_require__(392);\n\n__webpack_require__(393);\n\n__webpack_require__(1479);\n\n__webpack_require__(1475);\n\n/***/ }),\n/* 476 */,\n/* 477 */,\n/* 478 */,\n/* 479 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__validator___ = __webpack_require__(491);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__messages__ = __webpack_require__(480);\n\n\n\n\n\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 = __WEBPACK_IMPORTED_MODULE_4__messages__[\"a\" /* messages */];\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* deepMerge */])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__messages__[\"b\" /* 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' : __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(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 === __WEBPACK_IMPORTED_MODULE_4__messages__[\"a\" /* messages */]) {\n messages = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__messages__[\"b\" /* newMessages */])();\n }\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"a\" /* 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 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, 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 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, 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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"b\" /* asyncMap */])(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(rule.fields) === 'object' || __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(rule.defaultField) === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n function addFullfield(key, schema) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, 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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"c\" /* warning */])('async-validator:', errors);\n }\n if (errors.length && rule.message) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* 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(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* complementError */])(rule));\n } else if (options.error) {\n errors = [options.error(rule, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"e\" /* 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 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, 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 && !__WEBPACK_IMPORTED_MODULE_3__validator___[\"a\" /* default */].hasOwnProperty(rule.type)) {\n throw new Error(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__[\"e\" /* 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 __WEBPACK_IMPORTED_MODULE_3__validator___[\"a\" /* default */].required;\n }\n return __WEBPACK_IMPORTED_MODULE_3__validator___[\"a\" /* default */][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 __WEBPACK_IMPORTED_MODULE_3__validator___[\"a\" /* default */][type] = validator;\n};\n\nSchema.messages = __WEBPACK_IMPORTED_MODULE_4__messages__[\"a\" /* messages */];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Schema);\n\n/***/ }),\n/* 480 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = newMessages;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return messages; });\nfunction 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\nvar messages = newMessages();\n\n/***/ }),\n/* 481 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(24);\n\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(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (enumerable);\n\n/***/ }),\n/* 482 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(24);\n\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(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* 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(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (pattern);\n\n/***/ }),\n/* 483 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(24);\n\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(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (range);\n\n/***/ }),\n/* 484 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__required__ = __webpack_require__(300);\n\n\n\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' : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default()(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__required__[\"a\" /* default */])(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(__WEBPACK_IMPORTED_MODULE_1__util__[\"e\" /* format */](options.messages.types[ruleType], rule.fullField, rule.type));\n }\n // straight typeof check\n } else if (ruleType && (typeof value === 'undefined' ? 'undefined' : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default()(value)) !== rule.type) {\n errors.push(__WEBPACK_IMPORTED_MODULE_1__util__[\"e\" /* format */](options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (type);\n\n/***/ }),\n/* 485 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(24);\n\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(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* format */](options.messages.whitespace, rule.fullField));\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (whitespace);\n\n/***/ }),\n/* 486 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, 'array') && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options, 'array');\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, 'array')) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (array);\n\n/***/ }),\n/* 487 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rule___ = __webpack_require__(34);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_1__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value !== undefined) {\n __WEBPACK_IMPORTED_MODULE_1__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (boolean);\n\n/***/ }),\n/* 488 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* 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 __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, dateObject, source, errors, options);\n if (dateObject) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (date);\n\n/***/ }),\n/* 489 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */][ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (enumerable);\n\n/***/ }),\n/* 490 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value !== undefined) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (floatFn);\n\n/***/ }),\n/* 491 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__string__ = __webpack_require__(499);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__method__ = __webpack_require__(493);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__number__ = __webpack_require__(494);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__boolean__ = __webpack_require__(487);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__regexp__ = __webpack_require__(497);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__integer__ = __webpack_require__(492);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__float__ = __webpack_require__(490);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__array__ = __webpack_require__(486);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__object__ = __webpack_require__(495);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__enum__ = __webpack_require__(489);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__pattern__ = __webpack_require__(496);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__date__ = __webpack_require__(488);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__required__ = __webpack_require__(498);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__type__ = __webpack_require__(500);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n string: __WEBPACK_IMPORTED_MODULE_0__string__[\"a\" /* default */],\n method: __WEBPACK_IMPORTED_MODULE_1__method__[\"a\" /* default */],\n number: __WEBPACK_IMPORTED_MODULE_2__number__[\"a\" /* default */],\n boolean: __WEBPACK_IMPORTED_MODULE_3__boolean__[\"a\" /* default */],\n regexp: __WEBPACK_IMPORTED_MODULE_4__regexp__[\"a\" /* default */],\n integer: __WEBPACK_IMPORTED_MODULE_5__integer__[\"a\" /* default */],\n float: __WEBPACK_IMPORTED_MODULE_6__float__[\"a\" /* default */],\n array: __WEBPACK_IMPORTED_MODULE_7__array__[\"a\" /* default */],\n object: __WEBPACK_IMPORTED_MODULE_8__object__[\"a\" /* default */],\n 'enum': __WEBPACK_IMPORTED_MODULE_9__enum__[\"a\" /* default */],\n pattern: __WEBPACK_IMPORTED_MODULE_10__pattern__[\"a\" /* default */],\n date: __WEBPACK_IMPORTED_MODULE_11__date__[\"a\" /* default */],\n url: __WEBPACK_IMPORTED_MODULE_13__type__[\"a\" /* default */],\n hex: __WEBPACK_IMPORTED_MODULE_13__type__[\"a\" /* default */],\n email: __WEBPACK_IMPORTED_MODULE_13__type__[\"a\" /* default */],\n required: __WEBPACK_IMPORTED_MODULE_12__required__[\"a\" /* default */]\n});\n\n/***/ }),\n/* 492 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value !== undefined) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (integer);\n\n/***/ }),\n/* 493 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value !== undefined) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (method);\n\n/***/ }),\n/* 494 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value !== undefined) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (number);\n\n/***/ }),\n/* 495 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (value !== undefined) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (object);\n\n/***/ }),\n/* 496 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, 'string') && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, 'string')) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (pattern);\n\n/***/ }),\n/* 497 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options);\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value)) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (regexp);\n\n/***/ }),\n/* 498 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rule___ = __webpack_require__(34);\n\n\n\nfunction required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value === 'undefined' ? 'undefined' : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default()(value);\n __WEBPACK_IMPORTED_MODULE_1__rule___[\"a\" /* default */].required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (required);\n\n/***/ }),\n/* 499 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, 'string') && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options, 'string');\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, 'string')) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].range(rule, value, source, errors, options);\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (string);\n\n/***/ }),\n/* 500 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rule___ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(24);\n\n\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 (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, ruleType) && !rule.required) {\n return callback();\n }\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].required(rule, value, source, errors, options, ruleType);\n if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* isEmptyValue */])(value, ruleType)) {\n __WEBPACK_IMPORTED_MODULE_0__rule___[\"a\" /* default */].type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (type);\n\n/***/ }),\n/* 501 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(502);\n\n/***/ }),\n/* 502 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\nvar bind = __webpack_require__(305);\nvar Axios = __webpack_require__(504);\nvar defaults = __webpack_require__(198);\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(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(302);\naxios.CancelToken = __webpack_require__(503);\naxios.isCancel = __webpack_require__(303);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(518);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 503 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(302);\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/***/ }),\n/* 504 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar defaults = __webpack_require__(198);\nvar utils = __webpack_require__(39);\nvar InterceptorManager = __webpack_require__(505);\nvar dispatchRequest = __webpack_require__(506);\nvar isAbsoluteURL = __webpack_require__(514);\nvar combineURLs = __webpack_require__(512);\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 = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, this.defaults, { method: 'get' }, config);\n config.method = config.method.toLowerCase();\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\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\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\n\n/***/ }),\n/* 505 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 506 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\nvar transformData = __webpack_require__(509);\nvar isCancel = __webpack_require__(303);\nvar defaults = __webpack_require__(198);\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n/***/ }),\n/* 507 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n/***/ }),\n/* 508 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(304);\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n/***/ }),\n/* 509 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\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\n\n/***/ }),\n/* 510 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n/***/ }),\n/* 511 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n }\n\n if (!utils.isArray(val)) {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n/***/ }),\n/* 512 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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/***/ }),\n/* 513 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\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/***/ }),\n/* 514 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\n\n/***/ }),\n/* 515 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n/***/ }),\n/* 516 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\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\n\n/***/ }),\n/* 517 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(39);\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 parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n\n\n/***/ }),\n/* 518 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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/***/ }),\n/* 519 */,\n/* 520 */,\n/* 521 */,\n/* 522 */,\n/* 523 */,\n/* 524 */,\n/* 525 */,\n/* 526 */,\n/* 527 */,\n/* 528 */,\n/* 529 */,\n/* 530 */,\n/* 531 */,\n/* 532 */,\n/* 533 */,\n/* 534 */,\n/* 535 */,\n/* 536 */,\n/* 537 */,\n/* 538 */,\n/* 539 */,\n/* 540 */,\n/* 541 */,\n/* 542 */,\n/* 543 */,\n/* 544 */,\n/* 545 */,\n/* 546 */,\n/* 547 */,\n/* 548 */,\n/* 549 */,\n/* 550 */,\n/* 551 */,\n/* 552 */,\n/* 553 */,\n/* 554 */,\n/* 555 */,\n/* 556 */,\n/* 557 */,\n/* 558 */,\n/* 559 */,\n/* 560 */,\n/* 561 */,\n/* 562 */,\n/* 563 */,\n/* 564 */,\n/* 565 */,\n/* 566 */,\n/* 567 */,\n/* 568 */,\n/* 569 */,\n/* 570 */,\n/* 571 */,\n/* 572 */,\n/* 573 */,\n/* 574 */,\n/* 575 */,\n/* 576 */,\n/* 577 */,\n/* 578 */,\n/* 579 */,\n/* 580 */,\n/* 581 */,\n/* 582 */,\n/* 583 */,\n/* 584 */,\n/* 585 */,\n/* 586 */,\n/* 587 */,\n/* 588 */,\n/* 589 */,\n/* 590 */,\n/* 591 */,\n/* 592 */,\n/* 593 */,\n/* 594 */,\n/* 595 */,\n/* 596 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar req = __webpack_require__(1443);\n\nvar requireAllSvgs = function requireAllSvgs(requireContext) {\n return requireContext.keys().map(requireContext);\n};\n\nrequireAllSvgs(req);\n\n/***/ }),\n/* 597 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__assets_icons___ = __webpack_require__(596);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__assets_icons____default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__assets_icons___);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__button_rtButton__ = __webpack_require__(428);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__button_rtButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__button_rtButton__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__button_rtButtonGroup__ = __webpack_require__(1300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__button_rtButtonGroup___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__button_rtButtonGroup__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__layout_rtView__ = __webpack_require__(1324);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__layout_rtView___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__layout_rtView__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__layout_rtHeader__ = __webpack_require__(1323);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__layout_rtHeader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__layout_rtHeader__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layout_rtContent__ = __webpack_require__(1321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layout_rtContent___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__layout_rtContent__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__layout_rtFooter__ = __webpack_require__(1322);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__layout_rtFooter___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__layout_rtFooter__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__lookup__ = __webpack_require__(598);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__picklist__ = __webpack_require__(1327);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__picklist___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__picklist__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__card_rtCard_vue__ = __webpack_require__(1301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__card_rtCard_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__card_rtCard_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__section_rtSection_vue__ = __webpack_require__(1333);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__section_rtSection_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__section_rtSection_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__icon_rtIcon__ = __webpack_require__(1318);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__icon_rtIcon___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__icon_rtIcon__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__tag_rtTag__ = __webpack_require__(1341);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__tag_rtTag___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__tag_rtTag__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__form_rtForm__ = __webpack_require__(1315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__form_rtForm___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__form_rtForm__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__form_rtFormItem__ = __webpack_require__(1316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__form_rtFormItem___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__form_rtFormItem__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__form_rtInput__ = __webpack_require__(1317);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__form_rtInput___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15__form_rtInput__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__form_rtDatePicker__ = __webpack_require__(1314);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__form_rtDatePicker___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_16__form_rtDatePicker__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__row_rtRow__ = __webpack_require__(1331);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__row_rtRow___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_17__row_rtRow__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__col_rtCol__ = __webpack_require__(1307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__col_rtCol___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_18__col_rtCol__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__table_rtTable__ = __webpack_require__(1339);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__table_rtTable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_19__table_rtTable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__table_rtTableColumn_js__ = __webpack_require__(599);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__table_rtTableDropdown__ = __webpack_require__(1340);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__table_rtTableDropdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21__table_rtTableDropdown__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__table_rtAdvanceTableGroup__ = __webpack_require__(1337);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__table_rtAdvanceTableGroup___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22__table_rtAdvanceTableGroup__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__table_rtAdvanceTableItem__ = __webpack_require__(1338);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__table_rtAdvanceTableItem___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_23__table_rtAdvanceTableItem__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__search_rtSearch__ = __webpack_require__(1332);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__search_rtSearch___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_24__search_rtSearch__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__tab_rtTabs__ = __webpack_require__(1336);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__tab_rtTabs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_25__tab_rtTabs__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__tab_rtContentTabs__ = __webpack_require__(1334);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__tab_rtContentTabs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_26__tab_rtContentTabs__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__tab_rtTabPane__ = __webpack_require__(1335);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__tab_rtTabPane___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_27__tab_rtTabPane__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__business_common_rtHeaderButtonGroup__ = __webpack_require__(1292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__business_common_rtHeaderButtonGroup___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_28__business_common_rtHeaderButtonGroup__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__business_common_rtHeaderIcon__ = __webpack_require__(1293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__business_common_rtHeaderIcon___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_29__business_common_rtHeaderIcon__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__business_common_rtHeaderTitle__ = __webpack_require__(1294);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__business_common_rtHeaderTitle___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_30__business_common_rtHeaderTitle__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__business_common_rtAttr__ = __webpack_require__(1291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__business_common_rtAttr___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_31__business_common_rtAttr__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__business_detail_rtDetailHeader__ = __webpack_require__(1296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__business_detail_rtDetailHeader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_32__business_detail_rtDetailHeader__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__business_detail_rtDetailItem__ = __webpack_require__(1297);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__business_detail_rtDetailItem___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_33__business_detail_rtDetailItem__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__business_detail_rtDetailAside__ = __webpack_require__(1295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__business_detail_rtDetailAside___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_34__business_detail_rtDetailAside__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__business_list_rtListHeader__ = __webpack_require__(1299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__business_list_rtListHeader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_35__business_list_rtListHeader__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__business_list_rtListFilter__ = __webpack_require__(1298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__business_list_rtListFilter___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_36__business_list_rtListFilter__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__dropdown_rtDropdown_vue__ = __webpack_require__(1311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__dropdown_rtDropdown_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_37__dropdown_rtDropdown_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__dropdown_rtDropdownMenu_vue__ = __webpack_require__(1313);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__dropdown_rtDropdownMenu_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_38__dropdown_rtDropdownMenu_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__dropdown_rtDropdownItem_vue__ = __webpack_require__(1312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__dropdown_rtDropdownItem_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_39__dropdown_rtDropdownItem_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__radio_rtRadioGroup_vue__ = __webpack_require__(1330);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__radio_rtRadioGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_40__radio_rtRadioGroup_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__radio_rtRadio_vue__ = __webpack_require__(1328);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__radio_rtRadio_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_41__radio_rtRadio_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__radio_rtRadioButton_vue__ = __webpack_require__(1329);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__radio_rtRadioButton_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_42__radio_rtRadioButton_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__checkbox_rtCheckboxGroup_vue__ = __webpack_require__(1306);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__checkbox_rtCheckboxGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_43__checkbox_rtCheckboxGroup_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__checkbox_rtCheckbox_vue__ = __webpack_require__(1304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__checkbox_rtCheckbox_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_44__checkbox_rtCheckbox_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__checkbox_rtCheckboxButton_vue__ = __webpack_require__(1305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__checkbox_rtCheckboxButton_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_45__checkbox_rtCheckboxButton_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__tree_rtTree_js__ = __webpack_require__(600);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__upload_rtUpload_js__ = __webpack_require__(601);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__label_rtLabelGroup_vue__ = __webpack_require__(1319);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__label_rtLabelGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_48__label_rtLabelGroup_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__label_rtLabelItem_vue__ = __webpack_require__(1320);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__label_rtLabelItem_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_49__label_rtLabelItem_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__dialog_rtDialog_vue__ = __webpack_require__(1310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__dialog_rtDialog_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_50__dialog_rtDialog_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__collapse_rtCollapseTransition_vue__ = __webpack_require__(1309);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__collapse_rtCollapseTransition_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_51__collapse_rtCollapseTransition_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__collapse_rtCollapse_vue__ = __webpack_require__(1308);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__collapse_rtCollapse_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_52__collapse_rtCollapse_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__attachment_rtAttachment_vue__ = __webpack_require__(1290);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__attachment_rtAttachment_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_53__attachment_rtAttachment_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__approval_rtApproval_vue__ = __webpack_require__(1288);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__approval_rtApproval_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_54__approval_rtApproval_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__approval_rtApprovalItem_vue__ = __webpack_require__(1289);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__approval_rtApprovalItem_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_55__approval_rtApprovalItem_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__cascader_rtCascader_vue__ = __webpack_require__(1303);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__cascader_rtCascader_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_56__cascader_rtCascader_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__cascader_rtAddress_vue__ = __webpack_require__(1302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__cascader_rtAddress_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_57__cascader_rtAddress_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58_element_ui__ = __webpack_require__(419);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58_element_ui___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_58_element_ui__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59_element_ui_lib_theme_chalk_index_css__ = __webpack_require__(1136);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59_element_ui_lib_theme_chalk_index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_59_element_ui_lib_theme_chalk_index_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60_element_ui_lib_locale__ = __webpack_require__(150);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60_element_ui_lib_locale___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_60_element_ui_lib_locale__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__plugins__ = __webpack_require__(603);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__config__ = __webpack_require__(200);\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\nvar components = [{ name: __WEBPACK_IMPORTED_MODULE_1__button_rtButton___default.a.name, component: __WEBPACK_IMPORTED_MODULE_1__button_rtButton___default.a }, { name: __WEBPACK_IMPORTED_MODULE_2__button_rtButtonGroup___default.a.name, component: __WEBPACK_IMPORTED_MODULE_2__button_rtButtonGroup___default.a }, { name: __WEBPACK_IMPORTED_MODULE_3__layout_rtView___default.a.name, component: __WEBPACK_IMPORTED_MODULE_3__layout_rtView___default.a }, { name: __WEBPACK_IMPORTED_MODULE_4__layout_rtHeader___default.a.name, component: __WEBPACK_IMPORTED_MODULE_4__layout_rtHeader___default.a }, { name: __WEBPACK_IMPORTED_MODULE_5__layout_rtContent___default.a.name, component: __WEBPACK_IMPORTED_MODULE_5__layout_rtContent___default.a }, { name: __WEBPACK_IMPORTED_MODULE_6__layout_rtFooter___default.a.name, component: __WEBPACK_IMPORTED_MODULE_6__layout_rtFooter___default.a }, { name: __WEBPACK_IMPORTED_MODULE_7__lookup__[\"a\" /* default */].name, component: __WEBPACK_IMPORTED_MODULE_7__lookup__[\"a\" /* default */] }, { name: __WEBPACK_IMPORTED_MODULE_8__picklist___default.a.name, component: __WEBPACK_IMPORTED_MODULE_8__picklist___default.a }, { name: __WEBPACK_IMPORTED_MODULE_9__card_rtCard_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_9__card_rtCard_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_10__section_rtSection_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_10__section_rtSection_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_11__icon_rtIcon___default.a.name, component: __WEBPACK_IMPORTED_MODULE_11__icon_rtIcon___default.a }, { name: __WEBPACK_IMPORTED_MODULE_12__tag_rtTag___default.a.name, component: __WEBPACK_IMPORTED_MODULE_12__tag_rtTag___default.a }, { name: __WEBPACK_IMPORTED_MODULE_13__form_rtForm___default.a.name, component: __WEBPACK_IMPORTED_MODULE_13__form_rtForm___default.a }, { name: __WEBPACK_IMPORTED_MODULE_14__form_rtFormItem___default.a.name, component: __WEBPACK_IMPORTED_MODULE_14__form_rtFormItem___default.a }, { name: __WEBPACK_IMPORTED_MODULE_15__form_rtInput___default.a.name, component: __WEBPACK_IMPORTED_MODULE_15__form_rtInput___default.a }, { name: __WEBPACK_IMPORTED_MODULE_16__form_rtDatePicker___default.a.name, component: __WEBPACK_IMPORTED_MODULE_16__form_rtDatePicker___default.a }, { name: __WEBPACK_IMPORTED_MODULE_17__row_rtRow___default.a.name, component: __WEBPACK_IMPORTED_MODULE_17__row_rtRow___default.a }, { name: __WEBPACK_IMPORTED_MODULE_18__col_rtCol___default.a.name, component: __WEBPACK_IMPORTED_MODULE_18__col_rtCol___default.a }, { name: __WEBPACK_IMPORTED_MODULE_19__table_rtTable___default.a.name, component: __WEBPACK_IMPORTED_MODULE_19__table_rtTable___default.a }, { name: __WEBPACK_IMPORTED_MODULE_20__table_rtTableColumn_js__[\"a\" /* default */].name, component: __WEBPACK_IMPORTED_MODULE_20__table_rtTableColumn_js__[\"a\" /* default */] }, { name: __WEBPACK_IMPORTED_MODULE_21__table_rtTableDropdown___default.a.name, component: __WEBPACK_IMPORTED_MODULE_21__table_rtTableDropdown___default.a }, { name: __WEBPACK_IMPORTED_MODULE_22__table_rtAdvanceTableGroup___default.a.name, component: __WEBPACK_IMPORTED_MODULE_22__table_rtAdvanceTableGroup___default.a }, { name: __WEBPACK_IMPORTED_MODULE_23__table_rtAdvanceTableItem___default.a.name, component: __WEBPACK_IMPORTED_MODULE_23__table_rtAdvanceTableItem___default.a }, { name: __WEBPACK_IMPORTED_MODULE_24__search_rtSearch___default.a.name, component: __WEBPACK_IMPORTED_MODULE_24__search_rtSearch___default.a }, { name: __WEBPACK_IMPORTED_MODULE_25__tab_rtTabs___default.a.name, component: __WEBPACK_IMPORTED_MODULE_25__tab_rtTabs___default.a }, { name: __WEBPACK_IMPORTED_MODULE_26__tab_rtContentTabs___default.a.name, component: __WEBPACK_IMPORTED_MODULE_26__tab_rtContentTabs___default.a }, { name: __WEBPACK_IMPORTED_MODULE_27__tab_rtTabPane___default.a.name, component: __WEBPACK_IMPORTED_MODULE_27__tab_rtTabPane___default.a }, { name: __WEBPACK_IMPORTED_MODULE_28__business_common_rtHeaderButtonGroup___default.a.name, component: __WEBPACK_IMPORTED_MODULE_28__business_common_rtHeaderButtonGroup___default.a }, { name: __WEBPACK_IMPORTED_MODULE_29__business_common_rtHeaderIcon___default.a.name, component: __WEBPACK_IMPORTED_MODULE_29__business_common_rtHeaderIcon___default.a }, { name: __WEBPACK_IMPORTED_MODULE_30__business_common_rtHeaderTitle___default.a.name, component: __WEBPACK_IMPORTED_MODULE_30__business_common_rtHeaderTitle___default.a }, { name: __WEBPACK_IMPORTED_MODULE_31__business_common_rtAttr___default.a.name, component: __WEBPACK_IMPORTED_MODULE_31__business_common_rtAttr___default.a }, { name: __WEBPACK_IMPORTED_MODULE_32__business_detail_rtDetailHeader___default.a.name, component: __WEBPACK_IMPORTED_MODULE_32__business_detail_rtDetailHeader___default.a }, { name: __WEBPACK_IMPORTED_MODULE_33__business_detail_rtDetailItem___default.a.name, component: __WEBPACK_IMPORTED_MODULE_33__business_detail_rtDetailItem___default.a }, { name: __WEBPACK_IMPORTED_MODULE_34__business_detail_rtDetailAside___default.a.name, component: __WEBPACK_IMPORTED_MODULE_34__business_detail_rtDetailAside___default.a }, { name: __WEBPACK_IMPORTED_MODULE_36__business_list_rtListFilter___default.a.name, component: __WEBPACK_IMPORTED_MODULE_36__business_list_rtListFilter___default.a }, { name: __WEBPACK_IMPORTED_MODULE_35__business_list_rtListHeader___default.a.name, component: __WEBPACK_IMPORTED_MODULE_35__business_list_rtListHeader___default.a }, { name: __WEBPACK_IMPORTED_MODULE_37__dropdown_rtDropdown_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_37__dropdown_rtDropdown_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_38__dropdown_rtDropdownMenu_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_38__dropdown_rtDropdownMenu_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_39__dropdown_rtDropdownItem_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_39__dropdown_rtDropdownItem_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_40__radio_rtRadioGroup_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_40__radio_rtRadioGroup_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_41__radio_rtRadio_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_41__radio_rtRadio_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_42__radio_rtRadioButton_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_42__radio_rtRadioButton_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_43__checkbox_rtCheckboxGroup_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_43__checkbox_rtCheckboxGroup_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_44__checkbox_rtCheckbox_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_44__checkbox_rtCheckbox_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_45__checkbox_rtCheckboxButton_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_45__checkbox_rtCheckboxButton_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_46__tree_rtTree_js__[\"a\" /* default */].name, component: __WEBPACK_IMPORTED_MODULE_46__tree_rtTree_js__[\"a\" /* default */] }, { name: __WEBPACK_IMPORTED_MODULE_47__upload_rtUpload_js__[\"a\" /* default */].name, component: __WEBPACK_IMPORTED_MODULE_47__upload_rtUpload_js__[\"a\" /* default */] }, { name: __WEBPACK_IMPORTED_MODULE_48__label_rtLabelGroup_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_48__label_rtLabelGroup_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_49__label_rtLabelItem_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_49__label_rtLabelItem_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_50__dialog_rtDialog_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_50__dialog_rtDialog_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_51__collapse_rtCollapseTransition_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_51__collapse_rtCollapseTransition_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_52__collapse_rtCollapse_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_52__collapse_rtCollapse_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_53__attachment_rtAttachment_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_53__attachment_rtAttachment_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_54__approval_rtApproval_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_54__approval_rtApproval_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_55__approval_rtApprovalItem_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_55__approval_rtApprovalItem_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_56__cascader_rtCascader_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_56__cascader_rtCascader_vue___default.a }, { name: __WEBPACK_IMPORTED_MODULE_57__cascader_rtAddress_vue___default.a.name, component: __WEBPACK_IMPORTED_MODULE_57__cascader_rtAddress_vue___default.a }];\n\nvar installComponents = function installComponents(Vue) {\n var componentPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Rt';\n\n components.forEach(function (item) {\n var componentName = item.name.replace('Rt', componentPrefix);\n Vue.component(componentName, item.component);\n });\n};\n\nvar installPlugins = function installPlugins(Vue, opts) {\n __WEBPACK_IMPORTED_MODULE_61__plugins__[\"a\" /* plugins */].forEach(function (item) {\n return Vue.use(item, opts);\n });\n};\n\nvar install = function install(Vue, opts) {\n var _i18n = opts.i18n,\n config = opts.config;\n\n __WEBPACK_IMPORTED_MODULE_62__config__[\"a\" /* default */].assign(config);\n\n if (_i18n) {\n Vue.use(__WEBPACK_IMPORTED_MODULE_58_element_ui___default.a, {\n i18n: function i18n(key, value) {\n return _i18n.t(key, value);\n }\n });\n } else {\n Vue.use(__WEBPACK_IMPORTED_MODULE_58_element_ui___default.a);\n }\n\n installPlugins(Vue, opts);\n\n var _xpcConfig$get = __WEBPACK_IMPORTED_MODULE_62__config__[\"a\" /* default */].get(),\n componentPrefix = _xpcConfig$get.componentPrefix;\n\n installComponents(Vue, componentPrefix);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n install: install,\n getComponents: function getComponents() {\n return components;\n }\n});\n\n/***/ }),\n/* 598 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rtLookup__ = __webpack_require__(1325);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rtLookup___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__rtLookup__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__rtLookup___default.a);\n\n/***/ }),\n/* 599 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'RtTableColumn',\n props: {\n fixed: {\n type: Boolean,\n default: false\n },\n className: {\n type: String,\n default: ''\n }\n },\n render: function render(h) {\n var _this = this;\n\n var options = {\n attrs: this.$attrs,\n props: {\n className: this.fixed ? 'rt-fixed-column rt-fixed-column-' + this.className : ''\n }\n };\n if (this.$scopedSlots.default) {\n options.scopedSlots = {\n default: function _default(props) {\n return _this.$scopedSlots.default({\n row: props.row,\n $index: props.$index\n });\n }\n };\n }\n return h('el-table-column', options, this.$slots.default);\n }\n});\n\n/***/ }),\n/* 600 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'RtTree',\n render: function render(h) {\n return h('el-tree', {\n attrs: this.$attrs,\n props: this.$props,\n ref: 'tree'\n }, this.$slots.default);\n },\n\n methods: {\n filter: function filter(val) {\n this.$refs.tree.filter(val);\n }\n }\n});\n\n/***/ }),\n/* 601 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'RtUpload',\n render: function render(h) {\n return h('el-upload', {\n attrs: this.$attrs,\n props: this.$props,\n ref: 'upload'\n }, [this.$slots.default, this.$slots.tip, this.$slots.trigger]);\n },\n\n methods: {\n clearFiles: function clearFiles() {\n this.$refs.upload.clearFiles();\n },\n abort: function abort(file) {\n this.$refs.upload.abort(file);\n },\n submit: function submit() {\n this.$refs.upload.submit();\n }\n }\n});\n\n/***/ }),\n/* 602 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_cascader_store__ = __webpack_require__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(200);\n\n\n\n\nvar defaultFetch = function defaultFetch() {\n var _config$get$address = __WEBPACK_IMPORTED_MODULE_2__config__[\"a\" /* default */].get().address,\n provinceUrl = _config$get$address.provinceUrl,\n cityUrl = _config$get$address.cityUrl,\n countyUrl = _config$get$address.countyUrl,\n alias = _config$get$address.alias;\n\n var provinceres = void 0,\n cityres = void 0,\n countyres = void 0;\n provinceres = rt.get(provinceUrl);\n cityres = rt.get(cityUrl);\n countyres = rt.get(countyUrl);\n var id = alias.id,\n name = alias.name;\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default.a.all([provinceres, cityres, countyres]).then(function (res) {\n var provincelist = void 0,\n citylist = void 0,\n countylist = void 0;\n provincelist = res[0].slice();\n citylist = res[1].slice();\n countylist = res[2].slice();\n var provinces = [];\n var cities = {};\n var counties = {};\n provincelist.forEach(function (province) {\n provinces.push({\n name: province[name],\n id: province[id]\n });\n var cityArry = [];\n citylist.forEach(function (city) {\n if (city.ParentId === province[id]) {\n cityArry.push({\n name: city[name],\n id: city[id]\n });\n }\n var countyArry = [];\n countylist.forEach(function (county) {\n if (county.ParentId === city[id]) {\n countyArry.push({\n name: county[name],\n id: county[id]\n });\n }\n });\n counties[city[id]] = countyArry;\n });\n cities[province[id]] = cityArry;\n });\n\n provinces.forEach(function (provinceItem) {\n cities[provinceItem.id].forEach(function (cityItem) {\n cityItem.children = counties[cityItem.id];\n });\n provinceItem.children = cities[provinceItem.id];\n });\n return provinces;\n });\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'AddressPlugin',\n fetch: null,\n install: function install(Vue, opts) {\n Vue.prototype.$address = Vue.address = this;\n\n var autoLoad = __WEBPACK_IMPORTED_MODULE_2__config__[\"a\" /* default */].get().address.autoLoad;\n\n autoLoad && this.getAddressData();\n },\n resetFetch: function resetFetch() {\n var fn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this.fetch = fn;\n this.fetch && this.getAddressData();\n },\n getAddressData: function getAddressData() {\n var fetchMethod = this.fetch || defaultFetch;\n fetchMethod().then(function (res) {\n __WEBPACK_IMPORTED_MODULE_1__components_cascader_store__[\"a\" /* store */].updateAddress(res);\n }).catch(function (err) {\n rt.showErrorToast(err);\n });\n }\n});\n\n/***/ }),\n/* 603 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return plugins; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lookup_plugin__ = __webpack_require__(605);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__picklist_plugin__ = __webpack_require__(606);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__address_plugin__ = __webpack_require__(602);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__locale_plugin__ = __webpack_require__(604);\n\n\n\n\nvar plugins = [__WEBPACK_IMPORTED_MODULE_0__lookup_plugin__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_1__picklist_plugin__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_2__address_plugin__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_3__locale_plugin__[\"a\" /* default */]];\n\n/***/ }),\n/* 604 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__ = __webpack_require__(288);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_assign__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_assign___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_assign__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__config__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_element_ui_lib_locale_lang_en__ = __webpack_require__(1122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_element_ui_lib_locale_lang_en___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_element_ui_lib_locale_lang_en__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_element_ui_lib_locale_lang_zh_CN__ = __webpack_require__(420);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_element_ui_lib_locale_lang_zh_CN___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_element_ui_lib_locale_lang_zh_CN__);\n\n\n\n\n\n\n\nvar elementLocaleMessage = {\n 'zh-CN': __WEBPACK_IMPORTED_MODULE_5_element_ui_lib_locale_lang_zh_CN___default.a,\n 'en-US': __WEBPACK_IMPORTED_MODULE_4_element_ui_lib_locale_lang_en___default.a\n};\n\nvar getMessage = function getMessage(localeid, locale) {\n var message = localStorage.getItem(localeid);\n if (message) {\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default.a.resolve(JSON.parse(message));\n }\n return new __WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default.a(function (resolve, reject) {\n rt.get('api/PortalLanguage/GetLanguageConfigs?langId=' + localeid).then(function (res) {\n var elMessage = elementLocaleMessage[locale];\n\n var message = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_assign___default()({}, res.LanguageConfigs, elMessage);\n\n localStorage.setItem(locale, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default()(message));\n resolve(message);\n }).catch(function () {\n reject('get messages error');\n });\n });\n};\n\nvar getLocales = function getLocales() {\n var locales = JSON.parse(localStorage.getItem('locales'));\n if (locales && locales.length) {\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default.a.resolve(locales);\n }\n\n return new __WEBPACK_IMPORTED_MODULE_2_babel_runtime_core_js_promise___default.a(function (resolve, reject) {\n rt.get('api/PortalLanguage/GetLanguageList').then(function (res) {\n var locales = res.map(function (item) {\n return {\n value: item.new_code,\n name: item.new_displayname,\n native: item.new_name,\n langid: item.new_langid\n };\n });\n localStorage.setItem('locales', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default()(locales));\n resolve(locales);\n }).catch(function () {\n reject('get locales error');\n });\n });\n};\n\nvar use = function use(Vue, i18n) {\n var _config$get = __WEBPACK_IMPORTED_MODULE_3__config__[\"a\" /* default */].get(),\n defaultLocale = _config$get.defaultLocale,\n defaultLocaleId = _config$get.defaultLocaleId;\n\n var locale = localStorage.getItem('i18nLocale') || defaultLocale;\n var localeid = localStorage.getItem('i18nLocaleid') || defaultLocaleId;\n\n getLocales().then(function (res) {});\n\n var message = getMessage(localeid, locale);\n message.then(function (res) {\n i18n.locale = locale;\n i18n.setLocaleMessage(locale, res);\n Vue.http.interceptors.request.use(function (config) {\n config.headers['Accept-Language'] = locale;\n return config;\n });\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n install: function install(Vue, opts) {\n var _this = this;\n\n var i18n = opts.i18n;\n\n Vue.prototype.$tx = function (defaultValue, key) {\n if (!key) return defaultValue;\n\n if (i18n && i18n.t) {\n var value = i18n.t.call(_this, key);\n return value || defaultValue;\n }\n return defaultValue;\n };\n\n if (i18n) {\n use(Vue, i18n);\n }\n }\n});\n\n/***/ }),\n/* 605 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _this = this;\n\nvar defaultFetch = function defaultFetch(params) {\n var entity = params.entity,\n idField = params.idField,\n nameField = params.nameField,\n displayFields = params.displayFields,\n returnFields = params.returnFields,\n orderbyFields = params.orderbyFields,\n customConditions = params.customConditions,\n filterFields = params.filterFields,\n pageSize = params.pageSize,\n pageIndex = params.pageIndex,\n queryValue = params.queryValue;\n\n nameField = nameField || 'new_name';\n orderbyFields = orderbyFields || 'createdon asc';\n filterFields = filterFields || 'new_name';\n displayFields = displayFields || [{ name: nameField, label: _this.$tx('名称', 'lookup.column_name') }, {\n name: 'createdon',\n label: _this.$tx('创建时间', 'lookup.column_createdon'),\n width: 180\n }];\n var getSelectString = function getSelectString() {\n var selectFields = void 0;\n if (returnFields) {\n selectFields = returnFields.split(',');\n } else {\n selectFields = [];\n }\n\n selectFields.push(nameField);\n idField = idField || entity + 'id';\n selectFields.push(idField);\n\n for (var i in displayFields) {\n var fieldName = displayFields[i].name;\n if (selectFields.indexOf(fieldName) >= 0) {\n continue;\n }\n selectFields.push(fieldName);\n }\n return selectFields.join(',');\n };\n var selectString = getSelectString();\n\n var url = '../api/crmlookupview/data?entityName=' + entity + '&page=' + pageIndex + '&count=' + pageSize + '&select=' + selectString + '&orderby=' + orderbyFields + '&condition=' + customConditions + '&filter=' + filterFields + '&filterValue=' + encodeURIComponent(queryValue || '');\n return rt.get(url);\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'LookupPlugin',\n fetch: null,\n install: function install(Vue, options) {\n Vue.prototype.$crmlookup = Vue.crmlookup = this;\n },\n resetFetch: function resetFetch(fun) {\n this.fetch = fun || defaultFetch;\n },\n getLookupData: function getLookupData(params) {\n var fetchMethod = this.fetch || defaultFetch;\n return fetchMethod(params);\n }\n});\n\n/***/ }),\n/* 606 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar defaultFetch = function defaultFetch(params) {\n var url = '../api/crmpicklist/options/' + params.entity + '/' + params.attribute;\n return rt.get(url);\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'CrmLookupPlugin',\n fetch: null,\n install: function install(Vue, options) {\n Vue.prototype.$picklist = Vue.picklist = this;\n },\n resetFetch: function resetFetch(fun) {\n this.fetch = fun || defaultFetch;\n },\n getPicklistData: function getPicklistData(params) {\n var fetchMethod = this.fetch || defaultFetch;\n return fetchMethod(params);\n }\n});\n\n/***/ }),\n/* 607 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(621);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(622);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n\n\nvar addClass = function addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.add(clsName);\n } else if (!hasClass(el, clsName)) {\n curClass += ' ' + clsName;\n }\n }\n if (!el.classList) {\n el.className = curClass;\n }\n};\n\nvar removeClass = function removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.remove(clsName);\n } else if (hasClass(el, clsName)) {\n curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n if (!el.classList) {\n el.className = trim(curClass);\n }\n};\n\nvar Transition = function () {\n function Transition() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Transition);\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(Transition, [{\n key: 'beforeEnter',\n value: function beforeEnter(el) {\n addClass(el, 'collapse-transition');\n if (!el.dataset) el.dataset = {};\n\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n el.style.height = '0';\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n }, {\n key: 'enter',\n value: function enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.height = '';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n\n el.style.overflow = 'hidden';\n }\n }, {\n key: 'afterEnter',\n value: function afterEnter(el) {\n removeClass(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n }\n }, {\n key: 'beforeLeave',\n value: function beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n\n el.style.height = el.scrollHeight + 'px';\n el.style.overflow = 'hidden';\n }\n }, {\n key: 'leave',\n value: function leave(el) {\n if (el.scrollHeight !== 0) {\n addClass(el, 'collapse-transition');\n el.style.height = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n }\n }, {\n key: 'afterLeave',\n value: function afterLeave(el) {\n removeClass(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n }]);\n\n return Transition;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'ElCollapseTransition',\n functional: true,\n render: function render(h, _ref) {\n var children = _ref.children;\n\n var data = {\n on: new Transition()\n };\n\n return h('transition', data, children);\n }\n});\n\n/***/ }),\n/* 608 */,\n/* 609 */,\n/* 610 */,\n/* 611 */,\n/* 612 */,\n/* 613 */,\n/* 614 */,\n/* 615 */,\n/* 616 */,\n/* 617 */,\n/* 618 */,\n/* 619 */,\n/* 620 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(626), __esModule: true };\n\n/***/ }),\n/* 621 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n/***/ }),\n/* 622 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(293);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n/***/ }),\n/* 623 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\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\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(624);\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n/***/ }),\n/* 624 */\n/***/ (function(module, exports) {\n\n/**\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\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 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 // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 625 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(663);\nmodule.exports = __webpack_require__(48).RegExp.escape;\n\n\n/***/ }),\n/* 626 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(193);\n__webpack_require__(646);\nmodule.exports = __webpack_require__(30).Array.from;\n\n\n/***/ }),\n/* 627 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(30);\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n/***/ }),\n/* 628 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(648);\nmodule.exports = __webpack_require__(30).Object.assign;\n\n\n/***/ }),\n/* 629 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(649);\nvar $Object = __webpack_require__(30).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 630 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(650);\nmodule.exports = __webpack_require__(30).Object.keys;\n\n\n/***/ }),\n/* 631 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(291);\n__webpack_require__(193);\n__webpack_require__(289);\n__webpack_require__(651);\n__webpack_require__(653);\n__webpack_require__(654);\nmodule.exports = __webpack_require__(30).Promise;\n\n\n/***/ }),\n/* 632 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(652);\n__webpack_require__(291);\n__webpack_require__(655);\n__webpack_require__(656);\nmodule.exports = __webpack_require__(30).Symbol;\n\n\n/***/ }),\n/* 633 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(193);\n__webpack_require__(289);\nmodule.exports = __webpack_require__(196).f('iterator');\n\n\n/***/ }),\n/* 634 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 635 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(110);\nvar toLength = __webpack_require__(195);\nvar toAbsoluteIndex = __webpack_require__(644);\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\n\n/***/ }),\n/* 636 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(66);\nvar createDesc = __webpack_require__(132);\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\n\n/***/ }),\n/* 637 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(131);\nvar gOPS = __webpack_require__(194);\nvar pIE = __webpack_require__(155);\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\n\n/***/ }),\n/* 638 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 639 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(290);\nvar descriptor = __webpack_require__(132);\nvar setToStringTag = __webpack_require__(154);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(84)(IteratorPrototype, __webpack_require__(35)('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\n\n/***/ }),\n/* 640 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(33);\nvar macrotask = __webpack_require__(298).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(128)(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/***/ }),\n/* 641 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(65);\nvar getKeys = __webpack_require__(131);\nvar gOPS = __webpack_require__(194);\nvar pIE = __webpack_require__(155);\nvar toObject = __webpack_require__(127);\nvar IObject = __webpack_require__(295);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(109)(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/***/ }),\n/* 642 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(66);\nvar anObject = __webpack_require__(73);\nvar getKeys = __webpack_require__(131);\n\nmodule.exports = __webpack_require__(65) ? 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\n\n/***/ }),\n/* 643 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(209);\nvar defined = __webpack_require__(203);\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/***/ }),\n/* 644 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(209);\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/***/ }),\n/* 645 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(33);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 646 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(125);\nvar $export = __webpack_require__(64);\nvar toObject = __webpack_require__(127);\nvar call = __webpack_require__(314);\nvar isArrayIter = __webpack_require__(313);\nvar toLength = __webpack_require__(195);\nvar createProperty = __webpack_require__(636);\nvar getIterFn = __webpack_require__(292);\n\n$export($export.S + $export.F * !__webpack_require__(315)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 647 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(634);\nvar step = __webpack_require__(467);\nvar Iterators = __webpack_require__(129);\nvar toIObject = __webpack_require__(110);\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 = __webpack_require__(296)(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\n\n/***/ }),\n/* 648 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(64);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(641) });\n\n\n/***/ }),\n/* 649 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(64);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(65), 'Object', { defineProperty: __webpack_require__(66).f });\n\n\n/***/ }),\n/* 650 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(127);\nvar $keys = __webpack_require__(131);\n\n__webpack_require__(457)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 651 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(130);\nvar global = __webpack_require__(33);\nvar ctx = __webpack_require__(125);\nvar classof = __webpack_require__(294);\nvar $export = __webpack_require__(64);\nvar isObject = __webpack_require__(83);\nvar aFunction = __webpack_require__(153);\nvar anInstance = __webpack_require__(461);\nvar forOf = __webpack_require__(458);\nvar speciesConstructor = __webpack_require__(320);\nvar task = __webpack_require__(298).set;\nvar microtask = __webpack_require__(640)();\nvar newPromiseCapabilityModule = __webpack_require__(206);\nvar perform = __webpack_require__(317);\nvar userAgent = __webpack_require__(645);\nvar promiseResolve = __webpack_require__(318);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(35)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(462)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(154)($Promise, PROMISE);\n__webpack_require__(471)(PROMISE);\nWrapper = __webpack_require__(30)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(315)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 652 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(33);\nvar has = __webpack_require__(85);\nvar DESCRIPTORS = __webpack_require__(65);\nvar $export = __webpack_require__(64);\nvar redefine = __webpack_require__(319);\nvar META = __webpack_require__(459).KEY;\nvar $fails = __webpack_require__(109);\nvar shared = __webpack_require__(208);\nvar setToStringTag = __webpack_require__(154);\nvar uid = __webpack_require__(156);\nvar wks = __webpack_require__(35);\nvar wksExt = __webpack_require__(196);\nvar wksDefine = __webpack_require__(211);\nvar enumKeys = __webpack_require__(637);\nvar isArray = __webpack_require__(466);\nvar anObject = __webpack_require__(73);\nvar isObject = __webpack_require__(83);\nvar toObject = __webpack_require__(127);\nvar toIObject = __webpack_require__(110);\nvar toPrimitive = __webpack_require__(210);\nvar createDesc = __webpack_require__(132);\nvar _create = __webpack_require__(290);\nvar gOPNExt = __webpack_require__(469);\nvar $GOPD = __webpack_require__(468);\nvar $GOPS = __webpack_require__(194);\nvar $DP = __webpack_require__(66);\nvar $keys = __webpack_require__(131);\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 __webpack_require__(297).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(155).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(130)) {\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] || __webpack_require__(84)($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/***/ }),\n/* 653 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(64);\nvar core = __webpack_require__(30);\nvar global = __webpack_require__(33);\nvar speciesConstructor = __webpack_require__(320);\nvar promiseResolve = __webpack_require__(318);\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/***/ }),\n/* 654 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(64);\nvar newPromiseCapability = __webpack_require__(206);\nvar perform = __webpack_require__(317);\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/***/ }),\n/* 655 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(211)('asyncIterator');\n\n\n/***/ }),\n/* 656 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(211)('observable');\n\n\n/***/ }),\n/* 657 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(13);\nvar isArray = __webpack_require__(160);\nvar SPECIES = __webpack_require__(16)('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\n\n/***/ }),\n/* 658 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = __webpack_require__(12);\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/***/ }),\n/* 659 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(58);\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\n\n/***/ }),\n/* 660 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(90);\nvar gOPS = __webpack_require__(164);\nvar pIE = __webpack_require__(135);\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\n\n/***/ }),\n/* 661 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(136)('native-function-to-string', Function.toString);\n\n\n/***/ }),\n/* 662 */\n/***/ (function(module, exports) {\n\nmodule.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/***/ }),\n/* 663 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/benjamingr/RexExp.escape\nvar $export = __webpack_require__(1);\nvar $re = __webpack_require__(662)(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n\n\n/***/ }),\n/* 664 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'Array', { copyWithin: __webpack_require__(322) });\n\n__webpack_require__(74)('copyWithin');\n\n\n/***/ }),\n/* 665 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $every = __webpack_require__(55)(4);\n\n$export($export.P + $export.F * !__webpack_require__(50)([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 666 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'Array', { fill: __webpack_require__(213) });\n\n__webpack_require__(74)('fill');\n\n\n/***/ }),\n/* 667 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $filter = __webpack_require__(55)(2);\n\n$export($export.P + $export.F * !__webpack_require__(50)([].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\n\n/***/ }),\n/* 668 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(1);\nvar $find = __webpack_require__(55)(6);\nvar KEY = 'findIndex';\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 findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(74)(KEY);\n\n\n/***/ }),\n/* 669 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = __webpack_require__(1);\nvar $find = __webpack_require__(55)(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});\n__webpack_require__(74)(KEY);\n\n\n/***/ }),\n/* 670 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $forEach = __webpack_require__(55)(0);\nvar STRICT = __webpack_require__(50)([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 671 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(49);\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(25);\nvar call = __webpack_require__(333);\nvar isArrayIter = __webpack_require__(221);\nvar toLength = __webpack_require__(19);\nvar createProperty = __webpack_require__(215);\nvar getIterFn = __webpack_require__(237);\n\n$export($export.S + $export.F * !__webpack_require__(162)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 672 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $indexOf = __webpack_require__(157)(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(50)($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 673 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Array', { isArray: __webpack_require__(160) });\n\n\n/***/ }),\n/* 674 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = __webpack_require__(1);\nvar toIObject = __webpack_require__(43);\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (__webpack_require__(134) != Object || !__webpack_require__(50)(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n/***/ }),\n/* 675 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toIObject = __webpack_require__(43);\nvar toInteger = __webpack_require__(51);\nvar toLength = __webpack_require__(19);\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(50)($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\n\n/***/ }),\n/* 676 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $map = __webpack_require__(55)(1);\n\n$export($export.P + $export.F * !__webpack_require__(50)([].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\n/***/ }),\n/* 677 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar createProperty = __webpack_require__(215);\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * __webpack_require__(12)(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\n\n/***/ }),\n/* 678 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $reduce = __webpack_require__(324);\n\n$export($export.P + $export.F * !__webpack_require__(50)([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n/***/ }),\n/* 679 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $reduce = __webpack_require__(324);\n\n$export($export.P + $export.F * !__webpack_require__(50)([].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\n\n/***/ }),\n/* 680 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar html = __webpack_require__(219);\nvar cof = __webpack_require__(47);\nvar toAbsoluteIndex = __webpack_require__(94);\nvar toLength = __webpack_require__(19);\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * __webpack_require__(12)(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n/***/ }),\n/* 681 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $some = __webpack_require__(55)(3);\n\n$export($export.P + $export.F * !__webpack_require__(50)([].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\n\n/***/ }),\n/* 682 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar aFunction = __webpack_require__(31);\nvar toObject = __webpack_require__(25);\nvar fails = __webpack_require__(12);\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !__webpack_require__(50)($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n/***/ }),\n/* 683 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(93)('Array');\n\n\n/***/ }),\n/* 684 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ }),\n/* 685 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = __webpack_require__(1);\nvar toISOString = __webpack_require__(658);\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\n/***/ }),\n/* 686 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(25);\nvar toPrimitive = __webpack_require__(58);\n\n$export($export.P + $export.F * __webpack_require__(12)(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\n\n/***/ }),\n/* 687 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_PRIMITIVE = __webpack_require__(16)('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) __webpack_require__(36)(proto, TO_PRIMITIVE, __webpack_require__(659));\n\n\n/***/ }),\n/* 688 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar 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 __webpack_require__(37)(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/***/ }),\n/* 689 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'Function', { bind: __webpack_require__(325) });\n\n\n/***/ }),\n/* 690 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(13);\nvar getPrototypeOf = __webpack_require__(42);\nvar HAS_INSTANCE = __webpack_require__(16)('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(22).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n/***/ }),\n/* 691 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(22).f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || __webpack_require__(20) && 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/***/ }),\n/* 692 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.3 Math.acosh(x)\nvar $export = __webpack_require__(1);\nvar log1p = __webpack_require__(336);\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\n\n/***/ }),\n/* 693 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.5 Math.asinh(x)\nvar $export = __webpack_require__(1);\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n/***/ }),\n/* 694 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.7 Math.atanh(x)\nvar $export = __webpack_require__(1);\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/***/ }),\n/* 695 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.9 Math.cbrt(x)\nvar $export = __webpack_require__(1);\nvar sign = __webpack_require__(225);\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n/***/ }),\n/* 696 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.11 Math.clz32(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n/***/ }),\n/* 697 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.12 Math.cosh(x)\nvar $export = __webpack_require__(1);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 698 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $export = __webpack_require__(1);\nvar $expm1 = __webpack_require__(224);\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n/***/ }),\n/* 699 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { fround: __webpack_require__(335) });\n\n\n/***/ }),\n/* 700 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = __webpack_require__(1);\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\n\n/***/ }),\n/* 701 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.18 Math.imul(x, y)\nvar $export = __webpack_require__(1);\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * __webpack_require__(12)(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n/***/ }),\n/* 702 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.21 Math.log10(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n/***/ }),\n/* 703 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.20 Math.log1p(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { log1p: __webpack_require__(336) });\n\n\n/***/ }),\n/* 704 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.22 Math.log2(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n/***/ }),\n/* 705 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.28 Math.sign(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { sign: __webpack_require__(225) });\n\n\n/***/ }),\n/* 706 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.30 Math.sinh(x)\nvar $export = __webpack_require__(1);\nvar expm1 = __webpack_require__(224);\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * __webpack_require__(12)(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n/***/ }),\n/* 707 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.33 Math.tanh(x)\nvar $export = __webpack_require__(1);\nvar expm1 = __webpack_require__(224);\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\n\n/***/ }),\n/* 708 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.34 Math.trunc(x)\nvar $export = __webpack_require__(1);\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/***/ }),\n/* 709 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(11);\nvar has = __webpack_require__(40);\nvar cof = __webpack_require__(47);\nvar inheritIfRequired = __webpack_require__(220);\nvar toPrimitive = __webpack_require__(58);\nvar fails = __webpack_require__(12);\nvar gOPN = __webpack_require__(89).f;\nvar gOPD = __webpack_require__(41).f;\nvar dP = __webpack_require__(22).f;\nvar $trim = __webpack_require__(114).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(__webpack_require__(88)(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 = __webpack_require__(20) ? 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 __webpack_require__(37)(global, NUMBER, $Number);\n}\n\n\n/***/ }),\n/* 710 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.1 Number.EPSILON\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n/***/ }),\n/* 711 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(1);\nvar _isFinite = __webpack_require__(11).isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/***/ }),\n/* 712 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(332) });\n\n\n/***/ }),\n/* 713 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(1);\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/***/ }),\n/* 714 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = __webpack_require__(1);\nvar isInteger = __webpack_require__(332);\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/***/ }),\n/* 715 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ }),\n/* 716 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 717 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseFloat = __webpack_require__(344);\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 718 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseInt = __webpack_require__(345);\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n/***/ }),\n/* 719 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toInteger = __webpack_require__(51);\nvar aNumberValue = __webpack_require__(321);\nvar repeat = __webpack_require__(232);\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) || !__webpack_require__(12)(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\n\n/***/ }),\n/* 720 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $fails = __webpack_require__(12);\nvar aNumberValue = __webpack_require__(321);\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n/***/ }),\n/* 721 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(1);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(338) });\n\n\n/***/ }),\n/* 722 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(88) });\n\n\n/***/ }),\n/* 723 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(20), 'Object', { defineProperties: __webpack_require__(339) });\n\n\n/***/ }),\n/* 724 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(20), 'Object', { defineProperty: __webpack_require__(22).f });\n\n\n/***/ }),\n/* 725 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(13);\nvar meta = __webpack_require__(76).onFreeze;\n\n__webpack_require__(57)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 726 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(43);\nvar $getOwnPropertyDescriptor = __webpack_require__(41).f;\n\n__webpack_require__(57)('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/***/ }),\n/* 727 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 Object.getOwnPropertyNames(O)\n__webpack_require__(57)('getOwnPropertyNames', function () {\n return __webpack_require__(340).f;\n});\n\n\n/***/ }),\n/* 728 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(25);\nvar $getPrototypeOf = __webpack_require__(42);\n\n__webpack_require__(57)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 729 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.11 Object.isExtensible(O)\nvar isObject = __webpack_require__(13);\n\n__webpack_require__(57)('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n/***/ }),\n/* 730 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.12 Object.isFrozen(O)\nvar isObject = __webpack_require__(13);\n\n__webpack_require__(57)('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 731 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.13 Object.isSealed(O)\nvar isObject = __webpack_require__(13);\n\n__webpack_require__(57)('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 732 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.10 Object.is(value1, value2)\nvar $export = __webpack_require__(1);\n$export($export.S, 'Object', { is: __webpack_require__(348) });\n\n\n/***/ }),\n/* 733 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(25);\nvar $keys = __webpack_require__(90);\n\n__webpack_require__(57)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 734 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = __webpack_require__(13);\nvar meta = __webpack_require__(76).onFreeze;\n\n__webpack_require__(57)('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 735 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.17 Object.seal(O)\nvar isObject = __webpack_require__(13);\nvar meta = __webpack_require__(76).onFreeze;\n\n__webpack_require__(57)('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 736 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(1);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(229).set });\n\n\n/***/ }),\n/* 737 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.3.6 Object.prototype.toString()\nvar classof = __webpack_require__(111);\nvar test = {};\ntest[__webpack_require__(16)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __webpack_require__(37)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n/***/ }),\n/* 738 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseFloat = __webpack_require__(344);\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 739 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseInt = __webpack_require__(345);\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ }),\n/* 740 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(75);\nvar global = __webpack_require__(11);\nvar ctx = __webpack_require__(49);\nvar classof = __webpack_require__(111);\nvar $export = __webpack_require__(1);\nvar isObject = __webpack_require__(13);\nvar aFunction = __webpack_require__(31);\nvar anInstance = __webpack_require__(86);\nvar forOf = __webpack_require__(87);\nvar speciesConstructor = __webpack_require__(137);\nvar task = __webpack_require__(234).set;\nvar microtask = __webpack_require__(226)();\nvar newPromiseCapabilityModule = __webpack_require__(227);\nvar perform = __webpack_require__(346);\nvar userAgent = __webpack_require__(170);\nvar promiseResolve = __webpack_require__(347);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(16)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(92)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(113)($Promise, PROMISE);\n__webpack_require__(93)(PROMISE);\nWrapper = __webpack_require__(48)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(162)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 741 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = __webpack_require__(1);\nvar aFunction = __webpack_require__(31);\nvar anObject = __webpack_require__(9);\nvar rApply = (__webpack_require__(11).Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !__webpack_require__(12)(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/***/ }),\n/* 742 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = __webpack_require__(1);\nvar create = __webpack_require__(88);\nvar aFunction = __webpack_require__(31);\nvar anObject = __webpack_require__(9);\nvar isObject = __webpack_require__(13);\nvar fails = __webpack_require__(12);\nvar bind = __webpack_require__(325);\nvar rConstruct = (__webpack_require__(11).Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n/***/ }),\n/* 743 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = __webpack_require__(22);\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(58);\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * __webpack_require__(12)(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/***/ }),\n/* 744 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = __webpack_require__(1);\nvar gOPD = __webpack_require__(41).f;\nvar anObject = __webpack_require__(9);\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\n\n/***/ }),\n/* 745 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 26.1.5 Reflect.enumerate(target)\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(9);\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};\n__webpack_require__(222)(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\n\n/***/ }),\n/* 746 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = __webpack_require__(41);\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(9);\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n/***/ }),\n/* 747 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = __webpack_require__(1);\nvar getProto = __webpack_require__(42);\nvar anObject = __webpack_require__(9);\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n\n\n/***/ }),\n/* 748 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = __webpack_require__(41);\nvar getPrototypeOf = __webpack_require__(42);\nvar has = __webpack_require__(40);\nvar $export = __webpack_require__(1);\nvar isObject = __webpack_require__(13);\nvar anObject = __webpack_require__(9);\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\n\n/***/ }),\n/* 749 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n\n\n/***/ }),\n/* 750 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.10 Reflect.isExtensible(target)\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(9);\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n/***/ }),\n/* 751 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.11 Reflect.ownKeys(target)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Reflect', { ownKeys: __webpack_require__(343) });\n\n\n/***/ }),\n/* 752 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.12 Reflect.preventExtensions(target)\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(9);\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\n\n/***/ }),\n/* 753 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = __webpack_require__(1);\nvar setProto = __webpack_require__(229);\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\n\n/***/ }),\n/* 754 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = __webpack_require__(22);\nvar gOPD = __webpack_require__(41);\nvar getPrototypeOf = __webpack_require__(42);\nvar has = __webpack_require__(40);\nvar $export = __webpack_require__(1);\nvar createDesc = __webpack_require__(91);\nvar anObject = __webpack_require__(9);\nvar isObject = __webpack_require__(13);\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/***/ }),\n/* 755 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(11);\nvar inheritIfRequired = __webpack_require__(220);\nvar dP = __webpack_require__(22).f;\nvar gOPN = __webpack_require__(89).f;\nvar isRegExp = __webpack_require__(161);\nvar $flags = __webpack_require__(133);\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (__webpack_require__(20) && (!CORRECT_NEW || __webpack_require__(12)(function () {\n re2[__webpack_require__(16)('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n __webpack_require__(37)(global, 'RegExp', $RegExp);\n}\n\n__webpack_require__(93)('RegExp');\n\n\n/***/ }),\n/* 756 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(9);\nvar toLength = __webpack_require__(19);\nvar advanceStringIndex = __webpack_require__(212);\nvar regExpExec = __webpack_require__(165);\n\n// @@match logic\n__webpack_require__(159)('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n/***/ }),\n/* 757 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(9);\nvar toObject = __webpack_require__(25);\nvar toLength = __webpack_require__(19);\nvar toInteger = __webpack_require__(51);\nvar advanceStringIndex = __webpack_require__(212);\nvar regExpExec = __webpack_require__(165);\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\n__webpack_require__(159)('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/***/ }),\n/* 758 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(9);\nvar sameValue = __webpack_require__(348);\nvar regExpExec = __webpack_require__(165);\n\n// @@search logic\n__webpack_require__(159)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n\n\n/***/ }),\n/* 759 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __webpack_require__(161);\nvar anObject = __webpack_require__(9);\nvar speciesConstructor = __webpack_require__(137);\nvar advanceStringIndex = __webpack_require__(212);\nvar toLength = __webpack_require__(19);\nvar callRegExpExec = __webpack_require__(165);\nvar regexpExec = __webpack_require__(228);\nvar fails = __webpack_require__(12);\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\n__webpack_require__(159)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n\n\n/***/ }),\n/* 760 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(354);\nvar anObject = __webpack_require__(9);\nvar $flags = __webpack_require__(133);\nvar DESCRIPTORS = __webpack_require__(20);\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n __webpack_require__(37)(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (__webpack_require__(12)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n/***/ }),\n/* 761 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.2 String.prototype.anchor(name)\n__webpack_require__(38)('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n/***/ }),\n/* 762 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.3 String.prototype.big()\n__webpack_require__(38)('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n/***/ }),\n/* 763 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.4 String.prototype.blink()\n__webpack_require__(38)('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n/***/ }),\n/* 764 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.5 String.prototype.bold()\n__webpack_require__(38)('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n/***/ }),\n/* 765 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $at = __webpack_require__(168)(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/***/ }),\n/* 766 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\nvar $export = __webpack_require__(1);\nvar toLength = __webpack_require__(19);\nvar context = __webpack_require__(231);\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(218)(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/***/ }),\n/* 767 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.6 String.prototype.fixed()\n__webpack_require__(38)('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n/***/ }),\n/* 768 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.7 String.prototype.fontcolor(color)\n__webpack_require__(38)('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n/***/ }),\n/* 769 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.8 String.prototype.fontsize(size)\n__webpack_require__(38)('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n/***/ }),\n/* 770 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar toAbsoluteIndex = __webpack_require__(94);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 771 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(1);\nvar context = __webpack_require__(231);\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(218)(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n/* 772 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.9 String.prototype.italics()\n__webpack_require__(38)('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n/***/ }),\n/* 773 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(168)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(223)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 774 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.10 String.prototype.link(url)\n__webpack_require__(38)('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n/***/ }),\n/* 775 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar toIObject = __webpack_require__(43);\nvar toLength = __webpack_require__(19);\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/***/ }),\n/* 776 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: __webpack_require__(232)\n});\n\n\n/***/ }),\n/* 777 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.11 String.prototype.small()\n__webpack_require__(38)('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n/***/ }),\n/* 778 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(1);\nvar toLength = __webpack_require__(19);\nvar context = __webpack_require__(231);\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(218)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n/* 779 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.12 String.prototype.strike()\n__webpack_require__(38)('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n/***/ }),\n/* 780 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.13 String.prototype.sub()\n__webpack_require__(38)('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n/***/ }),\n/* 781 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.14 String.prototype.sup()\n__webpack_require__(38)('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n/***/ }),\n/* 782 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.1.3.25 String.prototype.trim()\n__webpack_require__(114)('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n/***/ }),\n/* 783 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(11);\nvar has = __webpack_require__(40);\nvar DESCRIPTORS = __webpack_require__(20);\nvar $export = __webpack_require__(1);\nvar redefine = __webpack_require__(37);\nvar META = __webpack_require__(76).KEY;\nvar $fails = __webpack_require__(12);\nvar shared = __webpack_require__(136);\nvar setToStringTag = __webpack_require__(113);\nvar uid = __webpack_require__(95);\nvar wks = __webpack_require__(16);\nvar wksExt = __webpack_require__(351);\nvar wksDefine = __webpack_require__(236);\nvar enumKeys = __webpack_require__(660);\nvar isArray = __webpack_require__(160);\nvar anObject = __webpack_require__(9);\nvar isObject = __webpack_require__(13);\nvar toObject = __webpack_require__(25);\nvar toIObject = __webpack_require__(43);\nvar toPrimitive = __webpack_require__(58);\nvar createDesc = __webpack_require__(91);\nvar _create = __webpack_require__(88);\nvar gOPNExt = __webpack_require__(340);\nvar $GOPD = __webpack_require__(41);\nvar $GOPS = __webpack_require__(164);\nvar $DP = __webpack_require__(22);\nvar $keys = __webpack_require__(90);\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 __webpack_require__(89).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(135).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(75)) {\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] || __webpack_require__(36)($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/***/ }),\n/* 784 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $typed = __webpack_require__(169);\nvar buffer = __webpack_require__(235);\nvar anObject = __webpack_require__(9);\nvar toAbsoluteIndex = __webpack_require__(94);\nvar toLength = __webpack_require__(19);\nvar isObject = __webpack_require__(13);\nvar ArrayBuffer = __webpack_require__(11).ArrayBuffer;\nvar speciesConstructor = __webpack_require__(137);\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 * __webpack_require__(12)(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\n__webpack_require__(93)(ARRAY_BUFFER);\n\n\n/***/ }),\n/* 785 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n$export($export.G + $export.W + $export.F * !__webpack_require__(169).ABV, {\n DataView: __webpack_require__(235).DataView\n});\n\n\n/***/ }),\n/* 786 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 787 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 788 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 789 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 790 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 791 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 792 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 793 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 794 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(68)('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n/***/ }),\n/* 795 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar weak = __webpack_require__(328);\nvar validate = __webpack_require__(96);\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\n__webpack_require__(158)(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/***/ }),\n/* 796 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = __webpack_require__(1);\nvar flattenIntoArray = __webpack_require__(329);\nvar toObject = __webpack_require__(25);\nvar toLength = __webpack_require__(19);\nvar aFunction = __webpack_require__(31);\nvar arraySpeciesCreate = __webpack_require__(214);\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\n__webpack_require__(74)('flatMap');\n\n\n/***/ }),\n/* 797 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = __webpack_require__(1);\nvar flattenIntoArray = __webpack_require__(329);\nvar toObject = __webpack_require__(25);\nvar toLength = __webpack_require__(19);\nvar toInteger = __webpack_require__(51);\nvar arraySpeciesCreate = __webpack_require__(214);\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\n__webpack_require__(74)('flatten');\n\n\n/***/ }),\n/* 798 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(1);\nvar $includes = __webpack_require__(157)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(74)('includes');\n\n\n/***/ }),\n/* 799 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = __webpack_require__(1);\nvar microtask = __webpack_require__(226)();\nvar process = __webpack_require__(11).process;\nvar isNode = __webpack_require__(47)(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\n\n/***/ }),\n/* 800 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/ljharb/proposal-is-error\nvar $export = __webpack_require__(1);\nvar cof = __webpack_require__(47);\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n\n\n/***/ }),\n/* 801 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(1);\n\n$export($export.G, { global: __webpack_require__(11) });\n\n\n/***/ }),\n/* 802 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(166)('Map');\n\n\n/***/ }),\n/* 803 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(167)('Map');\n\n\n/***/ }),\n/* 804 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(1);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(327)('Map') });\n\n\n/***/ }),\n/* 805 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\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\n\n/***/ }),\n/* 806 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n/***/ }),\n/* 807 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n\n\n/***/ }),\n/* 808 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\nvar scale = __webpack_require__(337);\nvar fround = __webpack_require__(335);\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n\n\n/***/ }),\n/* 809 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\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\n\n/***/ }),\n/* 810 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\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\n\n/***/ }),\n/* 811 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n isubh: function isubh(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\n\n/***/ }),\n/* 812 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n/***/ }),\n/* 813 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n\n\n/***/ }),\n/* 814 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { scale: __webpack_require__(337) });\n\n\n/***/ }),\n/* 815 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = __webpack_require__(1);\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/***/ }),\n/* 816 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\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\n\n/***/ }),\n/* 817 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(25);\nvar aFunction = __webpack_require__(31);\nvar $defineProperty = __webpack_require__(22);\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n__webpack_require__(20) && $export($export.P + __webpack_require__(163), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 818 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(25);\nvar aFunction = __webpack_require__(31);\nvar $defineProperty = __webpack_require__(22);\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n__webpack_require__(20) && $export($export.P + __webpack_require__(163), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 819 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(1);\nvar $entries = __webpack_require__(342)(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n/***/ }),\n/* 820 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = __webpack_require__(1);\nvar ownKeys = __webpack_require__(343);\nvar toIObject = __webpack_require__(43);\nvar gOPD = __webpack_require__(41);\nvar createProperty = __webpack_require__(215);\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/***/ }),\n/* 821 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(25);\nvar toPrimitive = __webpack_require__(58);\nvar getPrototypeOf = __webpack_require__(42);\nvar getOwnPropertyDescriptor = __webpack_require__(41).f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\n__webpack_require__(20) && $export($export.P + __webpack_require__(163), '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\n\n/***/ }),\n/* 822 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(25);\nvar toPrimitive = __webpack_require__(58);\nvar getPrototypeOf = __webpack_require__(42);\nvar getOwnPropertyDescriptor = __webpack_require__(41).f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\n__webpack_require__(20) && $export($export.P + __webpack_require__(163), 'Object', {\n __lookupSetter__: function __lookupSetter__(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.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 823 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(1);\nvar $values = __webpack_require__(342)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n/***/ }),\n/* 824 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/zenparsing/es-observable\nvar $export = __webpack_require__(1);\nvar global = __webpack_require__(11);\nvar core = __webpack_require__(48);\nvar microtask = __webpack_require__(226)();\nvar OBSERVABLE = __webpack_require__(16)('observable');\nvar aFunction = __webpack_require__(31);\nvar anObject = __webpack_require__(9);\nvar anInstance = __webpack_require__(86);\nvar redefineAll = __webpack_require__(92);\nvar hide = __webpack_require__(36);\nvar forOf = __webpack_require__(87);\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\n__webpack_require__(93)('Observable');\n\n\n/***/ }),\n/* 825 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(1);\nvar core = __webpack_require__(48);\nvar global = __webpack_require__(11);\nvar speciesConstructor = __webpack_require__(137);\nvar promiseResolve = __webpack_require__(347);\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/***/ }),\n/* 826 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(1);\nvar newPromiseCapability = __webpack_require__(227);\nvar perform = __webpack_require__(346);\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/***/ }),\n/* 827 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\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\n\n/***/ }),\n/* 828 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\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/***/ }),\n/* 829 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Set = __webpack_require__(355);\nvar from = __webpack_require__(323);\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\nvar getPrototypeOf = __webpack_require__(42);\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\n\n/***/ }),\n/* 830 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\nvar getPrototypeOf = __webpack_require__(42);\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\n\n/***/ }),\n/* 831 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\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\n\n/***/ }),\n/* 832 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\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\n\n/***/ }),\n/* 833 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\nvar getPrototypeOf = __webpack_require__(42);\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/***/ }),\n/* 834 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\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/***/ }),\n/* 835 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $metadata = __webpack_require__(67);\nvar anObject = __webpack_require__(9);\nvar aFunction = __webpack_require__(31);\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n/***/ }),\n/* 836 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n__webpack_require__(166)('Set');\n\n\n/***/ }),\n/* 837 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n__webpack_require__(167)('Set');\n\n\n/***/ }),\n/* 838 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(1);\n\n$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(327)('Set') });\n\n\n/***/ }),\n/* 839 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = __webpack_require__(1);\nvar $at = __webpack_require__(168)(true);\n\n$export($export.P, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 840 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = __webpack_require__(1);\nvar defined = __webpack_require__(56);\nvar toLength = __webpack_require__(19);\nvar isRegExp = __webpack_require__(161);\nvar getFlags = __webpack_require__(133);\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\n__webpack_require__(222)($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\n\n/***/ }),\n/* 841 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(1);\nvar $pad = __webpack_require__(349);\nvar userAgent = __webpack_require__(170);\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\n\n/***/ }),\n/* 842 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(1);\nvar $pad = __webpack_require__(349);\nvar userAgent = __webpack_require__(170);\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 padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n/***/ }),\n/* 843 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(114)('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n/***/ }),\n/* 844 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(114)('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n/***/ }),\n/* 845 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(236)('asyncIterator');\n\n\n/***/ }),\n/* 846 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(236)('observable');\n\n\n/***/ }),\n/* 847 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'System', { global: __webpack_require__(11) });\n\n\n/***/ }),\n/* 848 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n__webpack_require__(166)('WeakMap');\n\n\n/***/ }),\n/* 849 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n__webpack_require__(167)('WeakMap');\n\n\n/***/ }),\n/* 850 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n__webpack_require__(166)('WeakSet');\n\n\n/***/ }),\n/* 851 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n__webpack_require__(167)('WeakSet');\n\n\n/***/ }),\n/* 852 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(238);\nvar getKeys = __webpack_require__(90);\nvar redefine = __webpack_require__(37);\nvar global = __webpack_require__(11);\nvar hide = __webpack_require__(36);\nvar Iterators = __webpack_require__(112);\nvar wks = __webpack_require__(16);\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/***/ }),\n/* 853 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $task = __webpack_require__(234);\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n/***/ }),\n/* 854 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// ie9- setTimeout & setInterval additional parameters fix\nvar global = __webpack_require__(11);\nvar $export = __webpack_require__(1);\nvar userAgent = __webpack_require__(170);\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n/***/ }),\n/* 855 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(783);\n__webpack_require__(722);\n__webpack_require__(724);\n__webpack_require__(723);\n__webpack_require__(726);\n__webpack_require__(728);\n__webpack_require__(733);\n__webpack_require__(727);\n__webpack_require__(725);\n__webpack_require__(735);\n__webpack_require__(734);\n__webpack_require__(730);\n__webpack_require__(731);\n__webpack_require__(729);\n__webpack_require__(721);\n__webpack_require__(732);\n__webpack_require__(736);\n__webpack_require__(737);\n__webpack_require__(689);\n__webpack_require__(691);\n__webpack_require__(690);\n__webpack_require__(739);\n__webpack_require__(738);\n__webpack_require__(709);\n__webpack_require__(719);\n__webpack_require__(720);\n__webpack_require__(710);\n__webpack_require__(711);\n__webpack_require__(712);\n__webpack_require__(713);\n__webpack_require__(714);\n__webpack_require__(715);\n__webpack_require__(716);\n__webpack_require__(717);\n__webpack_require__(718);\n__webpack_require__(692);\n__webpack_require__(693);\n__webpack_require__(694);\n__webpack_require__(695);\n__webpack_require__(696);\n__webpack_require__(697);\n__webpack_require__(698);\n__webpack_require__(699);\n__webpack_require__(700);\n__webpack_require__(701);\n__webpack_require__(702);\n__webpack_require__(703);\n__webpack_require__(704);\n__webpack_require__(705);\n__webpack_require__(706);\n__webpack_require__(707);\n__webpack_require__(708);\n__webpack_require__(770);\n__webpack_require__(775);\n__webpack_require__(782);\n__webpack_require__(773);\n__webpack_require__(765);\n__webpack_require__(766);\n__webpack_require__(771);\n__webpack_require__(776);\n__webpack_require__(778);\n__webpack_require__(761);\n__webpack_require__(762);\n__webpack_require__(763);\n__webpack_require__(764);\n__webpack_require__(767);\n__webpack_require__(768);\n__webpack_require__(769);\n__webpack_require__(772);\n__webpack_require__(774);\n__webpack_require__(777);\n__webpack_require__(779);\n__webpack_require__(780);\n__webpack_require__(781);\n__webpack_require__(684);\n__webpack_require__(686);\n__webpack_require__(685);\n__webpack_require__(688);\n__webpack_require__(687);\n__webpack_require__(673);\n__webpack_require__(671);\n__webpack_require__(677);\n__webpack_require__(674);\n__webpack_require__(680);\n__webpack_require__(682);\n__webpack_require__(670);\n__webpack_require__(676);\n__webpack_require__(667);\n__webpack_require__(681);\n__webpack_require__(665);\n__webpack_require__(679);\n__webpack_require__(678);\n__webpack_require__(672);\n__webpack_require__(675);\n__webpack_require__(664);\n__webpack_require__(666);\n__webpack_require__(669);\n__webpack_require__(668);\n__webpack_require__(683);\n__webpack_require__(238);\n__webpack_require__(755);\n__webpack_require__(353);\n__webpack_require__(760);\n__webpack_require__(354);\n__webpack_require__(756);\n__webpack_require__(757);\n__webpack_require__(758);\n__webpack_require__(759);\n__webpack_require__(740);\n__webpack_require__(352);\n__webpack_require__(355);\n__webpack_require__(356);\n__webpack_require__(795);\n__webpack_require__(784);\n__webpack_require__(785);\n__webpack_require__(790);\n__webpack_require__(793);\n__webpack_require__(794);\n__webpack_require__(788);\n__webpack_require__(791);\n__webpack_require__(789);\n__webpack_require__(792);\n__webpack_require__(786);\n__webpack_require__(787);\n__webpack_require__(741);\n__webpack_require__(742);\n__webpack_require__(743);\n__webpack_require__(744);\n__webpack_require__(745);\n__webpack_require__(748);\n__webpack_require__(746);\n__webpack_require__(747);\n__webpack_require__(749);\n__webpack_require__(750);\n__webpack_require__(751);\n__webpack_require__(752);\n__webpack_require__(754);\n__webpack_require__(753);\n__webpack_require__(798);\n__webpack_require__(796);\n__webpack_require__(797);\n__webpack_require__(839);\n__webpack_require__(842);\n__webpack_require__(841);\n__webpack_require__(843);\n__webpack_require__(844);\n__webpack_require__(840);\n__webpack_require__(845);\n__webpack_require__(846);\n__webpack_require__(820);\n__webpack_require__(823);\n__webpack_require__(819);\n__webpack_require__(817);\n__webpack_require__(818);\n__webpack_require__(821);\n__webpack_require__(822);\n__webpack_require__(804);\n__webpack_require__(838);\n__webpack_require__(803);\n__webpack_require__(837);\n__webpack_require__(849);\n__webpack_require__(851);\n__webpack_require__(802);\n__webpack_require__(836);\n__webpack_require__(848);\n__webpack_require__(850);\n__webpack_require__(801);\n__webpack_require__(847);\n__webpack_require__(800);\n__webpack_require__(805);\n__webpack_require__(806);\n__webpack_require__(807);\n__webpack_require__(808);\n__webpack_require__(809);\n__webpack_require__(811);\n__webpack_require__(810);\n__webpack_require__(812);\n__webpack_require__(813);\n__webpack_require__(814);\n__webpack_require__(816);\n__webpack_require__(815);\n__webpack_require__(825);\n__webpack_require__(826);\n__webpack_require__(827);\n__webpack_require__(828);\n__webpack_require__(830);\n__webpack_require__(829);\n__webpack_require__(832);\n__webpack_require__(831);\n__webpack_require__(833);\n__webpack_require__(834);\n__webpack_require__(835);\n__webpack_require__(799);\n__webpack_require__(824);\n__webpack_require__(854);\n__webpack_require__(853);\n__webpack_require__(852);\nmodule.exports = __webpack_require__(48);\n\n\n/***/ }),\n/* 856 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar _barGrid = __webpack_require__(177);\n\nvar layout = _barGrid.layout;\nvar largeLayout = _barGrid.largeLayout;\n\n__webpack_require__(256);\n\n__webpack_require__(857);\n\n__webpack_require__(858);\n\n__webpack_require__(141);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 857 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(360);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 = BaseBarSeries.extend({\n type: 'series.bar',\n dependencies: ['grid', 'polar'],\n brushSelector: 'rect',\n\n /**\n * @override\n */\n getProgressive: function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n },\n\n /**\n * @override\n */\n getProgressiveThreshold: function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n\n return progressiveThreshold;\n },\n defaultOption: {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n // If use caps on two sides of bars\n // Only available on tangential polar bar\n roundCap: false,\n showBackground: false,\n backgroundStyle: {\n color: 'rgba(180, 180, 180, 0.2)',\n borderColor: null,\n borderWidth: 0,\n borderType: 'solid',\n borderRadius: 0,\n shadowBlur: 0,\n shadowColor: null,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n }\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 858 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar _helper = __webpack_require__(361);\n\nvar setLabel = _helper.setLabel;\n\nvar Model = __webpack_require__(26);\n\nvar barItemStyle = __webpack_require__(861);\n\nvar Path = __webpack_require__(21);\n\nvar Group = __webpack_require__(104);\n\nvar _throttle = __webpack_require__(81);\n\nvar throttle = _throttle.throttle;\n\nvar _createClipPathFromCoordSys = __webpack_require__(139);\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\nvar Sausage = __webpack_require__(1113);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'barBorderWidth'];\nvar _eventPos = [0, 0]; // FIXME\n// Just for compatible with ec2.\n\nzrUtil.extend(Model.prototype, barItemStyle);\n\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n\n if (coord.type === 'cartesian2d') {\n var baseAxis = coord.getBaseAxis(); // When boundaryGap is false or using time axis. bar may exceed the grid.\n // We should not clip this part.\n // See test/bar2.html\n\n if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\n\n if (baseAxis.isHorizontal()) {\n coordSysClipArea.x -= expandWidth;\n coordSysClipArea.width += expandWidth * 2;\n } else {\n coordSysClipArea.y -= expandWidth;\n coordSysClipArea.height += expandWidth * 2;\n }\n }\n }\n\n return coordSysClipArea;\n}\n\nvar _default = echarts.extendChartView({\n type: 'bar',\n render: function (seriesModel, ecModel, api) {\n this._updateDrawMode(seriesModel);\n\n var coordinateSystemType = seriesModel.get('coordinateSystem');\n\n if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api);\n } else {}\n\n return this.group;\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._clear();\n\n this._updateDrawMode(seriesModel);\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n // Do not support progressive in normal mode.\n this._incrementalRenderLarge(params, seriesModel);\n },\n _updateDrawMode: function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n },\n _renderNormal: function (seriesModel, ecModel, api) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coord = seriesModel.coordinateSystem;\n var baseAxis = coord.getBaseAxis();\n var isHorizontalOrRadial;\n\n if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var needsClip = seriesModel.get('clip', true);\n var coordSysClipArea = getClipArea(coord, data); // If there is clipPath created in large mode. Remove it.\n\n group.removeClipPath(); // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\n\n var roundCap = seriesModel.get('roundCap', true);\n var drawBackground = seriesModel.get('showBackground', true);\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var bgEls = [];\n var oldBgEls = this._backgroundEls || [];\n data.diff(oldData).add(function (dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n\n if (drawBackground) {\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, layout);\n bgEl.useStyle(backgroundModel.getBarItemStyle());\n bgEls[dataIndex] = bgEl;\n } // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n\n\n if (!data.hasValue(dataIndex)) {\n return;\n }\n\n if (needsClip) {\n // Clip will modify the layout params.\n // And return a boolean to determine if the shape are fully clipped.\n var isClipped = clip[coord.type](coordSysClipArea, layout);\n\n if (isClipped) {\n group.remove(el);\n return;\n }\n }\n\n var el = elementCreator[coord.type](dataIndex, layout, isHorizontalOrRadial, animationModel, false, roundCap);\n data.setItemGraphicEl(dataIndex, el);\n group.add(el);\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }).update(function (newIndex, oldIndex) {\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n\n if (drawBackground) {\n var bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getBarItemStyle());\n bgEls[newIndex] = bgEl;\n var shape = createBackgroundShape(isHorizontalOrRadial, layout, coord);\n graphic.updateProps(bgEl, {\n shape: shape\n }, animationModel, newIndex);\n }\n\n var el = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex)) {\n group.remove(el);\n return;\n }\n\n if (needsClip) {\n var isClipped = clip[coord.type](coordSysClipArea, layout);\n\n if (isClipped) {\n group.remove(el);\n return;\n }\n }\n\n if (el) {\n graphic.updateProps(el, {\n shape: layout\n }, animationModel, newIndex);\n } else {\n el = elementCreator[coord.type](newIndex, layout, isHorizontalOrRadial, animationModel, true, roundCap);\n }\n\n data.setItemGraphicEl(newIndex, el); // Add back\n\n group.add(el);\n updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }).remove(function (dataIndex) {\n var el = oldData.getItemGraphicEl(dataIndex);\n\n if (coord.type === 'cartesian2d') {\n el && removeRect(dataIndex, animationModel, el);\n } else {\n el && removeSector(dataIndex, animationModel, el);\n }\n }).execute();\n var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());\n bgGroup.removeAll();\n\n for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n },\n _renderLarge: function (seriesModel, ecModel, api) {\n this._clear();\n\n createLarge(seriesModel, this.group); // Use clipPath in large mode.\n\n var clipPath = seriesModel.get('clip', true) ? createClipPath(seriesModel.coordinateSystem, false, seriesModel) : null;\n\n if (clipPath) {\n this.group.setClipPath(clipPath);\n } else {\n this.group.removeClipPath();\n }\n },\n _incrementalRenderLarge: function (params, seriesModel) {\n this._removeBackground();\n\n createLarge(seriesModel, this.group, true);\n },\n dispose: zrUtil.noop,\n remove: function (ecModel) {\n this._clear(ecModel);\n },\n _clear: function (ecModel) {\n var group = this.group;\n var data = this._data;\n\n if (ecModel && ecModel.get('animation') && data && !this._isLargeDraw) {\n this._removeBackground();\n\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n if (el.type === 'sector') {\n removeSector(el.dataIndex, ecModel, el);\n } else {\n removeRect(el.dataIndex, ecModel, el);\n }\n });\n } else {\n group.removeAll();\n }\n\n this._data = null;\n },\n _removeBackground: function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n }\n});\n\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1; // Needs positive width and height\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n var x = mathMax(layout.x, coordSysBoundingRect.x);\n var x2 = mathMin(layout.x + layout.width, coordSysBoundingRect.x + coordSysBoundingRect.width);\n var y = mathMax(layout.y, coordSysBoundingRect.y);\n var y2 = mathMin(layout.y + layout.height, coordSysBoundingRect.y + coordSysBoundingRect.height);\n layout.x = x;\n layout.y = y;\n layout.width = x2 - x;\n layout.height = y2 - y;\n var clipped = layout.width < 0 || layout.height < 0; // Reverse back\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n return clipped;\n },\n polar: function (coordSysClipArea) {\n return false;\n }\n};\nvar elementCreator = {\n cartesian2d: function (dataIndex, layout, isHorizontal, animationModel, isUpdate) {\n var rect = new graphic.Rect({\n shape: zrUtil.extend({}, layout),\n z2: 1\n });\n rect.name = 'item'; // Animation\n\n if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n var animateTarget = {};\n rectShape[animateProperty] = 0;\n animateTarget[animateProperty] = layout[animateProperty];\n graphic[isUpdate ? 'updateProps' : 'initProps'](rect, {\n shape: animateTarget\n }, animationModel, dataIndex);\n }\n\n return rect;\n },\n polar: function (dataIndex, layout, isRadial, animationModel, isUpdate, roundCap) {\n // Keep the same logic with bar in catesion: use end value to control\n // direction. Notice that if clockwise is true (by default), the sector\n // will always draw clockwisely, no matter whether endAngle is greater\n // or less than startAngle.\n var clockwise = layout.startAngle < layout.endAngle;\n var ShapeClass = !isRadial && roundCap ? Sausage : graphic.Sector;\n var sector = new ShapeClass({\n shape: zrUtil.defaults({\n clockwise: clockwise\n }, layout),\n z2: 1\n });\n sector.name = 'item'; // Animation\n\n if (animationModel) {\n var sectorShape = sector.shape;\n var animateProperty = isRadial ? 'r' : 'endAngle';\n var animateTarget = {};\n sectorShape[animateProperty] = isRadial ? 0 : layout.startAngle;\n animateTarget[animateProperty] = layout[animateProperty];\n graphic[isUpdate ? 'updateProps' : 'initProps'](sector, {\n shape: animateTarget\n }, animationModel, dataIndex);\n }\n\n return sector;\n }\n};\n\nfunction removeRect(dataIndex, animationModel, el) {\n // Not show text when animating\n el.style.text = null;\n graphic.updateProps(el, {\n shape: {\n width: 0\n }\n }, animationModel, dataIndex, function () {\n el.parent && el.parent.remove(el);\n });\n}\n\nfunction removeSector(dataIndex, animationModel, el) {\n // Not show text when animating\n el.style.text = null;\n graphic.updateProps(el, {\n shape: {\n r: el.shape.r0\n }\n }, animationModel, dataIndex, function () {\n el.parent && el.parent.remove(el);\n });\n}\n\nvar getLayout = {\n cartesian2d: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n var fixedLineWidth = getLineWidth(itemModel, layout); // fix layout with lineWidth\n\n var signX = layout.width > 0 ? 1 : -1;\n var signY = layout.height > 0 ? 1 : -1;\n return {\n x: layout.x + signX * fixedLineWidth / 2,\n y: layout.y + signY * fixedLineWidth / 2,\n width: layout.width - signX * fixedLineWidth,\n height: layout.height - signY * fixedLineWidth\n };\n },\n polar: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n return {\n cx: layout.cx,\n cy: layout.cy,\n r0: layout.r0,\n r: layout.r,\n startAngle: layout.startAngle,\n endAngle: layout.endAngle\n };\n }\n};\n\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\n\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontal, isPolar) {\n var color = data.getItemVisual(dataIndex, 'color');\n var opacity = data.getItemVisual(dataIndex, 'opacity');\n var stroke = data.getVisual('borderColor');\n var itemStyleModel = itemModel.getModel('itemStyle');\n var hoverStyle = itemModel.getModel('emphasis.itemStyle').getBarItemStyle();\n\n if (!isPolar) {\n el.setShape('r', itemStyleModel.get('barBorderRadius') || 0);\n }\n\n el.useStyle(zrUtil.defaults({\n stroke: isZeroOnPolar(layout) ? 'none' : stroke,\n fill: isZeroOnPolar(layout) ? 'none' : color,\n opacity: opacity\n }, itemStyleModel.getBarItemStyle()));\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && el.attr('cursor', cursorStyle);\n var labelPositionOutside = isHorizontal ? layout.height > 0 ? 'bottom' : 'top' : layout.width > 0 ? 'left' : 'right';\n\n if (!isPolar) {\n setLabel(el.style, hoverStyle, itemModel, color, seriesModel, dataIndex, labelPositionOutside);\n }\n\n if (isZeroOnPolar(layout)) {\n hoverStyle.fill = hoverStyle.stroke = 'none';\n }\n\n graphic.setHoverStyle(el, hoverStyle);\n} // In case width or height are too small.\n\n\nfunction getLineWidth(itemModel, rawLayout) {\n var lineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0; // width or height may be NaN for empty data\n\n var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n return Math.min(lineWidth, width, height);\n}\n\nvar LargePath = Path.extend({\n type: 'largeBar',\n shape: {\n points: []\n },\n buildPath: function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n var startPoint = this.__startPoint;\n var baseDimIdx = this.__baseDimIdx;\n\n for (var i = 0; i < points.length; i += 2) {\n startPoint[baseDimIdx] = points[i + baseDimIdx];\n ctx.moveTo(startPoint[0], startPoint[1]);\n ctx.lineTo(points[i], points[i + 1]);\n }\n }\n});\n\nfunction createLarge(seriesModel, group, incremental) {\n // TODO support polar\n var data = seriesModel.getData();\n var startPoint = [];\n var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n startPoint[1 - baseDimIdx] = data.getLayout('valueAxisStart');\n var largeDataIndices = data.getLayout('largeDataIndices');\n var barWidth = data.getLayout('barWidth');\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var drawBackground = seriesModel.get('showBackground', true);\n\n if (drawBackground) {\n var points = data.getLayout('largeBackgroundPoints');\n var backgroundStartPoint = [];\n backgroundStartPoint[1 - baseDimIdx] = data.getLayout('backgroundStart');\n var bgEl = new LargePath({\n shape: {\n points: points\n },\n incremental: !!incremental,\n __startPoint: backgroundStartPoint,\n __baseDimIdx: baseDimIdx,\n __largeDataIndices: largeDataIndices,\n __barWidth: barWidth,\n silent: true,\n z2: 0\n });\n setLargeBackgroundStyle(bgEl, backgroundModel, data);\n group.add(bgEl);\n }\n\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n __startPoint: startPoint,\n __baseDimIdx: baseDimIdx,\n __largeDataIndices: largeDataIndices,\n __barWidth: barWidth\n });\n group.add(el);\n setLargeStyle(el, seriesModel, data); // Enable tooltip and user mouse/touch event handlers.\n\n el.seriesIndex = seriesModel.seriesIndex;\n\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n} // Use throttle to avoid frequently traverse to find dataIndex.\n\n\nvar largePathUpdateDataIndex = throttle(function (event) {\n var largePath = this;\n var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n largePath.dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\n\nfunction largePathFindDataIndex(largePath, x, y) {\n var baseDimIdx = largePath.__baseDimIdx;\n var valueDimIdx = 1 - baseDimIdx;\n var points = largePath.shape.points;\n var largeDataIndices = largePath.__largeDataIndices;\n var barWidthHalf = Math.abs(largePath.__barWidth / 2);\n var startValueVal = largePath.__startPoint[valueDimIdx];\n _eventPos[0] = x;\n _eventPos[1] = y;\n var pointerBaseVal = _eventPos[baseDimIdx];\n var pointerValueVal = _eventPos[1 - baseDimIdx];\n var baseLowerBound = pointerBaseVal - barWidthHalf;\n var baseUpperBound = pointerBaseVal + barWidthHalf;\n\n for (var i = 0, len = points.length / 2; i < len; i++) {\n var ii = i * 2;\n var barBaseVal = points[ii + baseDimIdx];\n var barValueVal = points[ii + valueDimIdx];\n\n if (barBaseVal >= baseLowerBound && barBaseVal <= baseUpperBound && (startValueVal <= barValueVal ? pointerValueVal >= startValueVal && pointerValueVal <= barValueVal : pointerValueVal >= barValueVal && pointerValueVal <= startValueVal)) {\n return largeDataIndices[i];\n }\n }\n\n return -1;\n}\n\nfunction setLargeStyle(el, seriesModel, data) {\n var borderColor = data.getVisual('borderColor') || data.getVisual('color');\n var itemStyle = seriesModel.getModel('itemStyle').getItemStyle(['color', 'borderColor']);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor;\n el.style.lineWidth = data.getLayout('barWidth');\n}\n\nfunction setLargeBackgroundStyle(el, backgroundModel, data) {\n var borderColor = backgroundModel.get('borderColor') || backgroundModel.get('color');\n var itemStyle = backgroundModel.getItemStyle(['color', 'borderColor']);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor;\n el.style.lineWidth = data.getLayout('barWidth');\n}\n\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n var coordLayout;\n var isPolar = coord.type === 'polar';\n\n if (isPolar) {\n coordLayout = coord.getArea();\n } else {\n coordLayout = coord.grid.getRect();\n }\n\n if (isPolar) {\n return {\n cx: coordLayout.cx,\n cy: coordLayout.cy,\n r0: isHorizontalOrRadial ? coordLayout.r0 : layout.r0,\n r: isHorizontalOrRadial ? coordLayout.r : layout.r,\n startAngle: isHorizontalOrRadial ? layout.startAngle : 0,\n endAngle: isHorizontalOrRadial ? layout.endAngle : Math.PI * 2\n };\n } else {\n return {\n x: isHorizontalOrRadial ? layout.x : coordLayout.x,\n y: isHorizontalOrRadial ? coordLayout.y : layout.y,\n width: isHorizontalOrRadial ? layout.width : coordLayout.width,\n height: isHorizontalOrRadial ? coordLayout.height : layout.height\n };\n }\n}\n\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n var ElementClz = coord.type === 'polar' ? graphic.Sector : graphic.Rect;\n return new ElementClz({\n shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n silent: true,\n z2: 0\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 859 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(360);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 defualt.\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/***/ }),\n/* 860 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar _symbol = __webpack_require__(45);\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\nvar isNumeric = _number.isNumeric;\n\nvar _helper = __webpack_require__(361);\n\nvar setLabel = _helper.setLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'borderWidth']; // index: +isHorizontal\n\nvar LAYOUT_ATTRS = [{\n xy: 'x',\n wh: 'width',\n index: 0,\n posDesc: ['left', 'right']\n}, {\n xy: 'y',\n wh: 'height',\n index: 1,\n posDesc: ['top', 'bottom']\n}];\nvar pathForLineWidth = new graphic.Circle();\nvar BarView = echarts.extendChartView({\n type: 'pictorialBar',\n render: function (seriesModel, ecModel, api) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = !!baseAxis.isHorizontal();\n var coordSysRect = cartesian.grid.getRect();\n var opt = {\n ecSize: {\n width: api.getWidth(),\n height: api.getHeight()\n },\n seriesModel: seriesModel,\n coordSys: cartesian,\n coordSysExtent: [[coordSysRect.x, coordSysRect.x + coordSysRect.width], [coordSysRect.y, coordSysRect.y + coordSysRect.height]],\n isHorizontal: isHorizontal,\n valueDim: LAYOUT_ATTRS[+isHorizontal],\n categoryDim: LAYOUT_ATTRS[1 - isHorizontal]\n };\n data.diff(oldData).add(function (dataIndex) {\n if (!data.hasValue(dataIndex)) {\n return;\n }\n\n var itemModel = getItemModel(data, dataIndex);\n var symbolMeta = getSymbolMeta(data, dataIndex, itemModel, opt);\n var bar = createBar(data, opt, symbolMeta);\n data.setItemGraphicEl(dataIndex, bar);\n group.add(bar);\n updateCommon(bar, opt, symbolMeta);\n }).update(function (newIndex, oldIndex) {\n var bar = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex)) {\n group.remove(bar);\n return;\n }\n\n var itemModel = getItemModel(data, newIndex);\n var symbolMeta = getSymbolMeta(data, newIndex, itemModel, opt);\n var pictorialShapeStr = getShapeStr(data, symbolMeta);\n\n if (bar && pictorialShapeStr !== bar.__pictorialShapeStr) {\n group.remove(bar);\n data.setItemGraphicEl(newIndex, null);\n bar = null;\n }\n\n if (bar) {\n updateBar(bar, opt, symbolMeta);\n } else {\n bar = createBar(data, opt, symbolMeta, true);\n }\n\n data.setItemGraphicEl(newIndex, bar);\n bar.__pictorialSymbolMeta = symbolMeta; // Add back\n\n group.add(bar);\n updateCommon(bar, opt, symbolMeta);\n }).remove(function (dataIndex) {\n var bar = oldData.getItemGraphicEl(dataIndex);\n bar && removeBar(oldData, dataIndex, bar.__pictorialSymbolMeta.animationModel, bar);\n }).execute();\n this._data = data;\n return this.group;\n },\n dispose: zrUtil.noop,\n remove: function (ecModel, api) {\n var group = this.group;\n var data = this._data;\n\n if (ecModel.get('animation')) {\n if (data) {\n data.eachItemGraphicEl(function (bar) {\n removeBar(data, bar.dataIndex, ecModel, bar);\n });\n }\n } else {\n group.removeAll();\n }\n }\n}); // Set or calculate default value about symbol, and calculate layout info.\n\nfunction getSymbolMeta(data, dataIndex, itemModel, opt) {\n var layout = data.getItemLayout(dataIndex);\n var symbolRepeat = itemModel.get('symbolRepeat');\n var symbolClip = itemModel.get('symbolClip');\n var symbolPosition = itemModel.get('symbolPosition') || 'start';\n var symbolRotate = itemModel.get('symbolRotate');\n var rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n var symbolPatternSize = itemModel.get('symbolPatternSize') || 2;\n var isAnimationEnabled = itemModel.isAnimationEnabled();\n var symbolMeta = {\n dataIndex: dataIndex,\n layout: layout,\n itemModel: itemModel,\n symbolType: data.getItemVisual(dataIndex, 'symbol') || 'circle',\n color: data.getItemVisual(dataIndex, 'color'),\n symbolClip: symbolClip,\n symbolRepeat: symbolRepeat,\n symbolRepeatDirection: itemModel.get('symbolRepeatDirection'),\n symbolPatternSize: symbolPatternSize,\n rotation: rotation,\n animationModel: isAnimationEnabled ? itemModel : null,\n hoverAnimation: isAnimationEnabled && itemModel.get('hoverAnimation'),\n z2: itemModel.getShallow('z', true) || 0\n };\n prepareBarLength(itemModel, symbolRepeat, layout, opt, symbolMeta);\n prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, symbolMeta.boundingLength, symbolMeta.pxSign, symbolPatternSize, opt, symbolMeta);\n prepareLineWidth(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);\n var symbolSize = symbolMeta.symbolSize;\n var symbolOffset = itemModel.get('symbolOffset');\n\n if (zrUtil.isArray(symbolOffset)) {\n symbolOffset = [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])];\n }\n\n prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, symbolMeta.valueLineWidth, symbolMeta.boundingLength, symbolMeta.repeatCutLength, opt, symbolMeta);\n return symbolMeta;\n} // bar length can be negative.\n\n\nfunction prepareBarLength(itemModel, symbolRepeat, layout, opt, output) {\n var valueDim = opt.valueDim;\n var symbolBoundingData = itemModel.get('symbolBoundingData');\n var valueAxis = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());\n var zeroPx = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));\n var pxSignIdx = 1 - +(layout[valueDim.wh] <= 0);\n var boundingLength;\n\n if (zrUtil.isArray(symbolBoundingData)) {\n var symbolBoundingExtent = [convertToCoordOnAxis(valueAxis, symbolBoundingData[0]) - zeroPx, convertToCoordOnAxis(valueAxis, symbolBoundingData[1]) - zeroPx];\n symbolBoundingExtent[1] < symbolBoundingExtent[0] && symbolBoundingExtent.reverse();\n boundingLength = symbolBoundingExtent[pxSignIdx];\n } else if (symbolBoundingData != null) {\n boundingLength = convertToCoordOnAxis(valueAxis, symbolBoundingData) - zeroPx;\n } else if (symbolRepeat) {\n boundingLength = opt.coordSysExtent[valueDim.index][pxSignIdx] - zeroPx;\n } else {\n boundingLength = layout[valueDim.wh];\n }\n\n output.boundingLength = boundingLength;\n\n if (symbolRepeat) {\n output.repeatCutLength = layout[valueDim.wh];\n }\n\n output.pxSign = boundingLength > 0 ? 1 : boundingLength < 0 ? -1 : 0;\n}\n\nfunction convertToCoordOnAxis(axis, value) {\n return axis.toGlobalCoord(axis.dataToCoord(axis.scale.parse(value)));\n} // Support ['100%', '100%']\n\n\nfunction prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, boundingLength, pxSign, symbolPatternSize, opt, output) {\n var valueDim = opt.valueDim;\n var categoryDim = opt.categoryDim;\n var categorySize = Math.abs(layout[categoryDim.wh]);\n var symbolSize = data.getItemVisual(dataIndex, 'symbolSize');\n\n if (zrUtil.isArray(symbolSize)) {\n symbolSize = symbolSize.slice();\n } else {\n if (symbolSize == null) {\n symbolSize = '100%';\n }\n\n symbolSize = [symbolSize, symbolSize];\n } // Note: percentage symbolSize (like '100%') do not consider lineWidth, because it is\n // to complicated to calculate real percent value if considering scaled lineWidth.\n // So the actual size will bigger than layout size if lineWidth is bigger than zero,\n // which can be tolerated in pictorial chart.\n\n\n symbolSize[categoryDim.index] = parsePercent(symbolSize[categoryDim.index], categorySize);\n symbolSize[valueDim.index] = parsePercent(symbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));\n output.symbolSize = symbolSize; // If x or y is less than zero, show reversed shape.\n\n var symbolScale = output.symbolScale = [symbolSize[0] / symbolPatternSize, symbolSize[1] / symbolPatternSize]; // Follow convention, 'right' and 'top' is the normal scale.\n\n symbolScale[valueDim.index] *= (opt.isHorizontal ? -1 : 1) * pxSign;\n}\n\nfunction prepareLineWidth(itemModel, symbolScale, rotation, opt, output) {\n // In symbols are drawn with scale, so do not need to care about the case that width\n // or height are too small. But symbol use strokeNoScale, where acture lineWidth should\n // be calculated.\n var valueLineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;\n\n if (valueLineWidth) {\n pathForLineWidth.attr({\n scale: symbolScale.slice(),\n rotation: rotation\n });\n pathForLineWidth.updateTransform();\n valueLineWidth /= pathForLineWidth.getLineScale();\n valueLineWidth *= symbolScale[opt.valueDim.index];\n }\n\n output.valueLineWidth = valueLineWidth;\n}\n\nfunction prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, output) {\n var categoryDim = opt.categoryDim;\n var valueDim = opt.valueDim;\n var pxSign = output.pxSign;\n var unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);\n var pathLen = unitLength; // Note: rotation will not effect the layout of symbols, because user may\n // want symbols to rotate on its center, which should not be translated\n // when rotating.\n\n if (symbolRepeat) {\n var absBoundingLength = Math.abs(boundingLength);\n var symbolMargin = zrUtil.retrieve(itemModel.get('symbolMargin'), '15%') + '';\n var hasEndGap = false;\n\n if (symbolMargin.lastIndexOf('!') === symbolMargin.length - 1) {\n hasEndGap = true;\n symbolMargin = symbolMargin.slice(0, symbolMargin.length - 1);\n }\n\n symbolMargin = parsePercent(symbolMargin, symbolSize[valueDim.index]);\n var uLenWithMargin = Math.max(unitLength + symbolMargin * 2, 0); // When symbol margin is less than 0, margin at both ends will be subtracted\n // to ensure that all of the symbols will not be overflow the given area.\n\n var endFix = hasEndGap ? 0 : symbolMargin * 2; // Both final repeatTimes and final symbolMargin area calculated based on\n // boundingLength.\n\n var repeatSpecified = isNumeric(symbolRepeat);\n var repeatTimes = repeatSpecified ? symbolRepeat : toIntTimes((absBoundingLength + endFix) / uLenWithMargin); // Adjust calculate margin, to ensure each symbol is displayed\n // entirely in the given layout area.\n\n var mDiff = absBoundingLength - repeatTimes * unitLength;\n symbolMargin = mDiff / 2 / (hasEndGap ? repeatTimes : repeatTimes - 1);\n uLenWithMargin = unitLength + symbolMargin * 2;\n endFix = hasEndGap ? 0 : symbolMargin * 2; // Update repeatTimes when not all symbol will be shown.\n\n if (!repeatSpecified && symbolRepeat !== 'fixed') {\n repeatTimes = repeatCutLength ? toIntTimes((Math.abs(repeatCutLength) + endFix) / uLenWithMargin) : 0;\n }\n\n pathLen = repeatTimes * uLenWithMargin - endFix;\n output.repeatTimes = repeatTimes;\n output.symbolMargin = symbolMargin;\n }\n\n var sizeFix = pxSign * (pathLen / 2);\n var pathPosition = output.pathPosition = [];\n pathPosition[categoryDim.index] = layout[categoryDim.wh] / 2;\n pathPosition[valueDim.index] = symbolPosition === 'start' ? sizeFix : symbolPosition === 'end' ? boundingLength - sizeFix : boundingLength / 2; // 'center'\n\n if (symbolOffset) {\n pathPosition[0] += symbolOffset[0];\n pathPosition[1] += symbolOffset[1];\n }\n\n var bundlePosition = output.bundlePosition = [];\n bundlePosition[categoryDim.index] = layout[categoryDim.xy];\n bundlePosition[valueDim.index] = layout[valueDim.xy];\n var barRectShape = output.barRectShape = zrUtil.extend({}, layout);\n barRectShape[valueDim.wh] = pxSign * Math.max(Math.abs(layout[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix));\n barRectShape[categoryDim.wh] = layout[categoryDim.wh];\n var clipShape = output.clipShape = {}; // Consider that symbol may be overflow layout rect.\n\n clipShape[categoryDim.xy] = -layout[categoryDim.xy];\n clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];\n clipShape[valueDim.xy] = 0;\n clipShape[valueDim.wh] = layout[valueDim.wh];\n}\n\nfunction createPath(symbolMeta) {\n var symbolPatternSize = symbolMeta.symbolPatternSize;\n var path = createSymbol( // Consider texture img, make a big size.\n symbolMeta.symbolType, -symbolPatternSize / 2, -symbolPatternSize / 2, symbolPatternSize, symbolPatternSize, symbolMeta.color);\n path.attr({\n culling: true\n });\n path.type !== 'image' && path.setStyle({\n strokeNoScale: true\n });\n return path;\n}\n\nfunction createOrUpdateRepeatSymbols(bar, opt, symbolMeta, isUpdate) {\n var bundle = bar.__pictorialBundle;\n var symbolSize = symbolMeta.symbolSize;\n var valueLineWidth = symbolMeta.valueLineWidth;\n var pathPosition = symbolMeta.pathPosition;\n var valueDim = opt.valueDim;\n var repeatTimes = symbolMeta.repeatTimes || 0;\n var index = 0;\n var unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;\n eachPath(bar, function (path) {\n path.__pictorialAnimationIndex = index;\n path.__pictorialRepeatTimes = repeatTimes;\n\n if (index < repeatTimes) {\n updateAttr(path, null, makeTarget(index), symbolMeta, isUpdate);\n } else {\n updateAttr(path, null, {\n scale: [0, 0]\n }, symbolMeta, isUpdate, function () {\n bundle.remove(path);\n });\n }\n\n updateHoverAnimation(path, symbolMeta);\n index++;\n });\n\n for (; index < repeatTimes; index++) {\n var path = createPath(symbolMeta);\n path.__pictorialAnimationIndex = index;\n path.__pictorialRepeatTimes = repeatTimes;\n bundle.add(path);\n var target = makeTarget(index);\n updateAttr(path, {\n position: target.position,\n scale: [0, 0]\n }, {\n scale: target.scale,\n rotation: target.rotation\n }, symbolMeta, isUpdate); // FIXME\n // If all emphasis/normal through action.\n\n path.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n updateHoverAnimation(path, symbolMeta);\n }\n\n function makeTarget(index) {\n var position = pathPosition.slice(); // (start && pxSign > 0) || (end && pxSign < 0): i = repeatTimes - index\n // Otherwise: i = index;\n\n var pxSign = symbolMeta.pxSign;\n var i = index;\n\n if (symbolMeta.symbolRepeatDirection === 'start' ? pxSign > 0 : pxSign < 0) {\n i = repeatTimes - 1 - index;\n }\n\n position[valueDim.index] = unit * (i - repeatTimes / 2 + 0.5) + pathPosition[valueDim.index];\n return {\n position: position,\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n };\n }\n\n function onMouseOver() {\n eachPath(bar, function (path) {\n path.trigger('emphasis');\n });\n }\n\n function onMouseOut() {\n eachPath(bar, function (path) {\n path.trigger('normal');\n });\n }\n}\n\nfunction createOrUpdateSingleSymbol(bar, opt, symbolMeta, isUpdate) {\n var bundle = bar.__pictorialBundle;\n var mainPath = bar.__pictorialMainPath;\n\n if (!mainPath) {\n mainPath = bar.__pictorialMainPath = createPath(symbolMeta);\n bundle.add(mainPath);\n updateAttr(mainPath, {\n position: symbolMeta.pathPosition.slice(),\n scale: [0, 0],\n rotation: symbolMeta.rotation\n }, {\n scale: symbolMeta.symbolScale.slice()\n }, symbolMeta, isUpdate);\n mainPath.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n } else {\n updateAttr(mainPath, null, {\n position: symbolMeta.pathPosition.slice(),\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n }, symbolMeta, isUpdate);\n }\n\n updateHoverAnimation(mainPath, symbolMeta);\n\n function onMouseOver() {\n this.trigger('emphasis');\n }\n\n function onMouseOut() {\n this.trigger('normal');\n }\n} // bar rect is used for label.\n\n\nfunction createOrUpdateBarRect(bar, symbolMeta, isUpdate) {\n var rectShape = zrUtil.extend({}, symbolMeta.barRectShape);\n var barRect = bar.__pictorialBarRect;\n\n if (!barRect) {\n barRect = bar.__pictorialBarRect = new graphic.Rect({\n z2: 2,\n shape: rectShape,\n silent: true,\n style: {\n stroke: 'transparent',\n fill: 'transparent',\n lineWidth: 0\n }\n });\n bar.add(barRect);\n } else {\n updateAttr(barRect, null, {\n shape: rectShape\n }, symbolMeta, isUpdate);\n }\n}\n\nfunction createOrUpdateClip(bar, opt, symbolMeta, isUpdate) {\n // If not clip, symbol will be remove and rebuilt.\n if (symbolMeta.symbolClip) {\n var clipPath = bar.__pictorialClipPath;\n var clipShape = zrUtil.extend({}, symbolMeta.clipShape);\n var valueDim = opt.valueDim;\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n\n if (clipPath) {\n graphic.updateProps(clipPath, {\n shape: clipShape\n }, animationModel, dataIndex);\n } else {\n clipShape[valueDim.wh] = 0;\n clipPath = new graphic.Rect({\n shape: clipShape\n });\n\n bar.__pictorialBundle.setClipPath(clipPath);\n\n bar.__pictorialClipPath = clipPath;\n var target = {};\n target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];\n graphic[isUpdate ? 'updateProps' : 'initProps'](clipPath, {\n shape: target\n }, animationModel, dataIndex);\n }\n }\n}\n\nfunction getItemModel(data, dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n itemModel.getAnimationDelayParams = getAnimationDelayParams;\n itemModel.isAnimationEnabled = isAnimationEnabled;\n return itemModel;\n}\n\nfunction getAnimationDelayParams(path) {\n // The order is the same as the z-order, see `symbolRepeatDiretion`.\n return {\n index: path.__pictorialAnimationIndex,\n count: path.__pictorialRepeatTimes\n };\n}\n\nfunction isAnimationEnabled() {\n // `animation` prop can be set on itemModel in pictorial bar chart.\n return this.parentModel.isAnimationEnabled() && !!this.getShallow('animation');\n}\n\nfunction updateHoverAnimation(path, symbolMeta) {\n path.off('emphasis').off('normal');\n var scale = symbolMeta.symbolScale.slice();\n symbolMeta.hoverAnimation && path.on('emphasis', function () {\n this.animateTo({\n scale: [scale[0] * 1.1, scale[1] * 1.1]\n }, 400, 'elasticOut');\n }).on('normal', function () {\n this.animateTo({\n scale: scale.slice()\n }, 400, 'elasticOut');\n });\n}\n\nfunction createBar(data, opt, symbolMeta, isUpdate) {\n // bar is the main element for each data.\n var bar = new graphic.Group(); // bundle is used for location and clip.\n\n var bundle = new graphic.Group();\n bar.add(bundle);\n bar.__pictorialBundle = bundle;\n bundle.attr('position', symbolMeta.bundlePosition.slice());\n\n if (symbolMeta.symbolRepeat) {\n createOrUpdateRepeatSymbols(bar, opt, symbolMeta);\n } else {\n createOrUpdateSingleSymbol(bar, opt, symbolMeta);\n }\n\n createOrUpdateBarRect(bar, symbolMeta, isUpdate);\n createOrUpdateClip(bar, opt, symbolMeta, isUpdate);\n bar.__pictorialShapeStr = getShapeStr(data, symbolMeta);\n bar.__pictorialSymbolMeta = symbolMeta;\n return bar;\n}\n\nfunction updateBar(bar, opt, symbolMeta) {\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n var bundle = bar.__pictorialBundle;\n graphic.updateProps(bundle, {\n position: symbolMeta.bundlePosition.slice()\n }, animationModel, dataIndex);\n\n if (symbolMeta.symbolRepeat) {\n createOrUpdateRepeatSymbols(bar, opt, symbolMeta, true);\n } else {\n createOrUpdateSingleSymbol(bar, opt, symbolMeta, true);\n }\n\n createOrUpdateBarRect(bar, symbolMeta, true);\n createOrUpdateClip(bar, opt, symbolMeta, true);\n}\n\nfunction removeBar(data, dataIndex, animationModel, bar) {\n // Not show text when animating\n var labelRect = bar.__pictorialBarRect;\n labelRect && (labelRect.style.text = null);\n var pathes = [];\n eachPath(bar, function (path) {\n pathes.push(path);\n });\n bar.__pictorialMainPath && pathes.push(bar.__pictorialMainPath); // I do not find proper remove animation for clip yet.\n\n bar.__pictorialClipPath && (animationModel = null);\n zrUtil.each(pathes, function (path) {\n graphic.updateProps(path, {\n scale: [0, 0]\n }, animationModel, dataIndex, function () {\n bar.parent && bar.parent.remove(bar);\n });\n });\n data.setItemGraphicEl(dataIndex, null);\n}\n\nfunction getShapeStr(data, symbolMeta) {\n return [data.getItemVisual(symbolMeta.dataIndex, 'symbol') || 'none', !!symbolMeta.symbolRepeat, !!symbolMeta.symbolClip].join(':');\n}\n\nfunction eachPath(bar, cb, context) {\n // Do not use Group#eachChild, because it do not support remove.\n zrUtil.each(bar.__pictorialBundle.children(), function (el) {\n el !== bar.__pictorialBarRect && cb.call(context, el);\n });\n}\n\nfunction updateAttr(el, immediateAttrs, animationAttrs, symbolMeta, isUpdate, cb) {\n immediateAttrs && el.attr(immediateAttrs); // when symbolCip used, only clip path has init animation, otherwise it would be weird effect.\n\n if (symbolMeta.symbolClip && !isUpdate) {\n animationAttrs && el.attr(animationAttrs);\n } else {\n animationAttrs && graphic[isUpdate ? 'updateProps' : 'initProps'](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);\n }\n}\n\nfunction updateCommon(bar, opt, symbolMeta) {\n var color = symbolMeta.color;\n var dataIndex = symbolMeta.dataIndex;\n var itemModel = symbolMeta.itemModel; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n eachPath(bar, function (path) {\n // PENDING setColor should be before setStyle!!!\n path.setColor(color);\n path.setStyle(zrUtil.defaults({\n fill: color,\n opacity: symbolMeta.opacity\n }, normalStyle));\n graphic.setHoverStyle(path, hoverStyle);\n cursorStyle && (path.cursor = cursorStyle);\n path.z2 = symbolMeta.z2;\n });\n var barRectHoverStyle = {};\n var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];\n var barRect = bar.__pictorialBarRect;\n setLabel(barRect.style, barRectHoverStyle, itemModel, color, opt.seriesModel, dataIndex, barPositionOutside);\n graphic.setHoverStyle(barRect, barRectHoverStyle);\n}\n\nfunction toIntTimes(times) {\n var roundedTimes = Math.round(times); // Escapse accurate error\n\n return Math.abs(times - roundedTimes) < 1e-4 ? roundedTimes : Math.ceil(times);\n}\n\nvar _default = BarView;\nmodule.exports = _default;\n\n/***/ }),\n/* 861 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(122);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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\n/***/ }),\n/* 862 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(863);\n\n__webpack_require__(864);\n\nvar boxplotVisual = __webpack_require__(866);\n\nvar boxplotLayout = __webpack_require__(865);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(boxplotVisual);\necharts.registerLayout(boxplotLayout);\n\n/***/ }),\n/* 863 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar _whiskerBoxCommon = __webpack_require__(368);\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 BoxplotSeries = SeriesModel.extend({\n type: 'series.boxplot',\n dependencies: ['xAxis', 'yAxis', 'grid'],\n // TODO\n // box width represents group size, so dimension should have 'size'.\n\n /**\n * @see \n * The meanings of 'min' and 'max' depend on user,\n * and echarts do not need to know it.\n * @readOnly\n */\n defaultValueDimensions: [{\n name: 'min',\n defaultTooltip: true\n }, {\n name: 'Q1',\n defaultTooltip: true\n }, {\n name: 'median',\n defaultTooltip: true\n }, {\n name: 'Q3',\n defaultTooltip: true\n }, {\n name: 'max',\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 // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n layout: null,\n // 'horizontal' or 'vertical'\n boxWidth: [7, 50],\n // [min, max] can be percent of band width.\n itemStyle: {\n color: '#fff',\n borderWidth: 1\n },\n emphasis: {\n itemStyle: {\n borderWidth: 2,\n shadowBlur: 5,\n shadowOffsetX: 2,\n shadowOffsetY: 2,\n shadowColor: 'rgba(0,0,0,0.4)'\n }\n },\n animationEasing: 'elasticOut',\n animationDuration: 800\n }\n});\nzrUtil.mixin(BoxplotSeries, seriesModelMixin, true);\nvar _default = BoxplotSeries;\nmodule.exports = _default;\n\n/***/ }),\n/* 864 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ChartView = __webpack_require__(60);\n\nvar graphic = __webpack_require__(6);\n\nvar Path = __webpack_require__(21);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 865 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar _number = __webpack_require__(7);\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;\n\n/***/ }),\n/* 866 */\n/***/ (function(module, exports) {\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 borderColorQuery = ['itemStyle', 'borderColor'];\n\nfunction _default(ecModel, api) {\n var globalColors = ecModel.get('color');\n ecModel.eachRawSeriesByType('boxplot', function (seriesModel) {\n var defaulColor = globalColors[seriesModel.seriesIndex % globalColors.length];\n var data = seriesModel.getData();\n data.setVisual({\n legendSymbol: 'roundRect',\n // Use name 'color' but not 'borderColor' for legend usage and\n // visual coding from other component like dataRange.\n color: seriesModel.get(borderColorQuery) || defaulColor\n }); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n data.setItemVisual(idx, {\n color: itemModel.get(borderColorQuery, true)\n });\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 867 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(868);\n\n__webpack_require__(869);\n\nvar preprocessor = __webpack_require__(872);\n\nvar candlestickVisual = __webpack_require__(871);\n\nvar candlestickLayout = __webpack_require__(870);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 868 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar _whiskerBoxCommon = __webpack_require__(368);\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/***/ }),\n/* 869 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ChartView = __webpack_require__(60);\n\nvar graphic = __webpack_require__(6);\n\nvar Path = __webpack_require__(21);\n\nvar _createClipPathFromCoordSys = __webpack_require__(139);\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 NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar SKIP_PROPS = ['color', 'color0', 'borderColor', 'borderColor0'];\nvar CandlestickView = ChartView.extend({\n type: 'candlestick',\n render: function (seriesModel, ecModel, api) {\n // If there is clipPath created in large mode. Remove it.\n this.group.removeClipPath();\n\n this._updateDrawMode(seriesModel);\n\n this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._clear();\n\n this._updateDrawMode(seriesModel);\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n this._isLargeDraw ? this._incrementalRenderLarge(params, seriesModel) : this._incrementalRenderNormal(params, seriesModel);\n },\n _updateDrawMode: function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n },\n _renderNormal: function (seriesModel) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var isSimpleBox = data.getLayout('isSimpleBox');\n var needsClip = seriesModel.get('clip', true);\n var coord = seriesModel.coordinateSystem;\n var clipArea = coord.getArea && coord.getArea(); // 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 data.diff(oldData).add(function (newIdx) {\n if (data.hasValue(newIdx)) {\n var el;\n var itemLayout = data.getItemLayout(newIdx);\n\n if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n return;\n }\n\n el = createNormalBox(itemLayout, newIdx, true);\n graphic.initProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\n setBoxCommon(el, data, newIdx, isSimpleBox);\n group.add(el);\n data.setItemGraphicEl(newIdx, el);\n }\n }).update(function (newIdx, oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n if (!data.hasValue(newIdx)) {\n group.remove(el);\n return;\n }\n\n var itemLayout = data.getItemLayout(newIdx);\n\n if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n group.remove(el);\n return;\n }\n\n if (!el) {\n el = createNormalBox(itemLayout, newIdx);\n } else {\n graphic.updateProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\n }\n\n setBoxCommon(el, data, newIdx, isSimpleBox);\n group.add(el);\n data.setItemGraphicEl(newIdx, el);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute();\n this._data = data;\n },\n _renderLarge: function (seriesModel) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n var clipPath = seriesModel.get('clip', true) ? createClipPath(seriesModel.coordinateSystem, false, seriesModel) : null;\n\n if (clipPath) {\n this.group.setClipPath(clipPath);\n } else {\n this.group.removeClipPath();\n }\n },\n _incrementalRenderNormal: function (params, seriesModel) {\n var data = seriesModel.getData();\n var isSimpleBox = data.getLayout('isSimpleBox');\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var el;\n var itemLayout = data.getItemLayout(dataIndex);\n el = createNormalBox(itemLayout, dataIndex);\n setBoxCommon(el, data, dataIndex, isSimpleBox);\n el.incremental = true;\n this.group.add(el);\n }\n },\n _incrementalRenderLarge: function (params, seriesModel) {\n createLarge(seriesModel, this.group, true);\n },\n remove: function (ecModel) {\n this._clear();\n },\n _clear: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: zrUtil.noop\n});\nvar NormalBoxPath = Path.extend({\n type: 'normalCandlestickBox',\n shape: {},\n buildPath: function (ctx, shape) {\n var ends = shape.points;\n\n if (this.__simpleBox) {\n ctx.moveTo(ends[4][0], ends[4][1]);\n ctx.lineTo(ends[6][0], ends[6][1]);\n } else {\n ctx.moveTo(ends[0][0], ends[0][1]);\n ctx.lineTo(ends[1][0], ends[1][1]);\n ctx.lineTo(ends[2][0], ends[2][1]);\n ctx.lineTo(ends[3][0], ends[3][1]);\n ctx.closePath();\n ctx.moveTo(ends[4][0], ends[4][1]);\n ctx.lineTo(ends[5][0], ends[5][1]);\n ctx.moveTo(ends[6][0], ends[6][1]);\n ctx.lineTo(ends[7][0], ends[7][1]);\n }\n }\n});\n\nfunction createNormalBox(itemLayout, dataIndex, isInit) {\n var ends = itemLayout.ends;\n return new NormalBoxPath({\n shape: {\n points: isInit ? transInit(ends, itemLayout) : ends\n },\n z2: 100\n });\n}\n\nfunction isNormalBoxClipped(clipArea, itemLayout) {\n var clipped = true;\n\n for (var i = 0; i < itemLayout.ends.length; i++) {\n // If any point are in the region.\n if (clipArea.contain(itemLayout.ends[i][0], itemLayout.ends[i][1])) {\n clipped = false;\n break;\n }\n }\n\n return clipped;\n}\n\nfunction setBoxCommon(el, data, dataIndex, isSimpleBox) {\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor') || color; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = normalItemStyleModel.getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.strokeNoScale = true;\n el.style.fill = color;\n el.style.stroke = borderColor;\n el.__simpleBox = isSimpleBox;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[1] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar LargeBoxPath = Path.extend({\n type: 'largeCandlestickBox',\n shape: {},\n buildPath: function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n\n for (var i = 0; i < points.length;) {\n if (this.__sign === points[i++]) {\n var x = points[i++];\n ctx.moveTo(x, points[i++]);\n ctx.lineTo(x, points[i++]);\n } else {\n i += 3;\n }\n }\n }\n});\n\nfunction createLarge(seriesModel, group, incremental) {\n var data = seriesModel.getData();\n var largePoints = data.getLayout('largePoints');\n var elP = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: 1\n });\n group.add(elP);\n var elN = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: -1\n });\n group.add(elN);\n setLargeStyle(1, elP, seriesModel, data);\n setLargeStyle(-1, elN, seriesModel, data);\n\n if (incremental) {\n elP.incremental = true;\n elN.incremental = true;\n }\n}\n\nfunction setLargeStyle(sign, el, seriesModel, data) {\n var suffix = sign > 0 ? 'P' : 'N';\n var borderColor = data.getVisual('borderColor' + suffix) || data.getVisual('color' + suffix); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = seriesModel.getModel(NORMAL_ITEM_STYLE_PATH).getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor; // No different\n // el.style.lineWidth = .5;\n}\n\nvar _default = CandlestickView;\nmodule.exports = _default;\n\n/***/ }),\n/* 870 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar subPixelOptimize = _graphic.subPixelOptimize;\n\nvar createRenderPlanner = __webpack_require__(116);\n\nvar _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\n\nvar _util = __webpack_require__(0);\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;\n\n/***/ }),\n/* 871 */\n/***/ (function(module, exports, __webpack_require__) {\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 createRenderPlanner = __webpack_require__(116);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 positiveBorderColorQuery = ['itemStyle', 'borderColor'];\nvar negativeBorderColorQuery = ['itemStyle', 'borderColor0'];\nvar positiveColorQuery = ['itemStyle', 'color'];\nvar negativeColorQuery = ['itemStyle', 'color0'];\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n data.setVisual({\n legendSymbol: 'roundRect',\n colorP: getColor(1, seriesModel),\n colorN: getColor(-1, seriesModel),\n borderColorP: getBorderColor(1, seriesModel),\n borderColorN: getBorderColor(-1, seriesModel)\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var isLargeRender = seriesModel.pipelineContext.large;\n return !isLargeRender && {\n progress: progress\n };\n\n function progress(params, data) {\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var itemModel = data.getItemModel(dataIndex);\n var sign = data.getItemLayout(dataIndex).sign;\n data.setItemVisual(dataIndex, {\n color: getColor(sign, itemModel),\n borderColor: getBorderColor(sign, itemModel)\n });\n }\n }\n\n function getColor(sign, model) {\n return model.get(sign > 0 ? positiveColorQuery : negativeColorQuery);\n }\n\n function getBorderColor(sign, model) {\n return model.get(sign > 0 ? positiveBorderColorQuery : negativeBorderColorQuery);\n }\n }\n};\nmodule.exports = _default;\n\n/***/ }),\n/* 872 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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/***/ }),\n/* 873 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(0);\n\nvar graphicUtil = __webpack_require__(6);\n\nvar _labelHelper = __webpack_require__(243);\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\nvar createListFromArray = __webpack_require__(69);\n\nvar _barGrid = __webpack_require__(177);\n\nvar getLayoutOnAxis = _barGrid.getLayoutOnAxis;\n\nvar DataDiffer = __webpack_require__(99);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar Model = __webpack_require__(26);\n\nvar ChartView = __webpack_require__(60);\n\nvar _createClipPathFromCoordSys = __webpack_require__(139);\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\nvar prepareCartesian2d = __webpack_require__(1062);\n\nvar prepareGeo = __webpack_require__(1071);\n\nvar prepareSingleAxis = __webpack_require__(1089);\n\nvar preparePolar = __webpack_require__(1082);\n\nvar prepareCalendar = __webpack_require__(1057);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 874 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(875);\n\n__webpack_require__(876);\n\nvar visualSymbol = __webpack_require__(102);\n\nvar layoutPoints = __webpack_require__(146);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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\n/***/ }),\n/* 875 */\n/***/ (function(module, exports, __webpack_require__) {\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 createListFromArray = __webpack_require__(69);\n\nvar SeriesModel = __webpack_require__(29);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.effectScatter',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n brushSelector: 'point',\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n effectType: 'ripple',\n progressive: 0,\n // When to show the effect, option: 'render'|'emphasis'\n showEffectOn: 'render',\n // Ripple effect config\n rippleEffect: {\n period: 4,\n // Scale of ripple\n scale: 2.5,\n // Brush type can be fill or stroke\n brushType: 'fill'\n },\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 // 图形大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2\n // symbolRotate: null, // 图形旋转控制\n // large: false,\n // Available when large is true\n // largeThreshold: 2000,\n // itemStyle: {\n // opacity: 1\n // }\n\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 876 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar SymbolDraw = __webpack_require__(138);\n\nvar EffectSymbol = __webpack_require__(903);\n\nvar matrix = __webpack_require__(32);\n\nvar pointsLayout = __webpack_require__(146);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: 'effectScatter',\n init: function () {\n this._symbolDraw = new SymbolDraw(EffectSymbol);\n },\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var effectSymbolDraw = this._symbolDraw;\n effectSymbolDraw.updateData(data);\n this.group.add(effectSymbolDraw.group);\n },\n updateTransform: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n this.group.dirty();\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 _updateGroupTransform: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.getRoamTransform) {\n this.group.transform = matrix.clone(coordSys.getRoamTransform());\n this.group.decomposeTransform();\n }\n },\n remove: function (ecModel, api) {\n this._symbolDraw && this._symbolDraw.remove(api);\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 877 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(878);\n\n__webpack_require__(879);\n\nvar dataColor = __webpack_require__(181);\n\nvar funnelLayout = __webpack_require__(880);\n\nvar dataFilter = __webpack_require__(147);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 878 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar createListSimply = __webpack_require__(115);\n\nvar _model = __webpack_require__(8);\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar _sourceHelper = __webpack_require__(70);\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = __webpack_require__(149);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 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/***/ }),\n/* 879 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar zrUtil = __webpack_require__(0);\n\nvar ChartView = __webpack_require__(60);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\nfunction FunnelPiece(data, idx) {\n graphic.Group.call(this);\n var polygon = new graphic.Polygon();\n var labelLine = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(polygon);\n this.add(labelLine);\n this.add(text);\n\n this.highDownOnUpdate = function (fromState, toState) {\n if (toState === 'emphasis') {\n labelLine.ignore = labelLine.hoverIgnore;\n text.ignore = text.hoverIgnore;\n } else {\n labelLine.ignore = labelLine.normalIgnore;\n text.ignore = text.normalIgnore;\n }\n };\n\n this.updateData(data, idx, true);\n}\n\nvar funnelPieceProto = FunnelPiece.prototype;\nvar opacityAccessPath = ['itemStyle', 'opacity'];\n\nfunnelPieceProto.updateData = function (data, idx, firstCreate) {\n var polygon = this.childAt(0);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var opacity = data.getItemModel(idx).get(opacityAccessPath);\n opacity = opacity == null ? 1 : opacity; // Reset style\n\n polygon.useStyle({});\n\n if (firstCreate) {\n polygon.setShape({\n points: layout.points\n });\n polygon.setStyle({\n opacity: 0\n });\n graphic.initProps(polygon, {\n style: {\n opacity: opacity\n }\n }, seriesModel, idx);\n } else {\n graphic.updateProps(polygon, {\n style: {\n opacity: opacity\n },\n shape: {\n points: layout.points\n }\n }, seriesModel, idx);\n } // Update common style\n\n\n var itemStyleModel = itemModel.getModel('itemStyle');\n var visualColor = data.getItemVisual(idx, 'color');\n polygon.setStyle(zrUtil.defaults({\n lineJoin: 'round',\n fill: visualColor\n }, itemStyleModel.getItemStyle(['opacity'])));\n polygon.hoverStyle = itemStyleModel.getModel('emphasis').getItemStyle();\n\n this._updateLabel(data, idx);\n\n graphic.setHoverStyle(this);\n};\n\nfunnelPieceProto._updateLabel = function (data, idx) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.updateProps(labelLine, {\n shape: {\n points: labelLayout.linePoints || labelLayout.linePoints\n }\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: {\n x: labelLayout.x,\n y: labelLayout.y\n }\n }, seriesModel, idx);\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: data.getName(idx),\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n};\n\nzrUtil.inherits(FunnelPiece, graphic.Group);\nvar FunnelView = ChartView.extend({\n type: 'funnel',\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n data.diff(oldData).add(function (idx) {\n var funnelPiece = new FunnelPiece(data, idx);\n data.setItemGraphicEl(idx, funnelPiece);\n group.add(funnelPiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n piePiece.updateData(data, newIdx);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n this._data = data;\n },\n remove: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: function () {}\n});\nvar _default = FunnelView;\nmodule.exports = _default;\n\n/***/ }),\n/* 880 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(14);\n\nvar _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\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 getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction getSortedIndices(data, sort) {\n var valueDim = data.mapDimension('value');\n var valueArr = data.mapArray(valueDim, function (val) {\n return val;\n });\n var indices = [];\n var isAscending = sort === 'ascending';\n\n for (var i = 0, len = data.count(); i < len; i++) {\n indices[i] = i;\n } // Add custom sortable function & none sortable opetion by \"options.sort\"\n\n\n if (typeof sort === 'function') {\n indices.sort(sort);\n } else if (sort !== 'none') {\n indices.sort(function (a, b) {\n return isAscending ? valueArr[a] - valueArr[b] : valueArr[b] - valueArr[a];\n });\n }\n\n return indices;\n}\n\nfunction labelLayout(data) {\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n var labelModel = itemModel.getModel('label');\n var labelPosition = labelModel.get('position');\n var labelLineModel = itemModel.getModel('labelLine');\n var layout = data.getItemLayout(idx);\n var points = layout.points;\n var isLabelInside = labelPosition === 'inner' || labelPosition === 'inside' || labelPosition === 'center' || labelPosition === 'insideLeft' || labelPosition === 'insideRight';\n var textAlign;\n var textX;\n var textY;\n var linePoints;\n\n if (isLabelInside) {\n if (labelPosition === 'insideLeft') {\n textX = (points[0][0] + points[3][0]) / 2 + 5;\n textY = (points[0][1] + points[3][1]) / 2;\n textAlign = 'left';\n } else if (labelPosition === 'insideRight') {\n textX = (points[1][0] + points[2][0]) / 2 - 5;\n textY = (points[1][1] + points[2][1]) / 2;\n textAlign = 'right';\n } else {\n textX = (points[0][0] + points[1][0] + points[2][0] + points[3][0]) / 4;\n textY = (points[0][1] + points[1][1] + points[2][1] + points[3][1]) / 4;\n textAlign = 'center';\n }\n\n linePoints = [[textX, textY], [textX, textY]];\n } else {\n var x1;\n var y1;\n var x2;\n var labelLineLen = labelLineModel.get('length');\n\n if (labelPosition === 'left') {\n // Left side\n x1 = (points[3][0] + points[0][0]) / 2;\n y1 = (points[3][1] + points[0][1]) / 2;\n x2 = x1 - labelLineLen;\n textX = x2 - 5;\n textAlign = 'right';\n } else if (labelPosition === 'right') {\n // Right side\n x1 = (points[1][0] + points[2][0]) / 2;\n y1 = (points[1][1] + points[2][1]) / 2;\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'left';\n } else if (labelPosition === 'rightTop') {\n // RightTop side\n x1 = points[1][0];\n y1 = points[1][1];\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'top';\n } else if (labelPosition === 'rightBottom') {\n // RightBottom side\n x1 = points[2][0];\n y1 = points[2][1];\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'bottom';\n } else if (labelPosition === 'leftTop') {\n // LeftTop side\n x1 = points[0][0];\n y1 = points[1][1];\n x2 = x1 - labelLineLen;\n textX = x2 - 5;\n textAlign = 'right';\n } else if (labelPosition === 'leftBottom') {\n // LeftBottom side\n x1 = points[3][0];\n y1 = points[2][1];\n x2 = x1 - labelLineLen;\n textX = x2 - 5;\n textAlign = 'right';\n } else {\n // Right side\n x1 = (points[1][0] + points[2][0]) / 2;\n y1 = (points[1][1] + points[2][1]) / 2;\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'left';\n }\n\n var y2 = y1;\n linePoints = [[x1, y1], [x2, y2]];\n textY = y2;\n }\n\n layout.label = {\n linePoints: linePoints,\n x: textX,\n y: textY,\n verticalAlign: 'middle',\n textAlign: textAlign,\n inside: isLabelInside\n };\n });\n}\n\nfunction _default(ecModel, api, payload) {\n ecModel.eachSeriesByType('funnel', function (seriesModel) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var sort = seriesModel.get('sort');\n var viewRect = getViewRect(seriesModel, api);\n var indices = getSortedIndices(data, sort);\n var sizeExtent = [parsePercent(seriesModel.get('minSize'), viewRect.width), parsePercent(seriesModel.get('maxSize'), viewRect.width)];\n var dataExtent = data.getDataExtent(valueDim);\n var min = seriesModel.get('min');\n var max = seriesModel.get('max');\n\n if (min == null) {\n min = Math.min(dataExtent[0], 0);\n }\n\n if (max == null) {\n max = dataExtent[1];\n }\n\n var funnelAlign = seriesModel.get('funnelAlign');\n var gap = seriesModel.get('gap');\n var itemHeight = (viewRect.height - gap * (data.count() - 1)) / data.count();\n var y = viewRect.y;\n\n var getLinePoints = function (idx, offY) {\n // End point index is data.count() and we assign it 0\n var val = data.get(valueDim, idx) || 0;\n var itemWidth = linearMap(val, [min, max], sizeExtent, true);\n var x0;\n\n switch (funnelAlign) {\n case 'left':\n x0 = viewRect.x;\n break;\n\n case 'center':\n x0 = viewRect.x + (viewRect.width - itemWidth) / 2;\n break;\n\n case 'right':\n x0 = viewRect.x + viewRect.width - itemWidth;\n break;\n }\n\n return [[x0, offY], [x0 + itemWidth, offY]];\n };\n\n if (sort === 'ascending') {\n // From bottom to top\n itemHeight = -itemHeight;\n gap = -gap;\n y += viewRect.height;\n indices = indices.reverse();\n }\n\n for (var i = 0; i < indices.length; i++) {\n var idx = indices[i];\n var nextIdx = indices[i + 1];\n var itemModel = data.getItemModel(idx);\n var height = itemModel.get('itemStyle.height');\n\n if (height == null) {\n height = itemHeight;\n } else {\n height = parsePercent(height, viewRect.height);\n\n if (sort === 'ascending') {\n height = -height;\n }\n }\n\n var start = getLinePoints(idx, y);\n var end = getLinePoints(nextIdx, y + height);\n y += height + gap;\n data.setItemLayout(idx, {\n points: start.concat(end.slice().reverse())\n });\n }\n\n labelLayout(data);\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 881 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(882);\n\n__webpack_require__(883);\n\n/***/ }),\n/* 882 */\n/***/ (function(module, exports, __webpack_require__) {\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 createListSimply = __webpack_require__(115);\n\nvar SeriesModel = __webpack_require__(29);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 GaugeSeries = SeriesModel.extend({\n type: 'series.gauge',\n getInitialData: function (option, ecModel) {\n return createListSimply(this, ['value']);\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n // 默认全局居中\n center: ['50%', '50%'],\n legendHoverLink: true,\n radius: '75%',\n startAngle: 225,\n endAngle: -45,\n clockwise: true,\n // 最小值\n min: 0,\n // 最大值\n max: 100,\n // 分割段数,默认为10\n splitNumber: 10,\n // 坐标轴线\n axisLine: {\n // 默认显示,属性show控制显示与否\n show: true,\n lineStyle: {\n // 属性lineStyle控制线条样式\n color: [[0.2, '#91c7ae'], [0.8, '#63869e'], [1, '#c23531']],\n width: 30\n }\n },\n // 分隔线\n splitLine: {\n // 默认显示,属性show控制显示与否\n show: true,\n // 属性length控制线长\n length: 30,\n // 属性lineStyle(详见lineStyle)控制线条样式\n lineStyle: {\n color: '#eee',\n width: 2,\n type: 'solid'\n }\n },\n // 坐标轴小标记\n axisTick: {\n // 属性show控制显示与否,默认不显示\n show: true,\n // 每份split细分多少段\n splitNumber: 5,\n // 属性length控制线长\n length: 8,\n // 属性lineStyle控制线条样式\n lineStyle: {\n color: '#eee',\n width: 1,\n type: 'solid'\n }\n },\n axisLabel: {\n show: true,\n distance: 5,\n // formatter: null,\n color: 'auto'\n },\n pointer: {\n show: true,\n length: '80%',\n width: 8\n },\n itemStyle: {\n color: 'auto'\n },\n title: {\n show: true,\n // x, y,单位px\n offsetCenter: [0, '-40%'],\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: '#333',\n fontSize: 15\n },\n detail: {\n show: true,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n borderColor: '#ccc',\n width: 100,\n height: null,\n // self-adaption\n padding: [5, 10],\n // x, y,单位px\n offsetCenter: [0, '40%'],\n // formatter: null,\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: 'auto',\n fontSize: 30\n }\n }\n});\nvar _default = GaugeSeries;\nmodule.exports = _default;\n\n/***/ }),\n/* 883 */\n/***/ (function(module, exports, __webpack_require__) {\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 PointerPath = __webpack_require__(884);\n\nvar graphic = __webpack_require__(6);\n\nvar ChartView = __webpack_require__(60);\n\nvar _number = __webpack_require__(7);\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/***/ }),\n/* 884 */\n/***/ (function(module, exports, __webpack_require__) {\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 Path = __webpack_require__(21);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 = Path.extend({\n type: 'echartsGaugePointer',\n shape: {\n angle: 0,\n width: 10,\n r: 10,\n x: 0,\n y: 0\n },\n buildPath: function (ctx, shape) {\n var mathCos = Math.cos;\n var mathSin = Math.sin;\n var r = shape.r;\n var width = shape.width;\n var angle = shape.angle;\n var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);\n var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);\n angle = shape.angle - Math.PI / 2;\n ctx.moveTo(x, y);\n ctx.lineTo(shape.x + mathCos(angle) * width, shape.y + mathSin(angle) * width);\n ctx.lineTo(shape.x + mathCos(shape.angle) * r, shape.y + mathSin(shape.angle) * r);\n ctx.lineTo(shape.x - mathCos(angle) * width, shape.y - mathSin(angle) * width);\n ctx.lineTo(x, y);\n return;\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 885 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(886);\n\n__webpack_require__(887);\n\n__webpack_require__(896);\n\nvar categoryFilter = __webpack_require__(889);\n\nvar visualSymbol = __webpack_require__(102);\n\nvar categoryVisual = __webpack_require__(890);\n\nvar edgeVisual = __webpack_require__(893);\n\nvar simpleLayout = __webpack_require__(897);\n\nvar circularLayout = __webpack_require__(891);\n\nvar forceLayout = __webpack_require__(895);\n\nvar createView = __webpack_require__(892);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.registerProcessor(categoryFilter);\necharts.registerVisual(visualSymbol('graph', 'circle', null));\necharts.registerVisual(categoryVisual);\necharts.registerVisual(edgeVisual);\necharts.registerLayout(simpleLayout);\necharts.registerLayout(echarts.PRIORITY.VISUAL.POST_CHART_LAYOUT, circularLayout);\necharts.registerLayout(forceLayout); // Graph view coordinate system\n\necharts.registerCoordinateSystem('graphView', {\n create: createView\n});\n\n/***/ }),\n/* 886 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar List = __webpack_require__(44);\n\nvar zrUtil = __webpack_require__(0);\n\nvar _model = __webpack_require__(8);\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar Model = __webpack_require__(26);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\nvar createGraphFromNodeEdge = __webpack_require__(366);\n\nvar LegendVisualProvider = __webpack_require__(149);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 return createGraphFromNodeEdge(nodes, edges, this, true, beforeLink).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 curveness: 0,\n opacity: 0.5\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = GraphSeries;\nmodule.exports = _default;\n\n/***/ }),\n/* 887 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar SymbolDraw = __webpack_require__(138);\n\nvar LineDraw = __webpack_require__(242);\n\nvar RoamController = __webpack_require__(142);\n\nvar roamHelper = __webpack_require__(250);\n\nvar _cursorHelper = __webpack_require__(174);\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphic = __webpack_require__(6);\n\nvar adjustEdge = __webpack_require__(888);\n\nvar _graphHelper = __webpack_require__(240);\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;\n\n/***/ }),\n/* 888 */\n/***/ (function(module, exports, __webpack_require__) {\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 curveTool = __webpack_require__(82);\n\nvar vec2 = __webpack_require__(15);\n\nvar _graphHelper = __webpack_require__(240);\n\nvar getSymbolSize = _graphHelper.getSymbolSize;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 v1 = [];\nvar v2 = [];\nvar v3 = [];\nvar quadraticAt = curveTool.quadraticAt;\nvar v2DistSquare = vec2.distSquare;\nvar mathAbs = Math.abs;\n\nfunction intersectCurveCircle(curvePoints, center, radius) {\n var p0 = curvePoints[0];\n var p1 = curvePoints[1];\n var p2 = curvePoints[2];\n var d = Infinity;\n var t;\n var radiusSquare = radius * radius;\n var interval = 0.1;\n\n for (var _t = 0.1; _t <= 0.9; _t += 0.1) {\n v1[0] = quadraticAt(p0[0], p1[0], p2[0], _t);\n v1[1] = quadraticAt(p0[1], p1[1], p2[1], _t);\n var diff = mathAbs(v2DistSquare(v1, center) - radiusSquare);\n\n if (diff < d) {\n d = diff;\n t = _t;\n }\n } // Assume the segment is monotone,Find root through Bisection method\n // At most 32 iteration\n\n\n for (var i = 0; i < 32; i++) {\n // var prev = t - interval;\n var next = t + interval; // v1[0] = quadraticAt(p0[0], p1[0], p2[0], prev);\n // v1[1] = quadraticAt(p0[1], p1[1], p2[1], prev);\n\n v2[0] = quadraticAt(p0[0], p1[0], p2[0], t);\n v2[1] = quadraticAt(p0[1], p1[1], p2[1], t);\n v3[0] = quadraticAt(p0[0], p1[0], p2[0], next);\n v3[1] = quadraticAt(p0[1], p1[1], p2[1], next);\n var diff = v2DistSquare(v2, center) - radiusSquare;\n\n if (mathAbs(diff) < 1e-2) {\n break;\n } // var prevDiff = v2DistSquare(v1, center) - radiusSquare;\n\n\n var nextDiff = v2DistSquare(v3, center) - radiusSquare;\n interval /= 2;\n\n if (diff < 0) {\n if (nextDiff >= 0) {\n t = t + interval;\n } else {\n t = t - interval;\n }\n } else {\n if (nextDiff >= 0) {\n t = t - interval;\n } else {\n t = t + interval;\n }\n }\n }\n\n return t;\n} // Adjust edge to avoid\n\n\nfunction _default(graph, scale) {\n var tmp0 = [];\n var quadraticSubdivide = curveTool.quadraticSubdivide;\n var pts = [[], [], []];\n var pts2 = [[], []];\n var v = [];\n scale /= 2;\n graph.eachEdge(function (edge, idx) {\n var linePoints = edge.getLayout();\n var fromSymbol = edge.getVisual('fromSymbol');\n var toSymbol = edge.getVisual('toSymbol');\n\n if (!linePoints.__original) {\n linePoints.__original = [vec2.clone(linePoints[0]), vec2.clone(linePoints[1])];\n\n if (linePoints[2]) {\n linePoints.__original.push(vec2.clone(linePoints[2]));\n }\n }\n\n var originalPoints = linePoints.__original; // Quadratic curve\n\n if (linePoints[2] != null) {\n vec2.copy(pts[0], originalPoints[0]);\n vec2.copy(pts[1], originalPoints[2]);\n vec2.copy(pts[2], originalPoints[1]);\n\n if (fromSymbol && fromSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node1);\n var t = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale); // Subdivide and get the second\n\n quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);\n pts[0][0] = tmp0[3];\n pts[1][0] = tmp0[4];\n quadraticSubdivide(pts[0][1], pts[1][1], pts[2][1], t, tmp0);\n pts[0][1] = tmp0[3];\n pts[1][1] = tmp0[4];\n }\n\n if (toSymbol && toSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node2);\n var t = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale); // Subdivide and get the first\n\n quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);\n pts[1][0] = tmp0[1];\n pts[2][0] = tmp0[2];\n quadraticSubdivide(pts[0][1], pts[1][1], pts[2][1], t, tmp0);\n pts[1][1] = tmp0[1];\n pts[2][1] = tmp0[2];\n } // Copy back to layout\n\n\n vec2.copy(linePoints[0], pts[0]);\n vec2.copy(linePoints[1], pts[2]);\n vec2.copy(linePoints[2], pts[1]);\n } // Line\n else {\n vec2.copy(pts2[0], originalPoints[0]);\n vec2.copy(pts2[1], originalPoints[1]);\n vec2.sub(v, pts2[1], pts2[0]);\n vec2.normalize(v, v);\n\n if (fromSymbol && fromSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node1);\n vec2.scaleAndAdd(pts2[0], pts2[0], v, symbolSize * scale);\n }\n\n if (toSymbol && toSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node2);\n vec2.scaleAndAdd(pts2[1], pts2[1], v, -symbolSize * scale);\n }\n\n vec2.copy(linePoints[0], pts2[0]);\n vec2.copy(linePoints[1], pts2[1]);\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 889 */\n/***/ (function(module, exports) {\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 return;\n }\n\n ecModel.eachSeriesByType('graph', function (graphSeries) {\n var categoriesData = graphSeries.getCategoriesData();\n var graph = graphSeries.getGraph();\n var data = graph.data;\n var categoryNames = categoriesData.mapArray(categoriesData.getName);\n data.filterSelf(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'number') {\n category = categoryNames[category];\n } // If in any legend component the status is not selected.\n\n\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(category)) {\n return false;\n }\n }\n }\n\n return true;\n });\n }, this);\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 890 */\n/***/ (function(module, exports) {\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 paletteScope = {};\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var categoriesData = seriesModel.getCategoriesData();\n var data = seriesModel.getData();\n var categoryNameIdxMap = {};\n categoriesData.each(function (idx) {\n var name = categoriesData.getName(idx); // Add prefix to avoid conflict with Object.prototype.\n\n categoryNameIdxMap['ec-' + name] = idx;\n var itemModel = categoriesData.getItemModel(idx);\n var color = itemModel.get('itemStyle.color') || seriesModel.getColorFromPalette(name, paletteScope);\n categoriesData.setItemVisual(idx, 'color', color);\n var itemStyleList = ['opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'];\n\n for (var i = 0; i < itemStyleList.length; i++) {\n var itemStyle = itemModel.getShallow(itemStyleList[i], true);\n\n if (itemStyle != null) {\n categoriesData.setItemVisual(idx, itemStyleList[i], itemStyle);\n }\n }\n }); // Assign category color to visual\n\n if (categoriesData.count()) {\n data.each(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'string') {\n category = categoryNameIdxMap['ec-' + category];\n }\n\n var itemStyleList = ['color', 'opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'];\n\n for (var i = 0; i < itemStyleList.length; i++) {\n if (data.getItemVisual(idx, itemStyleList[i], true) == null) {\n data.setItemVisual(idx, itemStyleList[i], categoriesData.getItemVisual(category, itemStyleList[i]));\n }\n }\n }\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 891 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(362);\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/***/ }),\n/* 892 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(255);\n\nvar _layout = __webpack_require__(14);\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar bbox = __webpack_require__(188);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 893 */\n/***/ (function(module, exports) {\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 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;\n\n/***/ }),\n/* 894 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(15);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 895 */\n/***/ (function(module, exports, __webpack_require__) {\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 _forceHelper = __webpack_require__(894);\n\nvar forceLayout = _forceHelper.forceLayout;\n\nvar _simpleLayoutHelper = __webpack_require__(363);\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\n\nvar _circularLayoutHelper = __webpack_require__(362);\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\n\nvar _number = __webpack_require__(7);\n\nvar linearMap = _number.linearMap;\n\nvar vec2 = __webpack_require__(15);\n\nvar zrUtil = __webpack_require__(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*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (graphSeries) {\n var coordSys = graphSeries.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n if (graphSeries.get('layout') === 'force') {\n var preservedPoints = graphSeries.preservedPoints || {};\n var graph = graphSeries.getGraph();\n var nodeData = graph.data;\n var edgeData = graph.edgeData;\n var forceModel = graphSeries.getModel('force');\n var initLayout = forceModel.get('initLayout');\n\n if (graphSeries.preservedPoints) {\n nodeData.each(function (idx) {\n var id = nodeData.getId(idx);\n nodeData.setItemLayout(idx, preservedPoints[id] || [NaN, NaN]);\n });\n } else if (!initLayout || initLayout === 'none') {\n simpleLayout(graphSeries);\n } else if (initLayout === 'circular') {\n circularLayout(graphSeries, 'value');\n }\n\n var nodeDataExtent = nodeData.getDataExtent('value');\n var edgeDataExtent = edgeData.getDataExtent('value'); // var edgeDataExtent = edgeData.getDataExtent('value');\n\n var repulsion = forceModel.get('repulsion');\n var edgeLength = forceModel.get('edgeLength');\n\n if (!zrUtil.isArray(repulsion)) {\n repulsion = [repulsion, repulsion];\n }\n\n if (!zrUtil.isArray(edgeLength)) {\n edgeLength = [edgeLength, edgeLength];\n } // Larger value has smaller length\n\n\n edgeLength = [edgeLength[1], edgeLength[0]];\n var nodes = nodeData.mapArray('value', function (value, idx) {\n var point = nodeData.getItemLayout(idx);\n var rep = linearMap(value, nodeDataExtent, repulsion);\n\n if (isNaN(rep)) {\n rep = (repulsion[0] + repulsion[1]) / 2;\n }\n\n return {\n w: rep,\n rep: rep,\n fixed: nodeData.getItemModel(idx).get('fixed'),\n p: !point || isNaN(point[0]) || isNaN(point[1]) ? null : point\n };\n });\n var edges = edgeData.mapArray('value', function (value, idx) {\n var edge = graph.getEdgeByIndex(idx);\n var d = linearMap(value, edgeDataExtent, edgeLength);\n\n if (isNaN(d)) {\n d = (edgeLength[0] + edgeLength[1]) / 2;\n }\n\n var edgeModel = edge.getModel();\n return {\n n1: nodes[edge.node1.dataIndex],\n n2: nodes[edge.node2.dataIndex],\n d: d,\n curveness: edgeModel.get('lineStyle.curveness') || 0,\n ignoreForceLayout: edgeModel.get('ignoreForceLayout')\n };\n });\n var coordSys = graphSeries.coordinateSystem;\n var rect = coordSys.getBoundingRect();\n var forceInstance = forceLayout(nodes, edges, {\n rect: rect,\n gravity: forceModel.get('gravity'),\n friction: forceModel.get('friction')\n });\n var oldStep = forceInstance.step;\n\n forceInstance.step = function (cb) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (nodes[i].fixed) {\n // Write back to layout instance\n vec2.copy(nodes[i].p, graph.getNodeByIndex(i).getLayout());\n }\n }\n\n oldStep(function (nodes, edges, stopped) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (!nodes[i].fixed) {\n graph.getNodeByIndex(i).setLayout(nodes[i].p);\n }\n\n preservedPoints[nodeData.getId(i)] = nodes[i].p;\n }\n\n for (var i = 0, l = edges.length; i < l; i++) {\n var e = edges[i];\n var edge = graph.getEdgeByIndex(i);\n var p1 = e.n1.p;\n var p2 = e.n2.p;\n var points = edge.getLayout();\n points = points ? points.slice() : [];\n points[0] = points[0] || [];\n points[1] = points[1] || [];\n vec2.copy(points[0], p1);\n vec2.copy(points[1], p2);\n\n if (+e.curveness) {\n points[2] = [(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * e.curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * e.curveness];\n }\n\n edge.setLayout(points);\n } // Update layout\n\n\n cb && cb(stopped);\n });\n };\n\n graphSeries.forceLayout = forceInstance;\n graphSeries.preservedPoints = preservedPoints; // Step to get the layout\n\n forceInstance.step();\n } else {\n // Remove prev injected forceLayout instance\n graphSeries.forceLayout = null;\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 896 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar _roamHelper = __webpack_require__(239);\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\n__webpack_require__(367);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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});\n\n/***/ }),\n/* 897 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar each = _util.each;\n\nvar _simpleLayoutHelper = __webpack_require__(363);\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);\n } else if (!layout || layout === 'none') {\n simpleLayout(seriesModel);\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 898 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(900);\n\n__webpack_require__(901);\n\n/***/ }),\n/* 899 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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\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;\n\n/***/ }),\n/* 900 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(29);\n\nvar createListFromArray = __webpack_require__(69);\n\nvar CoordinateSystem = __webpack_require__(52);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.heatmap',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n generateCoord: 'value'\n });\n },\n preventIncremental: function () {\n var coordSysCreator = CoordinateSystem.get(this.get('coordinateSystem'));\n\n if (coordSysCreator && coordSysCreator.dimensions) {\n return coordSysCreator.dimensions[0] === 'lng' && coordSysCreator.dimensions[1] === 'lat';\n }\n },\n defaultOption: {\n // Cartesian2D or geo\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Geo coordinate system\n geoIndex: 0,\n blurSize: 30,\n pointSize: 20,\n maxOpacity: 1,\n minOpacity: 0\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 901 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(2);\n\nvar graphic = __webpack_require__(6);\n\nvar HeatmapLayer = __webpack_require__(899);\n\nvar zrUtil = __webpack_require__(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*/\nfunction getIsInPiecewiseRange(dataExtent, pieceList, selected) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n pieceList = zrUtil.map(pieceList, function (piece) {\n return {\n interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]\n };\n });\n var len = pieceList.length;\n var lastIndex = 0;\n return function (val) {\n // Try to find in the location of the last found\n for (var i = lastIndex; i < len; i++) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n\n if (i === len) {\n // Not found, back interation\n for (var i = lastIndex - 1; i >= 0; i--) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n }\n\n return i >= 0 && i < len && selected[i];\n };\n}\n\nfunction getIsInContinuousRange(dataExtent, range) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n range = [(range[0] - dataExtent[0]) / dataSpan, (range[1] - dataExtent[0]) / dataSpan];\n return function (val) {\n return val >= range[0] && val <= range[1];\n };\n}\n\nfunction isGeoCoordSys(coordSys) {\n var dimensions = coordSys.dimensions; // Not use coorSys.type === 'geo' because coordSys maybe extended\n\n return dimensions[0] === 'lng' && dimensions[1] === 'lat';\n}\n\nvar _default = echarts.extendChartView({\n type: 'heatmap',\n render: function (seriesModel, ecModel, api) {\n var visualMapOfThisSeries;\n ecModel.eachComponent('visualMap', function (visualMap) {\n visualMap.eachTargetSeries(function (targetSeries) {\n if (targetSeries === seriesModel) {\n visualMapOfThisSeries = visualMap;\n }\n });\n });\n this.group.removeAll();\n this._incrementalDisplayable = null;\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {\n this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());\n } else if (isGeoCoordSys(coordSys)) {\n this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api);\n }\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this.group.removeAll();\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);\n }\n },\n _renderOnCartesianAndCalendar: function (seriesModel, api, start, end, incremental) {\n var coordSys = seriesModel.coordinateSystem;\n var width;\n var height;\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n width = xAxis.getBandWidth();\n height = yAxis.getBandWidth();\n }\n\n var group = this.group;\n var data = seriesModel.getData();\n var itemStyleQuery = 'itemStyle';\n var hoverItemStyleQuery = 'emphasis.itemStyle';\n var labelQuery = 'label';\n var hoverLabelQuery = 'emphasis.label';\n var style = seriesModel.getModel(itemStyleQuery).getItemStyle(['color']);\n var hoverStl = seriesModel.getModel(hoverItemStyleQuery).getItemStyle();\n var labelModel = seriesModel.getModel(labelQuery);\n var hoverLabelModel = seriesModel.getModel(hoverLabelQuery);\n var coordSysType = coordSys.type;\n var dataDims = coordSysType === 'cartesian2d' ? [data.mapDimension('x'), data.mapDimension('y'), data.mapDimension('value')] : [data.mapDimension('time'), data.mapDimension('value')];\n\n for (var idx = start; idx < end; idx++) {\n var rect;\n\n if (coordSysType === 'cartesian2d') {\n // Ignore empty data\n if (isNaN(data.get(dataDims[2], idx))) {\n continue;\n }\n\n var point = coordSys.dataToPoint([data.get(dataDims[0], idx), data.get(dataDims[1], idx)]);\n rect = new graphic.Rect({\n shape: {\n x: Math.floor(point[0] - width / 2),\n y: Math.floor(point[1] - height / 2),\n width: Math.ceil(width),\n height: Math.ceil(height)\n },\n style: {\n fill: data.getItemVisual(idx, 'color'),\n opacity: data.getItemVisual(idx, 'opacity')\n }\n });\n } else {\n // Ignore empty data\n if (isNaN(data.get(dataDims[1], idx))) {\n continue;\n }\n\n rect = new graphic.Rect({\n z2: 1,\n shape: coordSys.dataToRect([data.get(dataDims[0], idx)]).contentShape,\n style: {\n fill: data.getItemVisual(idx, 'color'),\n opacity: data.getItemVisual(idx, 'opacity')\n }\n });\n }\n\n var itemModel = data.getItemModel(idx); // Optimization for large datset\n\n if (data.hasItemOption) {\n style = itemModel.getModel(itemStyleQuery).getItemStyle(['color']);\n hoverStl = itemModel.getModel(hoverItemStyleQuery).getItemStyle();\n labelModel = itemModel.getModel(labelQuery);\n hoverLabelModel = itemModel.getModel(hoverLabelQuery);\n }\n\n var rawValue = seriesModel.getRawValue(idx);\n var defaultText = '-';\n\n if (rawValue && rawValue[2] != null) {\n defaultText = rawValue[2];\n }\n\n graphic.setLabelStyle(style, hoverStl, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: defaultText,\n isRectText: true\n });\n rect.setStyle(style);\n graphic.setHoverStyle(rect, data.hasItemOption ? hoverStl : zrUtil.extend({}, hoverStl));\n rect.incremental = incremental; // PENDING\n\n if (incremental) {\n // Rect must use hover layer if it's incremental.\n rect.useHoverLayer = true;\n }\n\n group.add(rect);\n data.setItemGraphicEl(idx, rect);\n }\n },\n _renderOnGeo: function (geo, seriesModel, visualMapModel, api) {\n var inRangeVisuals = visualMapModel.targetVisuals.inRange;\n var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange; // if (!visualMapping) {\n // throw new Error('Data range must have color visuals');\n // }\n\n var data = seriesModel.getData();\n var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer();\n hmLayer.blurSize = seriesModel.get('blurSize');\n hmLayer.pointSize = seriesModel.get('pointSize');\n hmLayer.minOpacity = seriesModel.get('minOpacity');\n hmLayer.maxOpacity = seriesModel.get('maxOpacity');\n var rect = geo.getViewRect().clone();\n var roamTransform = geo.getRoamTransform();\n rect.applyTransform(roamTransform); // Clamp on viewport\n\n var x = Math.max(rect.x, 0);\n var y = Math.max(rect.y, 0);\n var x2 = Math.min(rect.width + rect.x, api.getWidth());\n var y2 = Math.min(rect.height + rect.y, api.getHeight());\n var width = x2 - x;\n var height = y2 - y;\n var dims = [data.mapDimension('lng'), data.mapDimension('lat'), data.mapDimension('value')];\n var points = data.mapArray(dims, function (lng, lat, value) {\n var pt = geo.dataToPoint([lng, lat]);\n pt[0] -= x;\n pt[1] -= y;\n pt.push(value);\n return pt;\n });\n var dataExtent = visualMapModel.getExtent();\n var isInRange = visualMapModel.type === 'visualMap.continuous' ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);\n hmLayer.update(points, width, height, inRangeVisuals.color.getNormalizer(), {\n inRange: inRangeVisuals.color.getColorMapper(),\n outOfRange: outOfRangeVisuals.color.getColorMapper()\n }, isInRange);\n var img = new graphic.Image({\n style: {\n width: width,\n height: height,\n x: x,\n y: y,\n image: hmLayer.canvas\n },\n silent: true\n });\n this.group.add(img);\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 902 */\n/***/ (function(module, exports, __webpack_require__) {\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 Polyline = __webpack_require__(365);\n\nvar zrUtil = __webpack_require__(0);\n\nvar EffectLine = __webpack_require__(364);\n\nvar vec2 = __webpack_require__(15);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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:echarts/chart/helper/EffectLine}\n * @alias {module:echarts/chart/helper/Polyline}\n */\nfunction EffectPolyline(lineData, idx, seriesScope) {\n EffectLine.call(this, lineData, idx, seriesScope);\n this._lastFrame = 0;\n this._lastFramePercent = 0;\n}\n\nvar effectPolylineProto = EffectPolyline.prototype; // Overwrite\n\neffectPolylineProto.createLine = function (lineData, idx, seriesScope) {\n return new Polyline(lineData, idx, seriesScope);\n}; // Overwrite\n\n\neffectPolylineProto.updateAnimationPoints = function (symbol, points) {\n this._points = points;\n var accLenArr = [0];\n var len = 0;\n\n for (var i = 1; i < points.length; i++) {\n var p1 = points[i - 1];\n var p2 = points[i];\n len += vec2.dist(p1, p2);\n accLenArr.push(len);\n }\n\n if (len === 0) {\n return;\n }\n\n for (var i = 0; i < accLenArr.length; i++) {\n accLenArr[i] /= len;\n }\n\n this._offsets = accLenArr;\n this._length = len;\n}; // Overwrite\n\n\neffectPolylineProto.getLineLength = function (symbol) {\n return this._length;\n}; // Overwrite\n\n\neffectPolylineProto.updateSymbolPosition = function (symbol) {\n var t = symbol.__t;\n var points = this._points;\n var offsets = this._offsets;\n var len = points.length;\n\n if (!offsets) {\n // Has length 0\n return;\n }\n\n var lastFrame = this._lastFrame;\n var frame;\n\n if (t < this._lastFramePercent) {\n // Start from the next frame\n // PENDING start from lastFrame ?\n var start = Math.min(lastFrame + 1, len - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (offsets[frame] <= t) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, len - 2);\n } else {\n for (var frame = lastFrame; frame < len; frame++) {\n if (offsets[frame] > t) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, len - 2);\n }\n\n vec2.lerp(symbol.position, points[frame], points[frame + 1], (t - offsets[frame]) / (offsets[frame + 1] - offsets[frame]));\n var tx = points[frame + 1][0] - points[frame][0];\n var ty = points[frame + 1][1] - points[frame][1];\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2;\n this._lastFrame = frame;\n this._lastFramePercent = t;\n symbol.ignore = false;\n};\n\nzrUtil.inherits(EffectPolyline, EffectLine);\nvar _default = EffectPolyline;\nmodule.exports = _default;\n\n/***/ }),\n/* 903 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar _symbol = __webpack_require__(45);\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _graphic = __webpack_require__(6);\n\nvar Group = _graphic.Group;\n\nvar _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\n\nvar SymbolClz = __webpack_require__(171);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 rippleGroup.rotation = (itemModel.getShallow('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/***/ }),\n/* 904 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar IncrementalDisplayable = __webpack_require__(273);\n\nvar lineContain = __webpack_require__(434);\n\nvar quadraticContain = __webpack_require__(436);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 905 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar _symbol = __webpack_require__(45);\n\nvar createSymbol = _symbol.createSymbol;\n\nvar IncrementalDisplayable = __webpack_require__(273);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 906 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar vec2 = __webpack_require__(15);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 907 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(908);\n\n__webpack_require__(909);\n\nvar visualSymbol = __webpack_require__(102);\n\nvar layoutPoints = __webpack_require__(146);\n\nvar dataSample = __webpack_require__(1105);\n\n__webpack_require__(141);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 908 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar createListFromArray = __webpack_require__(69);\n\nvar SeriesModel = __webpack_require__(29);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.line',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // stack: null\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // polarIndex: 0,\n // If clip the overflow value\n clip: true,\n // cursor: null,\n label: {\n position: 'top'\n },\n // itemStyle: {\n // },\n lineStyle: {\n width: 2,\n type: 'solid'\n },\n // areaStyle: {\n // origin of areaStyle. Valid values:\n // `'auto'/null/undefined`: from axisLine to data\n // `'start'`: from min to data\n // `'end'`: from data to max\n // origin: 'auto'\n // },\n // false, 'start', 'end', 'middle'\n step: false,\n // Disabled if step is true\n smooth: false,\n smoothMonotone: null,\n symbol: 'emptyCircle',\n symbolSize: 4,\n symbolRotate: null,\n showSymbol: true,\n // `false`: follow the label interval strategy.\n // `true`: show all symbols.\n // `'auto'`: If possible, show all symbols, otherwise\n // follow the label interval strategy.\n showAllSymbol: 'auto',\n // Whether to connect break point.\n connectNulls: false,\n // Sampling for large data. Can be: 'average', 'max', 'min', 'sum'.\n sampling: 'none',\n animationEasing: 'linear',\n // Disable progressive\n progressive: 0,\n hoverLayerThreshold: Infinity\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 909 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(0);\n\nvar SymbolDraw = __webpack_require__(138);\n\nvar SymbolClz = __webpack_require__(171);\n\nvar lineAnimationDiff = __webpack_require__(910);\n\nvar graphic = __webpack_require__(6);\n\nvar modelUtil = __webpack_require__(8);\n\nvar _poly = __webpack_require__(370);\n\nvar Polyline = _poly.Polyline;\nvar Polygon = _poly.Polygon;\n\nvar ChartView = __webpack_require__(60);\n\nvar _helper = __webpack_require__(369);\n\nvar prepareDataCoordInfo = _helper.prepareDataCoordInfo;\nvar getStackedOnPoint = _helper.getStackedOnPoint;\n\nvar _createClipPathFromCoordSys = __webpack_require__(139);\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 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 } // `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;\n\n/***/ }),\n/* 910 */\n/***/ (function(module, exports, __webpack_require__) {\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 _helper = __webpack_require__(369);\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/***/ }),\n/* 911 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(912);\n\n__webpack_require__(913);\n\nvar linesLayout = __webpack_require__(371);\n\nvar linesVisual = __webpack_require__(914);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 912 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar SeriesModel = __webpack_require__(29);\n\nvar List = __webpack_require__(44);\n\nvar _util = __webpack_require__(0);\n\nvar concatArray = _util.concatArray;\nvar mergeAll = _util.mergeAll;\nvar map = _util.map;\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\nvar CoordinateSystem = __webpack_require__(52);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 // The input data may be null/undefined.\n option.data = option.data || [];\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;\n\n/***/ }),\n/* 913 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(2);\n\nvar LineDraw = __webpack_require__(242);\n\nvar EffectLine = __webpack_require__(364);\n\nvar Line = __webpack_require__(241);\n\nvar Polyline = __webpack_require__(365);\n\nvar EffectPolyline = __webpack_require__(902);\n\nvar LargeLineDraw = __webpack_require__(904);\n\nvar linesLayout = __webpack_require__(371);\n\nvar _createClipPathFromCoordSys = __webpack_require__(139);\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;\n\n/***/ }),\n/* 914 */\n/***/ (function(module, exports) {\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 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;\n\n/***/ }),\n/* 915 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(916);\n\n__webpack_require__(917);\n\n__webpack_require__(359);\n\n__webpack_require__(257);\n\nvar mapSymbolLayout = __webpack_require__(920);\n\nvar mapVisual = __webpack_require__(921);\n\nvar mapDataStatistic = __webpack_require__(919);\n\nvar backwardCompat = __webpack_require__(918);\n\nvar createDataSelectAction = __webpack_require__(358);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(mapSymbolLayout);\necharts.registerVisual(mapVisual);\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, mapDataStatistic);\necharts.registerPreprocessor(backwardCompat);\ncreateDataSelectAction('map', [{\n type: 'mapToggleSelect',\n event: 'mapselectchanged',\n method: 'toggleSelected'\n}, {\n type: 'mapSelect',\n event: 'mapselected',\n method: 'select'\n}, {\n type: 'mapUnSelect',\n event: 'mapunselected',\n method: 'unSelect'\n}]);\n\n/***/ }),\n/* 916 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar createListSimply = __webpack_require__(115);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\n\nvar dataSelectableMixin = __webpack_require__(251);\n\nvar _dataProvider = __webpack_require__(100);\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar geoSourceManager = __webpack_require__(176);\n\nvar _sourceHelper = __webpack_require__(70);\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 MapSeries = SeriesModel.extend({\n type: 'series.map',\n dependencies: ['geo'],\n layoutMode: 'box',\n\n /**\n * Only first map series of same mapType will drawMap\n * @type {boolean}\n */\n needsDrawMap: false,\n\n /**\n * Group of all map series with same mapType\n * @type {boolean}\n */\n seriesGroup: [],\n getInitialData: function (option) {\n var data = createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n var valueDim = data.mapDimension('value');\n var dataNameMap = zrUtil.createHashMap();\n var selectTargetList = [];\n var toAppendNames = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n var name = data.getName(i);\n dataNameMap.set(name, true);\n selectTargetList.push({\n name: name,\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n var geoSource = geoSourceManager.load(this.getMapType(), this.option.nameMap);\n zrUtil.each(geoSource.regions, function (region) {\n var name = region.name;\n\n if (!dataNameMap.get(name)) {\n selectTargetList.push({\n name: name\n });\n toAppendNames.push(name);\n }\n });\n this.updateSelectedMap(selectTargetList); // Complete data with missing regions. The consequent processes (like visual\n // map and render) can not be performed without a \"full data\". For example,\n // find `dataIndex` by name.\n\n data.appendValues([], toAppendNames);\n return data;\n },\n\n /**\n * If no host geo model, return null, which means using a\n * inner exclusive geo model.\n */\n getHostGeoModel: function () {\n var geoIndex = this.option.geoIndex;\n return geoIndex != null ? this.dependentModels.geo[geoIndex] : null;\n },\n getMapType: function () {\n return (this.getHostGeoModel() || this).option.map;\n },\n // _fillOption: function (option, mapName) {\n // Shallow clone\n // option = zrUtil.extend({}, option);\n // option.data = geoCreator.getFilledRegions(option.data, mapName, option.nameMap);\n // return option;\n // },\n getRawValue: function (dataIndex) {\n // Use value stored in data instead because it is calculated from multiple series\n // FIXME Provide all value of multiple series ?\n var data = this.getData();\n return data.get(data.mapDimension('value'), dataIndex);\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (regionName) {\n var data = this.getData();\n return data.getItemModel(data.indexOfName(regionName));\n },\n\n /**\n * Map tooltip formatter\n *\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\n // FIXME orignalData and data is a bit confusing\n var data = this.getData();\n var formattedValue = addCommas(this.getRawValue(dataIndex));\n var name = data.getName(dataIndex);\n var seriesGroup = this.seriesGroup;\n var seriesNames = [];\n\n for (var i = 0; i < seriesGroup.length; i++) {\n var otherIndex = seriesGroup[i].originalData.indexOfName(name);\n var valueDim = data.mapDimension('value');\n\n if (!isNaN(seriesGroup[i].originalData.get(valueDim, otherIndex))) {\n seriesNames.push(encodeHTML(seriesGroup[i].name));\n }\n }\n\n return seriesNames.join(', ') + '
' + encodeHTML(name + ' : ' + formattedValue);\n },\n\n /**\n * @implement\n */\n getTooltipPosition: function (dataIndex) {\n if (dataIndex != null) {\n var name = this.getData().getName(dataIndex);\n var geo = this.coordinateSystem;\n var region = geo.getRegion(name);\n return region && geo.dataToPoint(region.center);\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n defaultOption: {\n // 一级层叠\n zlevel: 0,\n // 二级层叠\n z: 2,\n coordinateSystem: 'geo',\n // map should be explicitly specified since ec3.\n map: '',\n // If `geoIndex` is not specified, a exclusive geo will be\n // created. Otherwise use the specified geo component, and\n // `map` and `mapType` are ignored.\n // geoIndex: 0,\n // 'center' | 'left' | 'right' | 'x%' | {number}\n left: 'center',\n // 'center' | 'top' | 'bottom' | 'x%' | {number}\n top: 'center',\n // right\n // bottom\n // width:\n // height\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n aspectScale: 0.75,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n // 数值合并方式,默认加和,可选为:\n // 'sum' | 'average' | 'max' | 'min'\n // mapValueCalculation: 'sum',\n // 地图数值计算结果小数精度\n // mapValuePrecision: 0,\n // 显示图例颜色标识(系列标识的小圆点),图例开启时有效\n showLegendSymbol: true,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n dataRangeHoverLink: true,\n // 是否开启缩放及漫游模式\n // roam: false,\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ],\n // higher priority than center and zoom\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n label: {\n show: false,\n color: '#000'\n },\n // scaleLimit: null,\n itemStyle: {\n borderWidth: 0.5,\n borderColor: '#444',\n areaColor: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)'\n }\n }\n }\n});\nzrUtil.mixin(MapSeries, dataSelectableMixin);\nvar _default = MapSeries;\nmodule.exports = _default;\n\n/***/ }),\n/* 917 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar MapDraw = __webpack_require__(383);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 918 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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/***/ }),\n/* 919 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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// FIXME 公用?\n\n/**\n * @param {Array.} datas\n * @param {string} statisticType 'average' 'sum'\n * @inner\n */\nfunction dataStatistics(datas, statisticType) {\n var dataNameMap = {};\n zrUtil.each(datas, function (data) {\n data.each(data.mapDimension('value'), function (value, idx) {\n // Add prefix to avoid conflict with Object.prototype.\n var mapKey = 'ec-' + data.getName(idx);\n dataNameMap[mapKey] = dataNameMap[mapKey] || [];\n\n if (!isNaN(value)) {\n dataNameMap[mapKey].push(value);\n }\n });\n });\n return datas[0].map(datas[0].mapDimension('value'), function (value, idx) {\n var mapKey = 'ec-' + datas[0].getName(idx);\n var sum = 0;\n var min = Infinity;\n var max = -Infinity;\n var len = dataNameMap[mapKey].length;\n\n for (var i = 0; i < len; i++) {\n min = Math.min(min, dataNameMap[mapKey][i]);\n max = Math.max(max, dataNameMap[mapKey][i]);\n sum += dataNameMap[mapKey][i];\n }\n\n var result;\n\n if (statisticType === 'min') {\n result = min;\n } else if (statisticType === 'max') {\n result = max;\n } else if (statisticType === 'average') {\n result = sum / len;\n } else {\n result = sum;\n }\n\n return len === 0 ? NaN : result;\n });\n}\n\nfunction _default(ecModel) {\n var seriesGroups = {};\n ecModel.eachSeriesByType('map', function (seriesModel) {\n var hostGeoModel = seriesModel.getHostGeoModel();\n var key = hostGeoModel ? 'o' + hostGeoModel.id : 'i' + seriesModel.getMapType();\n (seriesGroups[key] = seriesGroups[key] || []).push(seriesModel);\n });\n zrUtil.each(seriesGroups, function (seriesList, key) {\n var data = dataStatistics(zrUtil.map(seriesList, function (seriesModel) {\n return seriesModel.getData();\n }), seriesList[0].get('mapValueCalculation'));\n\n for (var i = 0; i < seriesList.length; i++) {\n seriesList[i].originalData = seriesList[i].getData();\n } // FIXME Put where?\n\n\n for (var i = 0; i < seriesList.length; i++) {\n seriesList[i].seriesGroup = seriesList;\n seriesList[i].needsDrawMap = i === 0 && !seriesList[i].getHostGeoModel();\n seriesList[i].setData(data.cloneShallow());\n seriesList[i].mainSeries = seriesList[0];\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 920 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 921 */\n/***/ (function(module, exports) {\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 ecModel.eachSeriesByType('map', function (seriesModel) {\n var colorList = seriesModel.get('color');\n var itemStyleModel = seriesModel.getModel('itemStyle');\n var areaColor = itemStyleModel.get('areaColor');\n var color = itemStyleModel.get('color') || colorList[seriesModel.seriesIndex % colorList.length];\n seriesModel.getData().setVisual({\n 'areaColor': areaColor,\n 'color': color\n });\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 922 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(390);\n\n__webpack_require__(923);\n\n__webpack_require__(924);\n\nvar parallelVisual = __webpack_require__(925);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 923 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = __webpack_require__(29);\n\nvar createListFromArray = __webpack_require__(69);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 924 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar ChartView = __webpack_require__(60);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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_SMOOTH = 0.3;\nvar ParallelView = ChartView.extend({\n type: 'parallel',\n init: function () {\n /**\n * @type {module:zrender/container/Group}\n * @private\n */\n this._dataGroup = new graphic.Group();\n this.group.add(this._dataGroup);\n /**\n * @type {module:echarts/data/List}\n */\n\n this._data;\n /**\n * @type {boolean}\n */\n\n this._initialized;\n },\n\n /**\n * @override\n */\n render: function (seriesModel, ecModel, api, payload) {\n var dataGroup = this._dataGroup;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coordSys = seriesModel.coordinateSystem;\n var dimensions = coordSys.dimensions;\n var seriesScope = makeSeriesScope(seriesModel);\n data.diff(oldData).add(add).update(update).remove(remove).execute();\n\n function add(newDataIndex) {\n var line = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);\n updateElCommon(line, data, newDataIndex, seriesScope);\n }\n\n function update(newDataIndex, oldDataIndex) {\n var line = oldData.getItemGraphicEl(oldDataIndex);\n var points = createLinePoints(data, newDataIndex, dimensions, coordSys);\n data.setItemGraphicEl(newDataIndex, line);\n var animationModel = payload && payload.animation === false ? null : seriesModel;\n graphic.updateProps(line, {\n shape: {\n points: points\n }\n }, animationModel, newDataIndex);\n updateElCommon(line, data, newDataIndex, seriesScope);\n }\n\n function remove(oldDataIndex) {\n var line = oldData.getItemGraphicEl(oldDataIndex);\n dataGroup.remove(line);\n } // First create\n\n\n if (!this._initialized) {\n this._initialized = true;\n var clipPath = createGridClipShape(coordSys, seriesModel, function () {\n // Callback will be invoked immediately if there is no animation\n setTimeout(function () {\n dataGroup.removeClipPath();\n });\n });\n dataGroup.setClipPath(clipPath);\n }\n\n this._data = data;\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._initialized = true;\n this._data = null;\n\n this._dataGroup.removeAll();\n },\n incrementalRender: function (taskParams, seriesModel, ecModel) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var dimensions = coordSys.dimensions;\n var seriesScope = makeSeriesScope(seriesModel);\n\n for (var dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {\n var line = addEl(data, this._dataGroup, dataIndex, dimensions, coordSys);\n line.incremental = true;\n updateElCommon(line, data, dataIndex, seriesScope);\n }\n },\n dispose: function () {},\n // _renderForProgressive: function (seriesModel) {\n // var dataGroup = this._dataGroup;\n // var data = seriesModel.getData();\n // var oldData = this._data;\n // var coordSys = seriesModel.coordinateSystem;\n // var dimensions = coordSys.dimensions;\n // var option = seriesModel.option;\n // var progressive = option.progressive;\n // var smooth = option.smooth ? SMOOTH : null;\n // // In progressive animation is disabled, so use simple data diff,\n // // which effects performance less.\n // // (Typically performance for data with length 7000+ like:\n // // simpleDiff: 60ms, addEl: 184ms,\n // // in RMBP 2.4GHz intel i7, OSX 10.9 chrome 50.0.2661.102 (64-bit))\n // if (simpleDiff(oldData, data, dimensions)) {\n // dataGroup.removeAll();\n // data.each(function (dataIndex) {\n // addEl(data, dataGroup, dataIndex, dimensions, coordSys);\n // });\n // }\n // updateElCommon(data, progressive, smooth);\n // // Consider switch between progressive and not.\n // data.__plProgressive = true;\n // this._data = data;\n // },\n\n /**\n * @override\n */\n remove: function () {\n this._dataGroup && this._dataGroup.removeAll();\n this._data = null;\n }\n});\n\nfunction createGridClipShape(coordSys, seriesModel, cb) {\n var parallelModel = coordSys.model;\n var rect = coordSys.getRect();\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n }\n });\n var dim = parallelModel.get('layout') === 'horizontal' ? 'width' : 'height';\n rectEl.setShape(dim, 0);\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width,\n height: rect.height\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nfunction createLinePoints(data, dataIndex, dimensions, coordSys) {\n var points = [];\n\n for (var i = 0; i < dimensions.length; i++) {\n var dimName = dimensions[i];\n var value = data.get(data.mapDimension(dimName), dataIndex);\n\n if (!isEmptyValue(value, coordSys.getAxis(dimName).type)) {\n points.push(coordSys.dataToPoint(value, dimName));\n }\n }\n\n return points;\n}\n\nfunction addEl(data, dataGroup, dataIndex, dimensions, coordSys) {\n var points = createLinePoints(data, dataIndex, dimensions, coordSys);\n var line = new graphic.Polyline({\n shape: {\n points: points\n },\n silent: true,\n z2: 10\n });\n dataGroup.add(line);\n data.setItemGraphicEl(dataIndex, line);\n return line;\n}\n\nfunction makeSeriesScope(seriesModel) {\n var smooth = seriesModel.get('smooth', true);\n smooth === true && (smooth = DEFAULT_SMOOTH);\n return {\n lineStyle: seriesModel.getModel('lineStyle').getLineStyle(),\n smooth: smooth != null ? smooth : DEFAULT_SMOOTH\n };\n}\n\nfunction updateElCommon(el, data, dataIndex, seriesScope) {\n var lineStyle = seriesScope.lineStyle;\n\n if (data.hasItemOption) {\n var lineStyleModel = data.getItemModel(dataIndex).getModel('lineStyle');\n lineStyle = lineStyleModel.getLineStyle();\n }\n\n el.useStyle(lineStyle);\n var elStyle = el.style;\n elStyle.fill = null; // lineStyle.color have been set to itemVisual in module:echarts/visual/seriesColor.\n\n elStyle.stroke = data.getItemVisual(dataIndex, 'color'); // lineStyle.opacity have been set to itemVisual in parallelVisual.\n\n elStyle.opacity = data.getItemVisual(dataIndex, 'opacity');\n seriesScope.smooth && (el.shape.smooth = seriesScope.smooth);\n} // function simpleDiff(oldData, newData, dimensions) {\n// var oldLen;\n// if (!oldData\n// || !oldData.__plProgressive\n// || (oldLen = oldData.count()) !== newData.count()\n// ) {\n// return true;\n// }\n// var dimLen = dimensions.length;\n// for (var i = 0; i < oldLen; i++) {\n// for (var j = 0; j < dimLen; j++) {\n// if (oldData.get(dimensions[j], i) !== newData.get(dimensions[j], i)) {\n// return true;\n// }\n// }\n// }\n// return false;\n// }\n// FIXME\n// 公用方法?\n\n\nfunction isEmptyValue(val, axisType) {\n return axisType === 'category' ? val == null : val == null || isNaN(val); // axisType === 'value'\n}\n\nvar _default = ParallelView;\nmodule.exports = _default;\n\n/***/ }),\n/* 925 */\n/***/ (function(module, exports) {\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;\n\n/***/ }),\n/* 926 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\n__webpack_require__(256);\n\n__webpack_require__(859);\n\n__webpack_require__(860);\n\nvar _barGrid = __webpack_require__(177);\n\nvar layout = _barGrid.layout;\n\nvar visualSymbol = __webpack_require__(102);\n\n__webpack_require__(141);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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'));\n\n/***/ }),\n/* 927 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\n__webpack_require__(928);\n\n__webpack_require__(929);\n\nvar createDataSelectAction = __webpack_require__(358);\n\nvar dataColor = __webpack_require__(181);\n\nvar pieLayout = __webpack_require__(931);\n\nvar dataFilter = __webpack_require__(147);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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'));\n\n/***/ }),\n/* 928 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar createListSimply = __webpack_require__(115);\n\nvar zrUtil = __webpack_require__(0);\n\nvar modelUtil = __webpack_require__(8);\n\nvar _number = __webpack_require__(7);\n\nvar getPercentWithPrecision = _number.getPercentWithPrecision;\n\nvar dataSelectableMixin = __webpack_require__(251);\n\nvar _dataProvider = __webpack_require__(100);\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar _sourceHelper = __webpack_require__(70);\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = __webpack_require__(149);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PieSeries = echarts.extendSeriesModel({\n type: 'series.pie',\n // Overwrite\n init: function (option) {\n PieSeries.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 this.updateSelectedMap(this._createSelectableList());\n\n this._defaultLabelLine(option);\n },\n // Overwrite\n mergeOption: function (newOption) {\n PieSeries.superCall(this, 'mergeOption', newOption);\n this.updateSelectedMap(this._createSelectableList());\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _createSelectableList: function () {\n var data = this.getRawData();\n var valueDim = data.mapDimension('value');\n var targetList = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n targetList.push({\n name: data.getName(i),\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n return targetList;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = PieSeries.superCall(this, 'getDataParams', dataIndex); // FIXME toFixed?\n\n var valueList = [];\n data.each(data.mapDimension('value'), function (value) {\n valueList.push(value);\n });\n params.percent = getPercentWithPrecision(valueList, dataIndex, data.hostModel.get('percentPrecision'));\n params.$vars.push('percent');\n return params;\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n modelUtil.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 defaultOption: {\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // 默认全局居中\n center: ['50%', '50%'],\n radius: [0, '75%'],\n // 默认顺时针\n clockwise: true,\n startAngle: 90,\n // 最小角度改为0\n minAngle: 0,\n // If the angle of a sector less than `minShowLabelAngle`,\n // the label will not be displayed.\n minShowLabelAngle: 0,\n // 选中时扇区偏移量\n selectedOffset: 10,\n // 高亮扇区偏移量\n hoverOffset: 10,\n // If use strategy to avoid label overlapping\n avoidLabelOverlap: true,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n // 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)\n // roseType: null,\n percentPrecision: 2,\n // If still show when all data zero.\n stillShowZeroSum: true,\n // cursor: null,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: null,\n height: null,\n label: {\n // If rotate around circle\n rotate: false,\n show: true,\n // 'outer', 'inside', 'center'\n position: 'outer',\n // 'none', 'labelLine', 'edge'. Works only when position is 'outer'\n alignTo: 'none',\n // Closest distance between label and chart edge.\n // Works only position is 'outer' and alignTo is 'edge'.\n margin: '25%',\n // Works only position is 'outer' and alignTo is not 'edge'.\n bleedMargin: 10,\n // Distance between text and label line.\n distanceToLabelLine: 5 // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n // 默认使用全局文本样式,详见TEXTSTYLE\n // distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数\n\n },\n // Enabled when label.normal.position is 'outer'\n labelLine: {\n show: true,\n // 引导线两段中的第一段长度\n length: 15,\n // 引导线两段中的第二段长度\n length2: 15,\n smooth: false,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n borderWidth: 1\n },\n // Animation type. Valid values: expansion, scale\n animationType: 'expansion',\n // Animation type when update. Valid values: transition, expansion\n animationTypeUpdate: 'transition',\n animationEasing: 'cubicOut'\n }\n});\nzrUtil.mixin(PieSeries, dataSelectableMixin);\nvar _default = PieSeries;\nmodule.exports = _default;\n\n/***/ }),\n/* 929 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar ChartView = __webpack_require__(60);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/model/Series} seriesModel\n * @param {boolean} hasAnimation\n * @inner\n */\nfunction updateDataSelected(uid, seriesModel, hasAnimation, api) {\n var data = seriesModel.getData();\n var dataIndex = this.dataIndex;\n var name = data.getName(dataIndex);\n var selectedOffset = seriesModel.get('selectedOffset');\n api.dispatchAction({\n type: 'pieToggleSelect',\n from: uid,\n name: name,\n seriesId: seriesModel.id\n });\n data.each(function (idx) {\n toggleItemSelected(data.getItemGraphicEl(idx), data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), selectedOffset, hasAnimation);\n });\n}\n/**\n * @param {module:zrender/graphic/Sector} el\n * @param {Object} layout\n * @param {boolean} isSelected\n * @param {number} selectedOffset\n * @param {boolean} hasAnimation\n * @inner\n */\n\n\nfunction toggleItemSelected(el, layout, isSelected, selectedOffset, hasAnimation) {\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var offset = isSelected ? selectedOffset : 0;\n var position = [dx * offset, dy * offset];\n hasAnimation // animateTo will stop revious animation like update transition\n ? el.animate().when(200, {\n position: position\n }).start('bounceOut') : el.attr('position', position);\n}\n/**\n * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\n\nfunction PiePiece(data, idx) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: 2\n });\n var polyline = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(sector);\n this.add(polyline);\n this.add(text);\n this.updateData(data, idx, true);\n}\n\nvar piePieceProto = PiePiece.prototype;\n\npiePieceProto.updateData = function (data, idx, firstCreate) {\n var sector = this.childAt(0);\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var animationTypeUpdate = seriesModel.getShallow('animationTypeUpdate');\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n } else {\n if (animationTypeUpdate === 'expansion') {\n // Sectors are set to be target shape and an overlaying clipPath is used for animation\n sector.setShape(sectorShape);\n } else {\n // Transition animation from the old shape\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n } // Update common style\n\n\n var visualColor = data.getItemVisual(idx, 'color');\n sector.useStyle(zrUtil.defaults({\n lineJoin: 'bevel',\n fill: visualColor\n }, itemModel.getModel('itemStyle').getItemStyle()));\n sector.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle); // Toggle selected\n\n toggleItemSelected(this, data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), seriesModel.get('selectedOffset'), seriesModel.get('animation')); // Label and text animation should be applied only for transition type animation when update\n\n var withAnimation = !firstCreate && animationTypeUpdate === 'transition';\n\n this._updateLabel(data, idx, withAnimation);\n\n this.highDownOnUpdate = itemModel.get('hoverAnimation') && seriesModel.isAnimationEnabled() ? function (fromState, toState) {\n if (toState === 'emphasis') {\n labelLine.ignore = labelLine.hoverIgnore;\n labelText.ignore = labelText.hoverIgnore; // Sector may has animation of updating data. Force to move to the last frame\n // Or it may stopped on the wrong shape\n\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r + seriesModel.get('hoverOffset')\n }\n }, 300, 'elasticOut');\n } else {\n labelLine.ignore = labelLine.normalIgnore;\n labelText.ignore = labelText.normalIgnore;\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r\n }\n }, 300, 'elasticOut');\n }\n } : null;\n graphic.setHoverStyle(this);\n};\n\npiePieceProto._updateLabel = function (data, idx, withAnimation) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n\n if (!labelLayout || isNaN(labelLayout.x) || isNaN(labelLayout.y)) {\n labelText.ignore = labelText.normalIgnore = labelText.hoverIgnore = labelLine.ignore = labelLine.normalIgnore = labelLine.hoverIgnore = true;\n return;\n }\n\n var targetLineShape = {\n points: labelLayout.linePoints || [[labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y]]\n };\n var targetTextStyle = {\n x: labelLayout.x,\n y: labelLayout.y\n };\n\n if (withAnimation) {\n graphic.updateProps(labelLine, {\n shape: targetLineShape\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: targetTextStyle\n }, seriesModel, idx);\n } else {\n labelLine.attr({\n shape: targetLineShape\n });\n labelText.attr({\n style: targetTextStyle\n });\n }\n\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: labelLayout.text,\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n var smooth = labelLineModel.get('smooth');\n\n if (smooth && smooth === true) {\n smooth = 0.4;\n }\n\n labelLine.setShape({\n smooth: smooth\n });\n};\n\nzrUtil.inherits(PiePiece, graphic.Group); // Pie view\n\nvar PieView = ChartView.extend({\n type: 'pie',\n init: function () {\n var sectorGroup = new graphic.Group();\n this._sectorGroup = sectorGroup;\n },\n render: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from === this.uid) {\n return;\n }\n\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var hasAnimation = ecModel.get('animation');\n var isFirstRender = !oldData;\n var animationType = seriesModel.get('animationType');\n var animationTypeUpdate = seriesModel.get('animationTypeUpdate');\n var onSectorClick = zrUtil.curry(updateDataSelected, this.uid, seriesModel, hasAnimation, api);\n var selectedMode = seriesModel.get('selectedMode');\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx); // Default expansion animation\n\n if (isFirstRender && animationType !== 'scale') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n selectedMode && piePiece.on('click', onSectorClick);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n\n if (!isFirstRender && animationTypeUpdate !== 'transition') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n piePiece.updateData(data, newIdx);\n piePiece.off('click');\n selectedMode && piePiece.on('click', onSectorClick);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n\n if (hasAnimation && data.count() > 0 && (isFirstRender ? animationType !== 'scale' : animationTypeUpdate !== 'transition')) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n var r = Math.max(api.getWidth(), api.getHeight()) / 2;\n var removeClipPath = zrUtil.bind(group.removeClipPath, group);\n group.setClipPath(this._createClipPath(shape.cx, shape.cy, r, shape.startAngle, shape.clockwise, removeClipPath, seriesModel, isFirstRender));\n } else {\n // clipPath is used in first-time animation, so remove it when otherwise. See: #8994\n group.removeClipPath();\n }\n\n this._data = data;\n },\n dispose: function () {},\n _createClipPath: function (cx, cy, r, startAngle, clockwise, cb, seriesModel, isFirstRender) {\n var clipPath = new graphic.Sector({\n shape: {\n cx: cx,\n cy: cy,\n r0: 0,\n r: r,\n startAngle: startAngle,\n endAngle: startAngle,\n clockwise: clockwise\n }\n });\n var initOrUpdate = isFirstRender ? graphic.initProps : graphic.updateProps;\n initOrUpdate(clipPath, {\n shape: {\n endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2\n }\n }, seriesModel, cb);\n return clipPath;\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = PieView;\nmodule.exports = _default;\n\n/***/ }),\n/* 930 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(46);\n\nvar _number = __webpack_require__(7);\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;\n\n/***/ }),\n/* 931 */\n/***/ (function(module, exports, __webpack_require__) {\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 _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\nvar linearMap = _number.linearMap;\n\nvar layout = __webpack_require__(14);\n\nvar labelLayout = __webpack_require__(930);\n\nvar zrUtil = __webpack_require__(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*/\nvar PI2 = Math.PI * 2;\nvar RADIAN = Math.PI / 180;\n\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction _default(seriesType, ecModel, api, payload) {\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var viewRect = getViewRect(seriesModel, api);\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 = parsePercent(viewRect.width, api.getWidth());\n var height = parsePercent(viewRect.height, api.getHeight());\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], width) + viewRect.x;\n var cy = parsePercent(center[1], height) + viewRect.y;\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 validDataCount = 0;\n data.each(valueDim, function (value) {\n !isNaN(value) && validDataCount++;\n });\n var sum = data.getSum(valueDim); // Sum may be 0\n\n var unitRadian = Math.PI / (sum || validDataCount) * 2;\n var clockwise = seriesModel.get('clockwise');\n var roseType = seriesModel.get('roseType');\n var stillShowZeroSum = seriesModel.get('stillShowZeroSum'); // [0...max]\n\n var extent = data.getDataExtent(valueDim);\n extent[0] = 0; // In the case some sector angle is smaller than minAngle\n\n var restAngle = PI2;\n var valueSumLargerThanMinAngle = 0;\n var currentAngle = startAngle;\n var dir = clockwise ? 1 : -1;\n data.each(valueDim, function (value, idx) {\n var angle;\n\n if (isNaN(value)) {\n data.setItemLayout(idx, {\n angle: NaN,\n startAngle: NaN,\n endAngle: NaN,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: r0,\n r: roseType ? NaN : r,\n viewRect: viewRect\n });\n return;\n } // FIXME 兼容 2.0 但是 roseType 是 area 的时候才是这样?\n\n\n if (roseType !== 'area') {\n angle = sum === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;\n } else {\n angle = PI2 / validDataCount;\n }\n\n if (angle < minAngle) {\n angle = minAngle;\n restAngle -= minAngle;\n } else {\n valueSumLargerThanMinAngle += value;\n }\n\n var endAngle = currentAngle + dir * angle;\n data.setItemLayout(idx, {\n angle: angle,\n startAngle: currentAngle,\n endAngle: endAngle,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: r0,\n r: roseType ? linearMap(value, extent, [r0, r]) : r,\n viewRect: viewRect\n });\n currentAngle = endAngle;\n }); // Some sector is constrained by minAngle\n // Rest sectors needs recalculate angle\n\n if (restAngle < PI2 && validDataCount) {\n // Average the angle if rest angle is not enough after all angles is\n // Constrained by minAngle\n if (restAngle <= 1e-3) {\n var angle = PI2 / validDataCount;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout = data.getItemLayout(idx);\n layout.angle = angle;\n layout.startAngle = startAngle + dir * idx * angle;\n layout.endAngle = startAngle + dir * (idx + 1) * angle;\n }\n });\n } else {\n unitRadian = restAngle / valueSumLargerThanMinAngle;\n currentAngle = startAngle;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout = data.getItemLayout(idx);\n var angle = layout.angle === minAngle ? minAngle : value * unitRadian;\n layout.startAngle = currentAngle;\n layout.endAngle = currentAngle + dir * angle;\n currentAngle += dir * angle;\n }\n });\n }\n }\n\n labelLayout(seriesModel, r, viewRect.width, viewRect.height, viewRect.x, viewRect.y);\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 932 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(1022);\n\n__webpack_require__(933);\n\n__webpack_require__(934);\n\nvar dataColor = __webpack_require__(181);\n\nvar visualSymbol = __webpack_require__(102);\n\nvar radarLayout = __webpack_require__(936);\n\nvar dataFilter = __webpack_require__(147);\n\nvar backwardCompat = __webpack_require__(935);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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);\n\n/***/ }),\n/* 933 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(29);\n\nvar createListSimply = __webpack_require__(115);\n\nvar zrUtil = __webpack_require__(0);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\nvar LegendVisualProvider = __webpack_require__(149);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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) {\n var data = this.getData();\n var coordSys = this.coordinateSystem;\n var indicatorAxes = coordSys.getIndicatorAxes();\n var name = this.getData().getName(dataIndex);\n return encodeHTML(name === '' ? this.name : name) + '
' + zrUtil.map(indicatorAxes, function (axis, idx) {\n var val = data.get(data.mapDimension(axis.dim), dataIndex);\n return encodeHTML(axis.name + ' : ' + val);\n }).join('
');\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;\n\n/***/ }),\n/* 934 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar graphic = __webpack_require__(6);\n\nvar zrUtil = __webpack_require__(0);\n\nvar symbolUtil = __webpack_require__(45);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 normalizeSymbolSize(symbolSize) {\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [+symbolSize, +symbolSize];\n }\n\n return symbolSize;\n}\n\nvar _default = echarts.extendChartView({\n type: 'radar',\n render: function (seriesModel, ecModel, api) {\n var polar = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n\n function createSymbol(data, idx) {\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var color = data.getItemVisual(idx, 'color');\n\n if (symbolType === 'none') {\n return;\n }\n\n var symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n var symbolPath = symbolUtil.createSymbol(symbolType, -1, -1, 2, 2, color);\n symbolPath.attr({\n style: {\n strokeNoScale: true\n },\n z2: 100,\n scale: [symbolSize[0] / 2, symbolSize[1] / 2]\n });\n return symbolPath;\n }\n\n function updateSymbols(oldPoints, newPoints, symbolGroup, data, idx, isInit) {\n // Simply rerender all\n symbolGroup.removeAll();\n\n for (var i = 0; i < newPoints.length - 1; i++) {\n var symbolPath = createSymbol(data, idx);\n\n if (symbolPath) {\n symbolPath.__dimIdx = i;\n\n if (oldPoints[i]) {\n symbolPath.attr('position', oldPoints[i]);\n graphic[isInit ? 'initProps' : 'updateProps'](symbolPath, {\n position: newPoints[i]\n }, seriesModel, idx);\n } else {\n symbolPath.attr('position', newPoints[i]);\n }\n\n symbolGroup.add(symbolPath);\n }\n }\n }\n\n function getInitialPoints(points) {\n return zrUtil.map(points, function (pt) {\n return [polar.cx, polar.cy];\n });\n }\n\n data.diff(oldData).add(function (idx) {\n var points = data.getItemLayout(idx);\n\n if (!points) {\n return;\n }\n\n var polygon = new graphic.Polygon();\n var polyline = new graphic.Polyline();\n var target = {\n shape: {\n points: points\n }\n };\n polygon.shape.points = getInitialPoints(points);\n polyline.shape.points = getInitialPoints(points);\n graphic.initProps(polygon, target, seriesModel, idx);\n graphic.initProps(polyline, target, seriesModel, idx);\n var itemGroup = new graphic.Group();\n var symbolGroup = new graphic.Group();\n itemGroup.add(polyline);\n itemGroup.add(polygon);\n itemGroup.add(symbolGroup);\n updateSymbols(polyline.shape.points, points, symbolGroup, data, idx, true);\n data.setItemGraphicEl(idx, itemGroup);\n }).update(function (newIdx, oldIdx) {\n var itemGroup = oldData.getItemGraphicEl(oldIdx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var target = {\n shape: {\n points: data.getItemLayout(newIdx)\n }\n };\n\n if (!target.shape.points) {\n return;\n }\n\n updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data, newIdx, false);\n graphic.updateProps(polyline, target, seriesModel);\n graphic.updateProps(polygon, target, seriesModel);\n data.setItemGraphicEl(newIdx, itemGroup);\n }).remove(function (idx) {\n group.remove(oldData.getItemGraphicEl(idx));\n }).execute();\n data.eachItemGraphicEl(function (itemGroup, idx) {\n var itemModel = data.getItemModel(idx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var color = data.getItemVisual(idx, 'color');\n group.add(itemGroup);\n polyline.useStyle(zrUtil.defaults(itemModel.getModel('lineStyle').getLineStyle(), {\n fill: 'none',\n stroke: color\n }));\n polyline.hoverStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n var areaStyleModel = itemModel.getModel('areaStyle');\n var hoverAreaStyleModel = itemModel.getModel('emphasis.areaStyle');\n var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();\n var hoverPolygonIgnore = hoverAreaStyleModel.isEmpty() && hoverAreaStyleModel.parentModel.isEmpty();\n hoverPolygonIgnore = hoverPolygonIgnore && polygonIgnore;\n polygon.ignore = polygonIgnore;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: color,\n opacity: 0.7\n }));\n polygon.hoverStyle = hoverAreaStyleModel.getAreaStyle();\n var itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var itemHoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n symbolGroup.eachChild(function (symbolPath) {\n symbolPath.setStyle(itemStyle);\n symbolPath.hoverStyle = zrUtil.clone(itemHoverStyle);\n var defaultText = data.get(data.dimensions[symbolPath.__dimIdx], idx);\n (defaultText == null || isNaN(defaultText)) && (defaultText = '');\n graphic.setLabelStyle(symbolPath.style, symbolPath.hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n labelDimIndex: symbolPath.__dimIdx,\n defaultText: defaultText,\n autoColor: color,\n isRectText: true\n });\n });\n\n itemGroup.highDownOnUpdate = function (fromState, toState) {\n polygon.attr('ignore', toState === 'emphasis' ? hoverPolygonIgnore : polygonIgnore);\n };\n\n graphic.setHoverStyle(itemGroup);\n });\n this._data = data;\n },\n remove: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 935 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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// 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;\n\n/***/ }),\n/* 936 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 937 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(938);\n\n__webpack_require__(939);\n\n__webpack_require__(940);\n\nvar sankeyLayout = __webpack_require__(941);\n\nvar sankeyVisual = __webpack_require__(942);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(sankeyLayout);\necharts.registerVisual(sankeyVisual);\n\n/***/ }),\n/* 938 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(29);\n\nvar createGraphFromNodeEdge = __webpack_require__(366);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\nvar Model = __webpack_require__(26);\n\nvar _config = __webpack_require__(10);\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;\n\n/***/ }),\n/* 939 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar echarts = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(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*/\nvar nodeOpacityPath = ['itemStyle', 'opacity'];\nvar hoverNodeOpacityPath = ['emphasis', 'itemStyle', 'opacity'];\nvar lineOpacityPath = ['lineStyle', 'opacity'];\nvar hoverLineOpacityPath = ['emphasis', 'lineStyle', 'opacity'];\n\nfunction getItemOpacity(item, opacityPath) {\n return item.getVisual('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.type !== 'group') {\n child.setStyle('opacity', opacity);\n }\n });\n}\n\nfunction fadeInItem(item, opacityPath) {\n var opacity = getItemOpacity(item, opacityPath);\n var el = item.getGraphicEl();\n el.traverse(function (child) {\n if (child.type !== 'group') {\n child.setStyle('opacity', opacity);\n }\n }); // Support emphasis here.\n\n el.highlight && el.highlight();\n}\n\nvar SankeyShape = graphic.extendShape({\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 extent: 0,\n orient: ''\n },\n buildPath: function (ctx, shape) {\n var extent = shape.extent;\n ctx.moveTo(shape.x1, shape.y1);\n ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);\n\n if (shape.orient === 'vertical') {\n ctx.lineTo(shape.x2 + extent, shape.y2);\n ctx.bezierCurveTo(shape.cpx2 + extent, shape.cpy2, shape.cpx1 + extent, shape.cpy1, shape.x1 + extent, shape.y1);\n } else {\n ctx.lineTo(shape.x2, shape.y2 + extent);\n ctx.bezierCurveTo(shape.cpx2, shape.cpy2 + extent, shape.cpx1, shape.cpy1 + extent, shape.x1, shape.y1 + extent);\n }\n\n ctx.closePath();\n },\n highlight: function () {\n this.trigger('emphasis');\n },\n downplay: function () {\n this.trigger('normal');\n }\n});\n\nvar _default = echarts.extendChartView({\n type: 'sankey',\n\n /**\n * @private\n * @type {module:echarts/chart/sankey/SankeySeries}\n */\n _model: null,\n\n /**\n * @private\n * @type {boolean}\n */\n _focusAdjacencyDisabled: false,\n render: function (seriesModel, ecModel, api) {\n var sankeyView = this;\n var graph = seriesModel.getGraph();\n var group = this.group;\n var layoutInfo = seriesModel.layoutInfo; // view width\n\n var width = layoutInfo.width; // view height\n\n var height = layoutInfo.height;\n var nodeData = seriesModel.getData();\n var edgeData = seriesModel.getData('edge');\n var orient = seriesModel.get('orient');\n this._model = seriesModel;\n group.removeAll();\n group.attr('position', [layoutInfo.x, layoutInfo.y]); // generate a bezire Curve for each edge\n\n graph.eachEdge(function (edge) {\n var curve = new SankeyShape();\n curve.dataIndex = edge.dataIndex;\n curve.seriesIndex = seriesModel.seriesIndex;\n curve.dataType = 'edge';\n var lineStyleModel = edge.getModel('lineStyle');\n var curvature = lineStyleModel.get('curveness');\n var n1Layout = edge.node1.getLayout();\n var node1Model = edge.node1.getModel();\n var dragX1 = node1Model.get('localX');\n var dragY1 = node1Model.get('localY');\n var n2Layout = edge.node2.getLayout();\n var node2Model = edge.node2.getModel();\n var dragX2 = node2Model.get('localX');\n var dragY2 = node2Model.get('localY');\n var edgeLayout = edge.getLayout();\n var x1;\n var y1;\n var x2;\n var y2;\n var cpx1;\n var cpy1;\n var cpx2;\n var cpy2;\n curve.shape.extent = Math.max(1, edgeLayout.dy);\n curve.shape.orient = orient;\n\n if (orient === 'vertical') {\n x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + edgeLayout.sy;\n y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + n1Layout.dy;\n x2 = (dragX2 != null ? dragX2 * width : n2Layout.x) + edgeLayout.ty;\n y2 = dragY2 != null ? dragY2 * height : n2Layout.y;\n cpx1 = x1;\n cpy1 = y1 * (1 - curvature) + y2 * curvature;\n cpx2 = x2;\n cpy2 = y1 * curvature + y2 * (1 - curvature);\n } else {\n x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + n1Layout.dx;\n y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + edgeLayout.sy;\n x2 = dragX2 != null ? dragX2 * width : n2Layout.x;\n y2 = (dragY2 != null ? dragY2 * height : n2Layout.y) + edgeLayout.ty;\n cpx1 = x1 * (1 - curvature) + x2 * curvature;\n cpy1 = y1;\n cpx2 = x1 * curvature + x2 * (1 - curvature);\n cpy2 = y2;\n }\n\n curve.setShape({\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 curve.setStyle(lineStyleModel.getItemStyle()); // Special color, use source node color or target node color\n\n switch (curve.style.fill) {\n case 'source':\n curve.style.fill = edge.node1.getVisual('color');\n break;\n\n case 'target':\n curve.style.fill = edge.node2.getVisual('color');\n break;\n }\n\n graphic.setHoverStyle(curve, edge.getModel('emphasis.lineStyle').getItemStyle());\n group.add(curve);\n edgeData.setItemGraphicEl(edge.dataIndex, curve);\n }); // Generate a rect for each node\n\n graph.eachNode(function (node) {\n var layout = node.getLayout();\n var itemModel = node.getModel();\n var dragX = itemModel.get('localX');\n var dragY = itemModel.get('localY');\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var rect = new graphic.Rect({\n shape: {\n x: dragX != null ? dragX * width : layout.x,\n y: dragY != null ? dragY * height : layout.y,\n width: layout.dx,\n height: layout.dy\n },\n style: itemModel.getModel('itemStyle').getItemStyle()\n });\n var hoverStyle = node.getModel('emphasis.itemStyle').getItemStyle();\n graphic.setLabelStyle(rect.style, hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: seriesModel,\n labelDataIndex: node.dataIndex,\n defaultText: node.id,\n isRectText: true\n });\n rect.setStyle('fill', node.getVisual('color'));\n graphic.setHoverStyle(rect, hoverStyle);\n group.add(rect);\n nodeData.setItemGraphicEl(node.dataIndex, rect);\n rect.dataType = 'node';\n });\n nodeData.eachItemGraphicEl(function (el, dataIndex) {\n var itemModel = nodeData.getItemModel(dataIndex);\n\n if (itemModel.get('draggable')) {\n el.drift = function (dx, dy) {\n sankeyView._focusAdjacencyDisabled = true;\n this.shape.x += dx;\n this.shape.y += dy;\n this.dirty();\n api.dispatchAction({\n type: 'dragNode',\n seriesId: seriesModel.id,\n dataIndex: nodeData.getRawIndex(dataIndex),\n localX: this.shape.x / width,\n localY: this.shape.y / height\n });\n };\n\n el.ondragend = function () {\n sankeyView._focusAdjacencyDisabled = false;\n };\n\n el.draggable = true;\n el.cursor = 'move';\n }\n\n el.highlight = function () {\n this.trigger('emphasis');\n };\n\n el.downplay = function () {\n this.trigger('normal');\n };\n\n el.focusNodeAdjHandler && el.off('mouseover', el.focusNodeAdjHandler);\n el.unfocusNodeAdjHandler && el.off('mouseout', el.unfocusNodeAdjHandler);\n\n if (itemModel.get('focusNodeAdjacency')) {\n el.on('mouseover', el.focusNodeAdjHandler = function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n sankeyView._clearTimer();\n\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n dataIndex: el.dataIndex\n });\n }\n });\n el.on('mouseout', el.unfocusNodeAdjHandler = function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n sankeyView._dispatchUnfocus(api);\n }\n });\n }\n });\n edgeData.eachItemGraphicEl(function (el, dataIndex) {\n var edgeModel = edgeData.getItemModel(dataIndex);\n el.focusNodeAdjHandler && el.off('mouseover', el.focusNodeAdjHandler);\n el.unfocusNodeAdjHandler && el.off('mouseout', el.unfocusNodeAdjHandler);\n\n if (edgeModel.get('focusNodeAdjacency')) {\n el.on('mouseover', el.focusNodeAdjHandler = function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n sankeyView._clearTimer();\n\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n edgeDataIndex: el.dataIndex\n });\n }\n });\n el.on('mouseout', el.unfocusNodeAdjHandler = function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n sankeyView._dispatchUnfocus(api);\n }\n });\n }\n });\n\n if (!this._data && seriesModel.get('animation')) {\n group.setClipPath(createGridClipShape(group.getBoundingRect(), seriesModel, function () {\n group.removeClipPath();\n }));\n }\n\n this._data = seriesModel.getData();\n },\n dispose: function () {\n this._clearTimer();\n },\n _dispatchUnfocus: function (api) {\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 itemModel = data.getItemModel(dataIndex);\n var edgeDataIndex = payload.edgeDataIndex;\n\n if (dataIndex == null && edgeDataIndex == null) {\n return;\n }\n\n var node = graph.getNodeByIndex(dataIndex);\n var edge = graph.getEdgeByIndex(edgeDataIndex);\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, hoverNodeOpacityPath);\n var focusNodeAdj = itemModel.get('focusNodeAdjacency');\n\n if (focusNodeAdj === 'outEdges') {\n zrUtil.each(node.outEdges, function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(edge, hoverLineOpacityPath);\n fadeInItem(edge.node2, hoverNodeOpacityPath);\n });\n } else if (focusNodeAdj === 'inEdges') {\n zrUtil.each(node.inEdges, function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(edge, hoverLineOpacityPath);\n fadeInItem(edge.node1, hoverNodeOpacityPath);\n });\n } else if (focusNodeAdj === 'allEdges') {\n zrUtil.each(node.edges, function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(edge, hoverLineOpacityPath);\n edge.node1 !== node && fadeInItem(edge.node1, hoverNodeOpacityPath);\n edge.node2 !== node && fadeInItem(edge.node2, hoverNodeOpacityPath);\n });\n }\n }\n\n if (edge) {\n fadeInItem(edge, hoverLineOpacityPath);\n fadeInItem(edge.node1, hoverNodeOpacityPath);\n fadeInItem(edge.node2, hoverNodeOpacityPath);\n }\n },\n unfocusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n var graph = seriesModel.getGraph();\n graph.eachNode(function (node) {\n fadeOutItem(node, nodeOpacityPath);\n });\n graph.eachEdge(function (edge) {\n fadeOutItem(edge, lineOpacityPath);\n });\n }\n}); // Add animation to the view\n\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x - 10,\n y: rect.y - 10,\n width: 0,\n height: rect.height + 20\n }\n });\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width + 20\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 940 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(367);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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});\n\n/***/ }),\n/* 941 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(14);\n\nvar zrUtil = __webpack_require__(0);\n\nvar _model = __webpack_require__(8);\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 (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 weightedSource(edge, orient) {\n return center(edge.node1, orient) * edge.getValue();\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 (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;\n\n/***/ }),\n/* 942 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(101);\n\nvar zrUtil = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 943 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(944);\n\n__webpack_require__(945);\n\nvar visualSymbol = __webpack_require__(102);\n\nvar layoutPoints = __webpack_require__(146);\n\n__webpack_require__(141);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * as zrUtil from 'zrender/src/core/util';\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol('scatter', 'circle'));\necharts.registerLayout(layoutPoints('scatter')); // echarts.registerProcessor(function (ecModel, api) {\n// ecModel.eachSeriesByType('scatter', function (seriesModel) {\n// var data = seriesModel.getData();\n// var coordSys = seriesModel.coordinateSystem;\n// if (coordSys.type !== 'geo') {\n// return;\n// }\n// var startPt = coordSys.pointToData([0, 0]);\n// var endPt = coordSys.pointToData([api.getWidth(), api.getHeight()]);\n// var dims = zrUtil.map(coordSys.dimensions, function (dim) {\n// return data.mapDimension(dim);\n// });\n// var range = {};\n// range[dims[0]] = [Math.min(startPt[0], endPt[0]), Math.max(startPt[0], endPt[0])];\n// range[dims[1]] = [Math.min(startPt[1], endPt[1]), Math.max(startPt[1], endPt[1])];\n// data.selectRange(range);\n// });\n// });\n\n/***/ }),\n/* 944 */\n/***/ (function(module, exports, __webpack_require__) {\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 createListFromArray = __webpack_require__(69);\n\nvar SeriesModel = __webpack_require__(29);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 945 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar SymbolDraw = __webpack_require__(138);\n\nvar LargeSymbolDraw = __webpack_require__(905);\n\nvar pointsLayout = __webpack_require__(146);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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});\n\n/***/ }),\n/* 946 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\n__webpack_require__(948);\n\n__webpack_require__(949);\n\n__webpack_require__(950);\n\nvar dataColor = __webpack_require__(181);\n\nvar sunburstLayout = __webpack_require__(951);\n\nvar dataFilter = __webpack_require__(147);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 947 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 NodeHighlightPolicy = {\n NONE: 'none',\n // not downplay others\n DESCENDANT: 'descendant',\n ANCESTOR: 'ancestor',\n SELF: 'self'\n};\nvar DEFAULT_SECTOR_Z = 2;\nvar DEFAULT_TEXT_Z = 4;\n/**\n * Sunburstce of Sunburst including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\nfunction SunburstPiece(node, seriesModel, ecModel) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: DEFAULT_SECTOR_Z\n });\n sector.seriesIndex = seriesModel.seriesIndex;\n var text = new graphic.Text({\n z2: DEFAULT_TEXT_Z,\n silent: node.getModel('label').get('silent')\n });\n this.add(sector);\n this.add(text);\n this.updateData(true, node, 'normal', seriesModel, ecModel); // Hover to change label and labelLine\n\n function onEmphasis() {\n text.ignore = text.hoverIgnore;\n }\n\n function onNormal() {\n text.ignore = text.normalIgnore;\n }\n\n this.on('emphasis', onEmphasis).on('normal', onNormal).on('mouseover', onEmphasis).on('mouseout', onNormal);\n}\n\nvar SunburstPieceProto = SunburstPiece.prototype;\n\nSunburstPieceProto.updateData = function (firstCreate, node, state, seriesModel, ecModel) {\n this.node = node;\n node.piece = this;\n seriesModel = seriesModel || this._seriesModel;\n ecModel = ecModel || this._ecModel;\n var sector = this.childAt(0);\n sector.dataIndex = node.dataIndex;\n var itemModel = node.getModel();\n var layout = node.getLayout(); // if (!layout) {\n // console.log(node.getLayout());\n // }\n\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var visualColor = getNodeColor(node, seriesModel, ecModel);\n fillDefaultColor(node, seriesModel, visualColor);\n var normalStyle = itemModel.getModel('itemStyle').getItemStyle();\n var style;\n\n if (state === 'normal') {\n style = normalStyle;\n } else {\n var stateStyle = itemModel.getModel(state + '.itemStyle').getItemStyle();\n style = zrUtil.merge(stateStyle, normalStyle);\n }\n\n style = zrUtil.defaults({\n lineJoin: 'bevel',\n fill: style.fill || visualColor\n }, style);\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n sector.shape.r = layout.r0;\n graphic.updateProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, node.dataIndex);\n sector.useStyle(style);\n } else if (typeof style.fill === 'object' && style.fill.type || typeof sector.style.fill === 'object' && sector.style.fill.type) {\n // Disable animation for gradient since no interpolation method\n // is supported for gradient\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel);\n sector.useStyle(style);\n } else {\n graphic.updateProps(sector, {\n shape: sectorShape,\n style: style\n }, seriesModel);\n }\n\n this._updateLabel(seriesModel, visualColor, state);\n\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n\n if (firstCreate) {\n var highlightPolicy = seriesModel.getShallow('highlightPolicy');\n\n this._initEvents(sector, node, seriesModel, highlightPolicy);\n }\n\n this._seriesModel = seriesModel || this._seriesModel;\n this._ecModel = ecModel || this._ecModel;\n};\n\nSunburstPieceProto.onEmphasis = function (highlightPolicy) {\n var that = this;\n this.node.hostTree.root.eachNode(function (n) {\n if (n.piece) {\n if (that.node === n) {\n n.piece.updateData(false, n, 'emphasis');\n } else if (isNodeHighlighted(n, that.node, highlightPolicy)) {\n n.piece.childAt(0).trigger('highlight');\n } else if (highlightPolicy !== NodeHighlightPolicy.NONE) {\n n.piece.childAt(0).trigger('downplay');\n }\n }\n });\n};\n\nSunburstPieceProto.onNormal = function () {\n this.node.hostTree.root.eachNode(function (n) {\n if (n.piece) {\n n.piece.updateData(false, n, 'normal');\n }\n });\n};\n\nSunburstPieceProto.onHighlight = function () {\n this.updateData(false, this.node, 'highlight');\n};\n\nSunburstPieceProto.onDownplay = function () {\n this.updateData(false, this.node, 'downplay');\n};\n\nSunburstPieceProto._updateLabel = function (seriesModel, visualColor, state) {\n var itemModel = this.node.getModel();\n var normalModel = itemModel.getModel('label');\n var labelModel = state === 'normal' || state === 'emphasis' ? normalModel : itemModel.getModel(state + '.label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var text = zrUtil.retrieve(seriesModel.getFormattedLabel(this.node.dataIndex, state, null, null, 'label'), this.node.name);\n\n if (getLabelAttr('show') === false) {\n text = '';\n }\n\n var layout = this.node.getLayout();\n var labelMinAngle = labelModel.get('minAngle');\n\n if (labelMinAngle == null) {\n labelMinAngle = normalModel.get('minAngle');\n }\n\n labelMinAngle = labelMinAngle / 180 * Math.PI;\n var angle = layout.endAngle - layout.startAngle;\n\n if (labelMinAngle != null && Math.abs(angle) < labelMinAngle) {\n // Not displaying text when angle is too small\n text = '';\n }\n\n var label = this.childAt(1);\n graphic.setLabelStyle(label.style, label.hoverStyle || {}, normalModel, labelHoverModel, {\n defaultText: labelModel.getShallow('show') ? text : null,\n autoColor: visualColor,\n useInsideStyle: true\n });\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var r;\n var labelPosition = getLabelAttr('position');\n var labelPadding = getLabelAttr('distance') || 0;\n var textAlign = getLabelAttr('align');\n\n if (labelPosition === 'outside') {\n r = layout.r + labelPadding;\n textAlign = midAngle > Math.PI / 2 ? 'right' : 'left';\n } else {\n if (!textAlign || textAlign === 'center') {\n r = (layout.r + layout.r0) / 2;\n textAlign = 'center';\n } else if (textAlign === 'left') {\n r = layout.r0 + labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'right';\n }\n } else if (textAlign === 'right') {\n r = layout.r - labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'left';\n }\n }\n }\n\n label.attr('style', {\n text: text,\n textAlign: textAlign,\n textVerticalAlign: getLabelAttr('verticalAlign') || 'middle',\n opacity: getLabelAttr('opacity')\n });\n var textX = r * dx + layout.cx;\n var textY = r * dy + layout.cy;\n label.attr('position', [textX, textY]);\n var rotateType = getLabelAttr('rotate');\n var rotate = 0;\n\n if (rotateType === 'radial') {\n rotate = -midAngle;\n\n if (rotate < -Math.PI / 2) {\n rotate += Math.PI;\n }\n } else if (rotateType === 'tangential') {\n rotate = Math.PI / 2 - midAngle;\n\n if (rotate > Math.PI / 2) {\n rotate -= Math.PI;\n } else if (rotate < -Math.PI / 2) {\n rotate += Math.PI;\n }\n } else if (typeof rotateType === 'number') {\n rotate = rotateType * Math.PI / 180;\n }\n\n label.attr('rotation', rotate);\n\n function getLabelAttr(name) {\n var stateAttr = labelModel.get(name);\n\n if (stateAttr == null) {\n return normalModel.get(name);\n } else {\n return stateAttr;\n }\n }\n};\n\nSunburstPieceProto._initEvents = function (sector, node, seriesModel, highlightPolicy) {\n sector.off('mouseover').off('mouseout').off('emphasis').off('normal');\n var that = this;\n\n var onEmphasis = function () {\n that.onEmphasis(highlightPolicy);\n };\n\n var onNormal = function () {\n that.onNormal();\n };\n\n var onDownplay = function () {\n that.onDownplay();\n };\n\n var onHighlight = function () {\n that.onHighlight();\n };\n\n if (seriesModel.isAnimationEnabled()) {\n sector.on('mouseover', onEmphasis).on('mouseout', onNormal).on('emphasis', onEmphasis).on('normal', onNormal).on('downplay', onDownplay).on('highlight', onHighlight);\n }\n};\n\nzrUtil.inherits(SunburstPiece, graphic.Group);\nvar _default = SunburstPiece;\n/**\n * Get node color\n *\n * @param {TreeNode} node the node to get color\n * @param {module:echarts/model/Series} seriesModel series\n * @param {module:echarts/model/Global} ecModel echarts defaults\n */\n\nfunction getNodeColor(node, seriesModel, ecModel) {\n // Color from visualMap\n var visualColor = node.getVisual('color');\n var visualMetaList = node.getVisual('visualMeta');\n\n if (!visualMetaList || visualMetaList.length === 0) {\n // Use first-generation color if has no visualMap\n visualColor = null;\n } // Self color or level color\n\n\n var color = node.getModel('itemStyle').get('color');\n\n if (color) {\n return color;\n } else if (visualColor) {\n // Color mapping\n return visualColor;\n } else if (node.depth === 0) {\n // Virtual root node\n return ecModel.option.color[0];\n } else {\n // First-generation color\n var length = ecModel.option.color.length;\n color = ecModel.option.color[getRootId(node) % length];\n }\n\n return color;\n}\n/**\n * Get index of root in sorted order\n *\n * @param {TreeNode} node current node\n * @return {number} index in root\n */\n\n\nfunction getRootId(node) {\n var ancestor = node;\n\n while (ancestor.depth > 1) {\n ancestor = ancestor.parentNode;\n }\n\n var virtualRoot = node.getAncestors()[0];\n return zrUtil.indexOf(virtualRoot.children, ancestor);\n}\n\nfunction isNodeHighlighted(node, activeNode, policy) {\n if (policy === NodeHighlightPolicy.NONE) {\n return false;\n } else if (policy === NodeHighlightPolicy.SELF) {\n return node === activeNode;\n } else if (policy === NodeHighlightPolicy.ANCESTOR) {\n return node === activeNode || node.isAncestorOf(activeNode);\n } else {\n return node === activeNode || node.isDescendantOf(activeNode);\n }\n} // Fix tooltip callback function params.color incorrect when pick a default color\n\n\nfunction fillDefaultColor(node, seriesModel, color) {\n var data = seriesModel.getData();\n data.setItemVisual(node.dataIndex, 'color', color);\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 948 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar Tree = __webpack_require__(260);\n\nvar _treeHelper = __webpack_require__(97);\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 levels = option.levels || []; // levels = option.levels = setDefault(levels, ecModel);\n\n var treeOption = {};\n treeOption.levels = levels; // 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 return Tree.createTree(root, this, treeOption).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 emphasis: {}\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 emphasis: {},\n highlight: {\n opacity: 1\n },\n downplay: {\n opacity: 0.9\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/***/ }),\n/* 949 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ChartView = __webpack_require__(60);\n\nvar SunburstPiece = __webpack_require__(947);\n\nvar DataDiffer = __webpack_require__(99);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\nvar SunburstView = ChartView.extend({\n type: 'sunburst',\n init: function () {},\n render: function (seriesModel, ecModel, api, payload) {\n var that = this;\n this.seriesModel = seriesModel;\n this.api = api;\n this.ecModel = ecModel;\n var data = seriesModel.getData();\n var virtualRoot = data.tree.root;\n var newRoot = seriesModel.getViewRoot();\n var group = this.group;\n var renderLabelForZeroData = seriesModel.get('renderLabelForZeroData');\n var newChildren = [];\n newRoot.eachNode(function (node) {\n newChildren.push(node);\n });\n var oldChildren = this._oldChildren || [];\n dualTravel(newChildren, oldChildren);\n renderRollUp(virtualRoot, newRoot);\n\n if (payload && payload.highlight && payload.highlight.piece) {\n var highlightPolicy = seriesModel.getShallow('highlightPolicy');\n payload.highlight.piece.onEmphasis(highlightPolicy);\n } else if (payload && payload.unhighlight) {\n var piece = this.virtualPiece;\n\n if (!piece && virtualRoot.children.length) {\n piece = virtualRoot.children[0].piece;\n }\n\n if (piece) {\n piece.onNormal();\n }\n }\n\n this._initEvents();\n\n this._oldChildren = newChildren;\n\n function dualTravel(newChildren, oldChildren) {\n if (newChildren.length === 0 && oldChildren.length === 0) {\n return;\n }\n\n new DataDiffer(oldChildren, newChildren, getKey, getKey).add(processNode).update(processNode).remove(zrUtil.curry(processNode, null)).execute();\n\n function getKey(node) {\n return node.getId();\n }\n\n function processNode(newId, oldId) {\n var newNode = newId == null ? null : newChildren[newId];\n var oldNode = oldId == null ? null : oldChildren[oldId];\n doRenderNode(newNode, oldNode);\n }\n }\n\n function doRenderNode(newNode, oldNode) {\n if (!renderLabelForZeroData && newNode && !newNode.getValue()) {\n // Not render data with value 0\n newNode = null;\n }\n\n if (newNode !== virtualRoot && oldNode !== virtualRoot) {\n if (oldNode && oldNode.piece) {\n if (newNode) {\n // Update\n oldNode.piece.updateData(false, newNode, 'normal', seriesModel, ecModel); // For tooltip\n\n data.setItemGraphicEl(newNode.dataIndex, oldNode.piece);\n } else {\n // Remove\n removeNode(oldNode);\n }\n } else if (newNode) {\n // Add\n var piece = new SunburstPiece(newNode, seriesModel, ecModel);\n group.add(piece); // For tooltip\n\n data.setItemGraphicEl(newNode.dataIndex, piece);\n }\n }\n }\n\n function removeNode(node) {\n if (!node) {\n return;\n }\n\n if (node.piece) {\n group.remove(node.piece);\n node.piece = null;\n }\n }\n\n function renderRollUp(virtualRoot, viewRoot) {\n if (viewRoot.depth > 0) {\n // Render\n if (that.virtualPiece) {\n // Update\n that.virtualPiece.updateData(false, virtualRoot, 'normal', seriesModel, ecModel);\n } else {\n // Add\n that.virtualPiece = new SunburstPiece(virtualRoot, seriesModel, ecModel);\n group.add(that.virtualPiece);\n }\n\n if (viewRoot.piece._onclickEvent) {\n viewRoot.piece.off('click', viewRoot.piece._onclickEvent);\n }\n\n var event = function (e) {\n that._rootToNode(viewRoot.parentNode);\n };\n\n viewRoot.piece._onclickEvent = event;\n that.virtualPiece.on('click', event);\n } else if (that.virtualPiece) {\n // Remove\n group.remove(that.virtualPiece);\n that.virtualPiece = null;\n }\n }\n },\n dispose: function () {},\n\n /**\n * @private\n */\n _initEvents: function () {\n var that = this;\n\n var event = function (e) {\n var targetFound = false;\n var viewRoot = that.seriesModel.getViewRoot();\n viewRoot.eachNode(function (node) {\n if (!targetFound && node.piece && node.piece.childAt(0) === e.target) {\n var nodeClick = node.getModel().get('nodeClick');\n\n if (nodeClick === 'rootToNode') {\n that._rootToNode(node);\n } else if (nodeClick === 'link') {\n var itemModel = node.getModel();\n var link = itemModel.get('link');\n\n if (link) {\n var linkTarget = itemModel.get('target', true) || '_blank';\n window.open(link, linkTarget);\n }\n }\n\n targetFound = true;\n }\n });\n };\n\n if (this.group._onclickEvent) {\n this.group.off('click', this.group._onclickEvent);\n }\n\n this.group.on('click', event);\n this.group._onclickEvent = event;\n },\n\n /**\n * @private\n */\n _rootToNode: function (node) {\n if (node !== this.seriesModel.getViewRoot()) {\n this.api.dispatchAction({\n type: ROOT_TO_NODE_ACTION,\n from: this.uid,\n seriesId: this.seriesModel.id,\n targetNode: node\n });\n }\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var treeRoot = seriesModel.getData();\n var itemLayout = treeRoot.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = SunburstView;\nmodule.exports = _default;\n\n/***/ }),\n/* 950 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar helper = __webpack_require__(97);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * @file Sunburst action\n */\nvar ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\necharts.registerAction({\n type: ROOT_TO_NODE_ACTION,\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sunburst',\n query: payload\n }, handleRootToNode);\n\n function handleRootToNode(model, index) {\n var targetInfo = helper.retrieveTargetInfo(payload, [ROOT_TO_NODE_ACTION], model);\n\n if (targetInfo) {\n var originViewRoot = model.getViewRoot();\n\n if (originViewRoot) {\n payload.direction = helper.aboveViewRoot(originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';\n }\n\n model.resetViewRoot(targetInfo.node);\n }\n }\n});\nvar HIGHLIGHT_ACTION = 'sunburstHighlight';\necharts.registerAction({\n type: HIGHLIGHT_ACTION,\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sunburst',\n query: payload\n }, handleHighlight);\n\n function handleHighlight(model, index) {\n var targetInfo = helper.retrieveTargetInfo(payload, [HIGHLIGHT_ACTION], model);\n\n if (targetInfo) {\n payload.highlight = targetInfo.node;\n }\n }\n});\nvar UNHIGHLIGHT_ACTION = 'sunburstUnhighlight';\necharts.registerAction({\n type: UNHIGHLIGHT_ACTION,\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sunburst',\n query: payload\n }, handleUnhighlight);\n\n function handleUnhighlight(model, index) {\n payload.unhighlight = true;\n }\n});\n\n/***/ }),\n/* 951 */\n/***/ (function(module, exports, __webpack_require__) {\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 _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\n\nvar zrUtil = __webpack_require__(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// 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;\n\n/***/ }),\n/* 952 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(391);\n\n__webpack_require__(953);\n\n__webpack_require__(954);\n\nvar themeRiverLayout = __webpack_require__(955);\n\nvar themeRiverVisual = __webpack_require__(956);\n\nvar dataFilter = __webpack_require__(147);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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(themeRiverLayout);\necharts.registerVisual(themeRiverVisual);\necharts.registerProcessor(dataFilter('themeRiver'));\n\n/***/ }),\n/* 953 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(29);\n\nvar createDimensions = __webpack_require__(121);\n\nvar _dimensionHelper = __webpack_require__(144);\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar List = __webpack_require__(44);\n\nvar zrUtil = __webpack_require__(0);\n\nvar _model = __webpack_require__(8);\n\nvar groupData = _model.groupData;\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\nvar LegendVisualProvider = __webpack_require__(149);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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; // grouped data by name\n\n var groupResult = groupData(data, function (item) {\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 var largestLayer = -1;\n var index = -1;\n\n for (var i = 0; i < layerNum; ++i) {\n var len = layData[i].dataList.length;\n\n if (len > largestLayer) {\n largestLayer = len;\n index = i;\n }\n }\n\n for (var k = 0; k < layerNum; ++k) {\n if (k === index) {\n continue;\n }\n\n var name = layData[k].name;\n\n for (var j = 0; j < largestLayer; ++j) {\n var timeValue = layData[index].dataList[j][0];\n var length = layData[k].dataList.length;\n var keyIndex = -1;\n\n for (var l = 0; l < length; ++l) {\n var value = layData[k].dataList[l][0];\n\n if (value === timeValue) {\n keyIndex = l;\n break;\n }\n }\n\n if (keyIndex === -1) {\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;\n\n/***/ }),\n/* 954 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar _poly = __webpack_require__(370);\n\nvar Polygon = _poly.Polygon;\n\nvar graphic = __webpack_require__(6);\n\nvar _util = __webpack_require__(0);\n\nvar bind = _util.bind;\nvar extend = _util.extend;\n\nvar DataDiffer = __webpack_require__(99);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: 'themeRiver',\n init: function () {\n this._layers = [];\n },\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var group = this.group;\n var layerSeries = seriesModel.getLayerSeries();\n var layoutInfo = data.getLayout('layoutInfo');\n var rect = layoutInfo.rect;\n var boundaryGap = layoutInfo.boundaryGap;\n group.attr('position', [0, rect.y + boundaryGap[0]]);\n\n function keyGetter(item) {\n return item.name;\n }\n\n var dataDiffer = new DataDiffer(this._layersSeries || [], layerSeries, keyGetter, keyGetter);\n var newLayersGroups = {};\n dataDiffer.add(bind(process, this, 'add')).update(bind(process, this, 'update')).remove(bind(process, this, 'remove')).execute();\n\n function process(status, idx, oldIdx) {\n var oldLayersGroups = this._layers;\n\n if (status === 'remove') {\n group.remove(oldLayersGroups[idx]);\n return;\n }\n\n var points0 = [];\n var points1 = [];\n var color;\n var indices = layerSeries[idx].indices;\n\n for (var j = 0; j < indices.length; j++) {\n var layout = data.getItemLayout(indices[j]);\n var x = layout.x;\n var y0 = layout.y0;\n var y = layout.y;\n points0.push([x, y0]);\n points1.push([x, y0 + y]);\n color = data.getItemVisual(indices[j], 'color');\n }\n\n var polygon;\n var text;\n var textLayout = data.getItemLayout(indices[0]);\n var itemModel = data.getItemModel(indices[j - 1]);\n var labelModel = itemModel.getModel('label');\n var margin = labelModel.get('margin');\n\n if (status === 'add') {\n var layerGroup = newLayersGroups[idx] = new graphic.Group();\n polygon = new Polygon({\n shape: {\n points: points0,\n stackedOnPoints: points1,\n smooth: 0.4,\n stackedOnSmooth: 0.4,\n smoothConstraint: false\n },\n z2: 0\n });\n text = new graphic.Text({\n style: {\n x: textLayout.x - margin,\n y: textLayout.y0 + textLayout.y / 2\n }\n });\n layerGroup.add(polygon);\n layerGroup.add(text);\n group.add(layerGroup);\n polygon.setClipPath(createGridClipShape(polygon.getBoundingRect(), seriesModel, function () {\n polygon.removeClipPath();\n }));\n } else {\n var layerGroup = oldLayersGroups[oldIdx];\n polygon = layerGroup.childAt(0);\n text = layerGroup.childAt(1);\n group.add(layerGroup);\n newLayersGroups[idx] = layerGroup;\n graphic.updateProps(polygon, {\n shape: {\n points: points0,\n stackedOnPoints: points1\n }\n }, seriesModel);\n graphic.updateProps(text, {\n style: {\n x: textLayout.x - margin,\n y: textLayout.y0 + textLayout.y / 2\n }\n }, seriesModel);\n }\n\n var hoverItemStyleModel = itemModel.getModel('emphasis.itemStyle');\n var itemStyleModel = itemModel.getModel('itemStyle');\n graphic.setTextStyle(text.style, labelModel, {\n text: labelModel.get('show') ? seriesModel.getFormattedLabel(indices[j - 1], 'normal') || data.getName(indices[j - 1]) : null,\n textVerticalAlign: 'middle'\n });\n polygon.setStyle(extend({\n fill: color\n }, itemStyleModel.getItemStyle(['color'])));\n graphic.setHoverStyle(polygon, hoverItemStyleModel.getItemStyle());\n }\n\n this._layersSeries = layerSeries;\n this._layers = newLayersGroups;\n },\n dispose: function () {}\n}); // add animation to the view\n\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x - 10,\n y: rect.y - 10,\n width: 0,\n height: rect.height + 20\n }\n });\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width + 20,\n height: rect.height + 20\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 955 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar numberUtil = __webpack_require__(7);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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('themeRiver', function (seriesModel) {\n var data = seriesModel.getData();\n var single = seriesModel.coordinateSystem;\n var layoutInfo = {}; // use the axis boundingRect for view\n\n var rect = single.getRect();\n layoutInfo.rect = rect;\n var boundaryGap = seriesModel.get('boundaryGap');\n var axis = single.getAxis();\n layoutInfo.boundaryGap = boundaryGap;\n\n if (axis.orient === 'horizontal') {\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], rect.height);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], rect.height);\n var height = rect.height - boundaryGap[0] - boundaryGap[1];\n themeRiverLayout(data, seriesModel, height);\n } else {\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], rect.width);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], rect.width);\n var width = rect.width - boundaryGap[0] - boundaryGap[1];\n themeRiverLayout(data, seriesModel, width);\n }\n\n data.setLayout('layoutInfo', layoutInfo);\n });\n}\n/**\n * The layout information about themeriver\n *\n * @param {module:echarts/data/List} data data in the series\n * @param {module:echarts/model/Series} seriesModel the model object of themeRiver series\n * @param {number} height value used to compute every series height\n */\n\n\nfunction themeRiverLayout(data, seriesModel, height) {\n if (!data.count()) {\n return;\n }\n\n var coordSys = seriesModel.coordinateSystem; // the data in each layer are organized into a series.\n\n var layerSeries = seriesModel.getLayerSeries(); // the points in each layer.\n\n var timeDim = data.mapDimension('single');\n var valueDim = data.mapDimension('value');\n var layerPoints = zrUtil.map(layerSeries, function (singleLayer) {\n return zrUtil.map(singleLayer.indices, function (idx) {\n var pt = coordSys.dataToPoint(data.get(timeDim, idx));\n pt[1] = data.get(valueDim, idx);\n return pt;\n });\n });\n var base = computeBaseline(layerPoints);\n var baseLine = base.y0;\n var ky = height / base.max; // set layout information for each item.\n\n var n = layerSeries.length;\n var m = layerSeries[0].indices.length;\n var baseY0;\n\n for (var j = 0; j < m; ++j) {\n baseY0 = baseLine[j] * ky;\n data.setItemLayout(layerSeries[0].indices[j], {\n layerIndex: 0,\n x: layerPoints[0][j][0],\n y0: baseY0,\n y: layerPoints[0][j][1] * ky\n });\n\n for (var i = 1; i < n; ++i) {\n baseY0 += layerPoints[i - 1][j][1] * ky;\n data.setItemLayout(layerSeries[i].indices[j], {\n layerIndex: i,\n x: layerPoints[i][j][0],\n y0: baseY0,\n y: layerPoints[i][j][1] * ky\n });\n }\n }\n}\n/**\n * Compute the baseLine of the rawdata\n * Inspired by Lee Byron's paper Stacked Graphs - Geometry & Aesthetics\n *\n * @param {Array.} data the points in each layer\n * @return {Object}\n */\n\n\nfunction computeBaseline(data) {\n var layerNum = data.length;\n var pointNum = data[0].length;\n var sums = [];\n var y0 = [];\n var max = 0;\n var temp;\n var base = {};\n\n for (var i = 0; i < pointNum; ++i) {\n for (var j = 0, temp = 0; j < layerNum; ++j) {\n temp += data[j][i][1];\n }\n\n if (temp > max) {\n max = temp;\n }\n\n sums.push(temp);\n }\n\n for (var k = 0; k < pointNum; ++k) {\n y0[k] = (max - sums[k]) / 2;\n }\n\n max = 0;\n\n for (var l = 0; l < pointNum; ++l) {\n var sum = sums[l] + y0[l];\n\n if (sum > max) {\n max = sum;\n }\n }\n\n base.y0 = y0;\n base.max = max;\n return base;\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 956 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\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;\n\n/***/ }),\n/* 957 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(958);\n\n__webpack_require__(959);\n\n__webpack_require__(961);\n\nvar visualSymbol = __webpack_require__(102);\n\nvar treeLayout = __webpack_require__(962);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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);\n\n/***/ }),\n/* 958 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(29);\n\nvar Tree = __webpack_require__(260);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.tree',\n layoutInfo: null,\n // can support the position parameters 'left', 'top','right','bottom', 'width',\n // 'height' in the setOption() with 'merge' mode normal.\n layoutMode: 'box',\n\n /**\n * Init a tree data structure from data in option series\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) {\n //create an virtual root\n var root = {\n name: option.name,\n children: option.data\n };\n var leaves = option.leaves || {};\n var treeOption = {};\n treeOption.leaves = leaves;\n var tree = Tree.createTree(root, this, treeOption, beforeLink);\n\n function beforeLink(nodeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n var node = tree.getNodeByDataIndex(idx);\n var leavesModel = node.getLeavesModel();\n\n if (!node.children.length || !node.isExpand) {\n model.parentModel = leavesModel;\n }\n\n return model;\n });\n }\n\n var treeDepth = 0;\n tree.eachNode('preorder', function (node) {\n if (node.depth > treeDepth) {\n treeDepth = node.depth;\n }\n });\n var expandAndCollapse = option.expandAndCollapse;\n var expandTreeDepth = expandAndCollapse && option.initialTreeDepth >= 0 ? option.initialTreeDepth : treeDepth;\n tree.root.eachNode('preorder', function (node) {\n var item = node.hostTree.data.getRawDataItem(node.dataIndex); // Add item.collapsed != null, because users can collapse node original in the series.data.\n\n node.isExpand = item && item.collapsed != null ? !item.collapsed : node.depth <= expandTreeDepth;\n });\n return tree.data;\n },\n\n /**\n * Make the configuration 'orient' backward compatibly, with 'horizontal = LR', 'vertical = TB'.\n * @returns {string} orient\n */\n getOrient: function () {\n var orient = this.get('orient');\n\n if (orient === 'horizontal') {\n orient = 'LR';\n } else if (orient === 'vertical') {\n orient = 'TB';\n }\n\n return orient;\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n\n /**\n * @override\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\n var tree = this.getData().tree;\n var realRoot = tree.root.children[0];\n var node = tree.getNodeByDataIndex(dataIndex);\n var value = node.getValue();\n var name = node.name;\n\n while (node && node !== realRoot) {\n name = node.parentNode.name + '.' + name;\n node = node.parentNode;\n }\n\n return encodeHTML(name + (isNaN(value) || value == null ? '' : ' : ' + value));\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n // the position of the whole view\n left: '12%',\n top: '12%',\n right: '12%',\n bottom: '12%',\n // the layout of the tree, two value can be selected, 'orthogonal' or 'radial'\n layout: 'orthogonal',\n // value can be 'polyline'\n edgeShape: 'curve',\n edgeForkPosition: '50%',\n // true | false | 'move' | 'scale', see module:component/helper/RoamController.\n roam: false,\n // Symbol size scale ratio in roam\n nodeScaleRatio: 0.4,\n // Default on center of graph\n center: null,\n zoom: 1,\n // The orient of orthoginal layout, can be setted to 'LR', 'TB', 'RL', 'BT'.\n // and the backward compatibility configuration 'horizontal = LR', 'vertical = TB'.\n orient: 'LR',\n symbol: 'emptyCircle',\n symbolSize: 7,\n expandAndCollapse: true,\n initialTreeDepth: 2,\n lineStyle: {\n color: '#ccc',\n width: 1.5,\n curveness: 0.5\n },\n itemStyle: {\n color: 'lightsteelblue',\n borderColor: '#c23531',\n borderWidth: 1.5\n },\n label: {\n show: true,\n color: '#555'\n },\n leaves: {\n label: {\n show: true\n }\n },\n animationEasing: 'linear',\n animationDuration: 700,\n animationDurationUpdate: 1000\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 959 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar SymbolClz = __webpack_require__(171);\n\nvar _layoutHelper = __webpack_require__(372);\n\nvar radialCoordinate = _layoutHelper.radialCoordinate;\n\nvar echarts = __webpack_require__(2);\n\nvar bbox = __webpack_require__(188);\n\nvar View = __webpack_require__(255);\n\nvar roamHelper = __webpack_require__(250);\n\nvar RoamController = __webpack_require__(142);\n\nvar _cursorHelper = __webpack_require__(174);\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar _config = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar _number = __webpack_require__(7);\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: {\n opacity: 1\n }\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: {\n opacity: 1\n }\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;\n\n/***/ }),\n/* 960 */\n/***/ (function(module, exports) {\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 * 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;\n\n/***/ }),\n/* 961 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar _roamHelper = __webpack_require__(239);\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});\n\n/***/ }),\n/* 962 */\n/***/ (function(module, exports, __webpack_require__) {\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 _traversalHelper = __webpack_require__(960);\n\nvar eachAfter = _traversalHelper.eachAfter;\nvar eachBefore = _traversalHelper.eachBefore;\n\nvar _layoutHelper = __webpack_require__(372);\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;\n\n/***/ }),\n/* 963 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(965);\n\n__webpack_require__(966);\n\n__webpack_require__(967);\n\nvar treemapVisual = __webpack_require__(969);\n\nvar treemapLayout = __webpack_require__(968);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 964 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\n\nvar layout = __webpack_require__(14);\n\nvar zrUtil = __webpack_require__(0);\n\nvar _treeHelper = __webpack_require__(97);\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 TEXT_PADDING = 8;\nvar ITEM_GAP = 8;\nvar ARRAY_LENGTH = 5;\n\nfunction Breadcrumb(containerGroup) {\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n this.group = new graphic.Group();\n containerGroup.add(this.group);\n}\n\nBreadcrumb.prototype = {\n constructor: Breadcrumb,\n render: function (seriesModel, api, targetNode, onSelect) {\n var model = seriesModel.getModel('breadcrumb');\n var thisGroup = this.group;\n thisGroup.removeAll();\n\n if (!model.get('show') || !targetNode) {\n return;\n }\n\n var normalStyleModel = model.getModel('itemStyle'); // var emphasisStyleModel = model.getModel('emphasis.itemStyle');\n\n var textStyleModel = normalStyleModel.getModel('textStyle');\n var layoutParam = {\n pos: {\n left: model.get('left'),\n right: model.get('right'),\n top: model.get('top'),\n bottom: model.get('bottom')\n },\n box: {\n width: api.getWidth(),\n height: api.getHeight()\n },\n emptyItemWidth: model.get('emptyItemWidth'),\n totalWidth: 0,\n renderList: []\n };\n\n this._prepare(targetNode, layoutParam, textStyleModel);\n\n this._renderContent(seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect);\n\n layout.positionElement(thisGroup, layoutParam.pos, layoutParam.box);\n },\n\n /**\n * Prepare render list and total width\n * @private\n */\n _prepare: function (targetNode, layoutParam, textStyleModel) {\n for (var node = targetNode; node; node = node.parentNode) {\n var text = node.getModel().get('name');\n var textRect = textStyleModel.getTextRect(text);\n var itemWidth = Math.max(textRect.width + TEXT_PADDING * 2, layoutParam.emptyItemWidth);\n layoutParam.totalWidth += itemWidth + ITEM_GAP;\n layoutParam.renderList.push({\n node: node,\n text: text,\n width: itemWidth\n });\n }\n },\n\n /**\n * @private\n */\n _renderContent: function (seriesModel, layoutParam, normalStyleModel, textStyleModel, onSelect) {\n // Start rendering.\n var lastX = 0;\n var emptyItemWidth = layoutParam.emptyItemWidth;\n var height = seriesModel.get('breadcrumb.height');\n var availableSize = layout.getAvailableSize(layoutParam.pos, layoutParam.box);\n var totalWidth = layoutParam.totalWidth;\n var renderList = layoutParam.renderList;\n\n for (var i = renderList.length - 1; i >= 0; i--) {\n var item = renderList[i];\n var itemNode = item.node;\n var itemWidth = item.width;\n var text = item.text; // Hdie text and shorten width if necessary.\n\n if (totalWidth > availableSize.width) {\n totalWidth -= itemWidth - emptyItemWidth;\n itemWidth = emptyItemWidth;\n text = null;\n }\n\n var el = new graphic.Polygon({\n shape: {\n points: makeItemPoints(lastX, 0, itemWidth, height, i === renderList.length - 1, i === 0)\n },\n style: zrUtil.defaults(normalStyleModel.getItemStyle(), {\n lineJoin: 'bevel',\n text: text,\n textFill: textStyleModel.getTextColor(),\n textFont: textStyleModel.getFont()\n }),\n z: 10,\n onclick: zrUtil.curry(onSelect, itemNode)\n });\n this.group.add(el);\n packEventData(el, seriesModel, itemNode);\n lastX += itemWidth + ITEM_GAP;\n }\n },\n\n /**\n * @override\n */\n remove: function () {\n this.group.removeAll();\n }\n};\n\nfunction makeItemPoints(x, y, itemWidth, itemHeight, head, tail) {\n var points = [[head ? x : x - ARRAY_LENGTH, y], [x + itemWidth, y], [x + itemWidth, y + itemHeight], [head ? x : x - ARRAY_LENGTH, y + itemHeight]];\n !tail && points.splice(2, 0, [x + itemWidth + ARRAY_LENGTH, y + itemHeight / 2]);\n !head && points.push([x, y + itemHeight / 2]);\n return points;\n} // Package custom mouse event.\n\n\nfunction packEventData(el, seriesModel, itemNode) {\n el.eventData = {\n componentType: 'series',\n componentSubType: 'treemap',\n componentIndex: seriesModel.componentIndex,\n seriesIndex: seriesModel.componentIndex,\n seriesName: seriesModel.name,\n seriesType: 'treemap',\n selfType: 'breadcrumb',\n // Distinguish with click event on treemap node.\n nodeData: {\n dataIndex: itemNode && itemNode.dataIndex,\n name: itemNode && itemNode.name\n },\n treePathInfo: itemNode && wrapTreePathInfo(itemNode, seriesModel)\n };\n}\n\nvar _default = Breadcrumb;\nmodule.exports = _default;\n\n/***/ }),\n/* 965 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar SeriesModel = __webpack_require__(29);\n\nvar Tree = __webpack_require__(260);\n\nvar Model = __webpack_require__(26);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\n\nvar _treeHelper = __webpack_require__(97);\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 || [];\n levels = option.levels = setDefault(levels, ecModel);\n var treeOption = {};\n treeOption.levels = levels; // 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 return Tree.createTree(root, this, treeOption).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;\n\n/***/ }),\n/* 966 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar DataDiffer = __webpack_require__(99);\n\nvar helper = __webpack_require__(97);\n\nvar Breadcrumb = __webpack_require__(964);\n\nvar RoamController = __webpack_require__(142);\n\nvar BoundingRect = __webpack_require__(18);\n\nvar matrix = __webpack_require__(32);\n\nvar animationUtil = __webpack_require__(1112);\n\nvar makeStyleMapper = __webpack_require__(122);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 && window.open(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.upperHeight); // 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 text = zrUtil.retrieve(seriesModel.getFormattedLabel(thisNode.dataIndex, 'normal', null, null, upperLabelRect ? 'upperLabel' : 'label'), nodeModel.get('name'));\n\n if (!upperLabelRect && thisLayout.isLeafRoot) {\n var iconChar = seriesModel.get('drillDownIcon', true);\n text = iconChar ? iconChar + ' ' + text : text;\n }\n\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 ? text : null,\n autoColor: visualColor,\n isRectText: true\n });\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 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;\n\n/***/ }),\n/* 967 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar helper = __webpack_require__(97);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * @file Treemap action\n */\nvar noop = function () {};\n\nvar actionTypes = ['treemapZoomToNode', 'treemapRender', 'treemapMove'];\n\nfor (var i = 0; i < actionTypes.length; i++) {\n echarts.registerAction({\n type: actionTypes[i],\n update: 'updateView'\n }, noop);\n}\n\necharts.registerAction({\n type: 'treemapRootToNode',\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'treemap',\n query: payload\n }, handleRootToNode);\n\n function handleRootToNode(model, index) {\n var types = ['treemapZoomToNode', 'treemapRootToNode'];\n var targetInfo = helper.retrieveTargetInfo(payload, types, model);\n\n if (targetInfo) {\n var originViewRoot = model.getViewRoot();\n\n if (originViewRoot) {\n payload.direction = helper.aboveViewRoot(originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';\n }\n\n model.resetViewRoot(targetInfo.node);\n }\n }\n});\n\n/***/ }),\n/* 968 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar BoundingRect = __webpack_require__(18);\n\nvar _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\nvar MAX_SAFE_INTEGER = _number.MAX_SAFE_INTEGER;\n\nvar layout = __webpack_require__(14);\n\nvar helper = __webpack_require__(97);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 defualt.\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\n/***/ }),\n/* 969 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(101);\n\nvar zrColor = __webpack_require__(63);\n\nvar zrUtil = __webpack_require__(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*/\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 var seriesItemStyleModel = seriesModel.getModel(ITEM_STYLE_NORMAL);\n\n if (root.isRemoved()) {\n return;\n }\n\n var levelItemStyles = zrUtil.map(tree.levelModels, function (levelModel) {\n return levelModel ? levelModel.get(ITEM_STYLE_NORMAL) : null;\n });\n travelTree(root, // Visual should calculate from tree root but not view root.\n {}, levelItemStyles, seriesItemStyleModel, seriesModel.getViewRoot().getAncestors(), seriesModel);\n }\n};\n\nfunction travelTree(node, designatedVisual, levelItemStyles, seriesItemStyleModel, 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 levelItemStyle = levelItemStyles[node.depth];\n var visuals = buildVisuals(nodeItemStyleModel, designatedVisual, levelItemStyle, seriesItemStyleModel); // 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, levelItemStyles, seriesItemStyleModel, viewRootAncestors, seriesModel);\n }\n });\n }\n}\n\nfunction buildVisuals(nodeItemStyleModel, designatedVisual, levelItemStyle, seriesItemStyleModel) {\n var visuals = zrUtil.extend({}, designatedVisual);\n zrUtil.each(['color', 'colorAlpha', 'colorSaturation'], function (visualName) {\n // Priority: thisNode > thisLevel > parentNodeDesignated > seriesModel\n var val = nodeItemStyleModel.get(visualName, true); // Ignore parent\n\n val == null && levelItemStyle && (val = levelItemStyle[visualName]);\n val == null && (val = designatedVisual[visualName]);\n val == null && (val = seriesItemStyleModel.get(visualName));\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;\n\n/***/ }),\n/* 970 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(259);\n\n__webpack_require__(977);\n\n/***/ }),\n/* 971 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(402);\n\n__webpack_require__(978);\n\n/***/ }),\n/* 972 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 AxisPointerModel = echarts.extendComponentModel({\n type: 'axisPointer',\n coordSysAxesInfo: null,\n defaultOption: {\n // 'auto' means that show when triggered by tooltip or handle.\n show: 'auto',\n // 'click' | 'mousemove' | 'none'\n triggerOn: null,\n // set default in AxisPonterView.js\n zlevel: 0,\n z: 50,\n type: 'line',\n // 'line' 'shadow' 'cross' 'none'.\n // axispointer triggered by tootip determine snap automatically,\n // see `modelHelper`.\n snap: false,\n triggerTooltip: true,\n value: null,\n status: null,\n // Init value depends on whether handle is used.\n // [group0, group1, ...]\n // Each group can be: {\n // mapper: function () {},\n // singleTooltip: 'multiple', // 'multiple' or 'single'\n // xAxisId: ...,\n // yAxisName: ...,\n // angleAxisIndex: ...\n // }\n // mapper: can be ignored.\n // input: {axisInfo, value}\n // output: {axisInfo, value}\n link: [],\n // Do not set 'auto' here, otherwise global animation: false\n // will not effect at this axispointer.\n animation: null,\n animationDurationUpdate: 200,\n lineStyle: {\n color: '#aaa',\n width: 1,\n type: 'solid'\n },\n shadowStyle: {\n color: 'rgba(150,150,150,0.3)'\n },\n label: {\n show: true,\n formatter: null,\n // string | Function\n precision: 'auto',\n // Or a number like 0, 1, 2 ...\n margin: 3,\n color: '#fff',\n padding: [5, 7, 5, 7],\n backgroundColor: 'auto',\n // default: axis line color\n borderColor: null,\n borderWidth: 0,\n shadowBlur: 3,\n shadowColor: '#aaa' // Considering applicability, common style should\n // better not have shadowOffset.\n // shadowOffsetX: 0,\n // shadowOffsetY: 2\n\n },\n handle: {\n show: false,\n\n /* eslint-disable */\n icon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z',\n // jshint ignore:line\n\n /* eslint-enable */\n size: 45,\n // handle margin is from symbol center to axis, which is stable when circular move.\n margin: 50,\n // color: '#1b8bbd'\n // color: '#2f4554'\n color: '#333',\n shadowBlur: 3,\n shadowColor: '#aaa',\n shadowOffsetX: 0,\n shadowOffsetY: 2,\n // For mobile performance\n throttle: 40\n }\n }\n});\nvar _default = AxisPointerModel;\nmodule.exports = _default;\n\n/***/ }),\n/* 973 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar globalListener = __webpack_require__(375);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 974 */\n/***/ (function(module, exports, __webpack_require__) {\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 formatUtil = __webpack_require__(17);\n\nvar BaseAxisPointer = __webpack_require__(244);\n\nvar graphic = __webpack_require__(6);\n\nvar viewHelper = __webpack_require__(173);\n\nvar matrix = __webpack_require__(32);\n\nvar AxisBuilder = __webpack_require__(77);\n\nvar AxisView = __webpack_require__(98);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PolarAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n\n if (axis.dim === 'angle') {\n this.animationThreshold = Math.PI / 18;\n }\n\n var polar = axis.polar;\n var otherAxis = polar.getOtherAxis(axis);\n var otherExtent = otherAxis.getExtent();\n var coordValue;\n coordValue = axis['dataTo' + formatUtil.capitalFirst(axis.dim)](value);\n var axisPointerType = axisPointerModel.get('type');\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, polar, coordValue, otherExtent, elStyle);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var labelMargin = axisPointerModel.get('label.margin');\n var labelPos = getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin);\n viewHelper.buildLabelElOption(elOption, axisModel, axisPointerModel, api, labelPos);\n } // Do not support handle, utill any user requires it.\n\n});\n\nfunction getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin) {\n var axis = axisModel.axis;\n var coord = axis.dataToCoord(value);\n var axisAngle = polar.getAngleAxis().getExtent()[0];\n axisAngle = axisAngle / 180 * Math.PI;\n var radiusExtent = polar.getRadiusAxis().getExtent();\n var position;\n var align;\n var verticalAlign;\n\n if (axis.dim === 'radius') {\n var transform = matrix.create();\n matrix.rotate(transform, transform, axisAngle);\n matrix.translate(transform, transform, [polar.cx, polar.cy]);\n position = graphic.applyTransform([coord, -labelMargin], transform);\n var labelRotation = axisModel.getModel('axisLabel').get('rotate') || 0;\n var labelLayout = AxisBuilder.innerTextLayout(axisAngle, labelRotation * Math.PI / 180, -1);\n align = labelLayout.textAlign;\n verticalAlign = labelLayout.textVerticalAlign;\n } else {\n // angle axis\n var r = radiusExtent[1];\n position = polar.coordToPoint([r + labelMargin, coord]);\n var cx = polar.cx;\n var cy = polar.cy;\n align = Math.abs(position[0] - cx) / r < 0.3 ? 'center' : position[0] > cx ? 'left' : 'right';\n verticalAlign = Math.abs(position[1] - cy) / r < 0.3 ? 'middle' : position[1] > cy ? 'top' : 'bottom';\n }\n\n return {\n position: position,\n align: align,\n verticalAlign: verticalAlign\n };\n}\n\nvar pointerShapeBuilder = {\n line: function (axis, polar, coordValue, otherExtent, elStyle) {\n return axis.dim === 'angle' ? {\n type: 'Line',\n shape: viewHelper.makeLineShape(polar.coordToPoint([otherExtent[0], coordValue]), polar.coordToPoint([otherExtent[1], coordValue]))\n } : {\n type: 'Circle',\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: coordValue\n }\n };\n },\n shadow: function (axis, polar, coordValue, otherExtent, elStyle) {\n var bandWidth = Math.max(1, axis.getBandWidth());\n var radian = Math.PI / 180;\n return axis.dim === 'angle' ? {\n type: 'Sector',\n shape: viewHelper.makeSectorShape(polar.cx, polar.cy, otherExtent[0], otherExtent[1], // In ECharts y is negative if angle is positive\n (-coordValue - bandWidth / 2) * radian, (-coordValue + bandWidth / 2) * radian)\n } : {\n type: 'Sector',\n shape: viewHelper.makeSectorShape(polar.cx, polar.cy, coordValue - bandWidth / 2, coordValue + bandWidth / 2, 0, Math.PI * 2)\n };\n }\n};\nAxisView.registerAxisPointerClass('PolarAxisPointer', PolarAxisPointer);\nvar _default = PolarAxisPointer;\nmodule.exports = _default;\n\n/***/ }),\n/* 975 */\n/***/ (function(module, exports, __webpack_require__) {\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 BaseAxisPointer = __webpack_require__(244);\n\nvar viewHelper = __webpack_require__(173);\n\nvar singleAxisHelper = __webpack_require__(407);\n\nvar AxisView = __webpack_require__(98);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 976 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar _model = __webpack_require__(8);\n\nvar makeInner = _model.makeInner;\n\nvar modelHelper = __webpack_require__(172);\n\nvar findPointFromSeries = __webpack_require__(374);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 defualt 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;\n\n/***/ }),\n/* 977 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar Model = __webpack_require__(26);\n\nvar AxisView = __webpack_require__(98);\n\nvar AxisBuilder = __webpack_require__(77);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 978 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar AxisBuilder = __webpack_require__(77);\n\nvar AxisView = __webpack_require__(98);\n\nvar cartesianAxisHelper = __webpack_require__(403);\n\nvar _axisSplitHelper = __webpack_require__(376);\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/***/ }),\n/* 979 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar AxisBuilder = __webpack_require__(77);\n\nvar BrushController = __webpack_require__(249);\n\nvar brushHelper = __webpack_require__(384);\n\nvar graphic = __webpack_require__(6);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 980 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar AxisBuilder = __webpack_require__(77);\n\nvar AxisView = __webpack_require__(98);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 = ['splitLine', 'splitArea', 'minorSplitLine'];\n\nvar _default = AxisView.extend({\n type: 'radiusAxis',\n axisPointerClass: 'PolarAxisPointer',\n render: function (radiusAxisModel, ecModel) {\n this.group.removeAll();\n\n if (!radiusAxisModel.get('show')) {\n return;\n }\n\n var radiusAxis = radiusAxisModel.axis;\n var polar = radiusAxis.polar;\n var angleAxis = polar.getAngleAxis();\n var ticksCoords = radiusAxis.getTicksCoords();\n var minorTicksCoords = radiusAxis.getMinorTicksCoords();\n var axisAngle = angleAxis.getExtent()[0];\n var radiusExtent = radiusAxis.getExtent();\n var layout = layoutAxis(polar, radiusAxisModel, axisAngle);\n var axisBuilder = new AxisBuilder(radiusAxisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (radiusAxisModel.get(name + '.show') && !radiusAxis.scale.isBlank()) {\n this['_' + name](radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);\n }\n }, this);\n },\n\n /**\n * @private\n */\n _splitLine: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n var splitLineModel = radiusAxisModel.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 < ticksCoords.length; i++) {\n var colorIndex = lineCount++ % lineColors.length;\n splitLines[colorIndex] = splitLines[colorIndex] || [];\n splitLines[colorIndex].push(new graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: ticksCoords[i].coord\n }\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 fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n }\n },\n\n /**\n * @private\n */\n _minorSplitLine: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords) {\n if (!minorTicksCoords.length) {\n return;\n }\n\n var minorSplitLineModel = radiusAxisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var lines = [];\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n lines.push(new graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: minorTicksCoords[i][k].coord\n }\n }));\n }\n }\n\n this.group.add(graphic.mergePath(lines, {\n style: zrUtil.defaults({\n fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n },\n\n /**\n * @private\n */\n _splitArea: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n if (!ticksCoords.length) {\n return;\n }\n\n var splitAreaModel = radiusAxisModel.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 prevRadius = ticksCoords[0].coord;\n\n for (var i = 1; i < ticksCoords.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: prevRadius,\n r: ticksCoords[i].coord,\n startAngle: 0,\n endAngle: Math.PI * 2\n },\n silent: true\n }));\n prevRadius = ticksCoords[i].coord;\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/**\n * @inner\n */\n\n\nfunction layoutAxis(polar, radiusAxisModel, axisAngle) {\n return {\n position: [polar.cx, polar.cy],\n rotation: axisAngle / 180 * Math.PI,\n labelDirection: -1,\n tickDirection: -1,\n nameDirection: 1,\n labelRotate: radiusAxisModel.getModel('axisLabel').get('rotate'),\n // Over splitLine and splitArea\n z2: 1\n };\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 981 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar AxisBuilder = __webpack_require__(77);\n\nvar graphic = __webpack_require__(6);\n\nvar singleAxisHelper = __webpack_require__(407);\n\nvar AxisView = __webpack_require__(98);\n\nvar _axisSplitHelper = __webpack_require__(376);\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;\n\n/***/ }),\n/* 982 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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});\n\n/***/ }),\n/* 983 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar preprocessor = __webpack_require__(987);\n\n__webpack_require__(377);\n\n__webpack_require__(984);\n\n__webpack_require__(985);\n\n__webpack_require__(986);\n\n__webpack_require__(1038);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Brush component entry\n */\necharts.registerPreprocessor(preprocessor);\n\n/***/ }),\n/* 984 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar visualSolution = __webpack_require__(182);\n\nvar Model = __webpack_require__(26);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 985 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar BrushController = __webpack_require__(249);\n\nvar _visualEncoding = __webpack_require__(377);\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;\n\n/***/ }),\n/* 986 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 () {});\n\n/***/ }),\n/* 987 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 988 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(435);\n\nvar BoundingRect = __webpack_require__(18);\n\nvar _graphic = __webpack_require__(6);\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/***/ }),\n/* 989 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(1055);\n\n__webpack_require__(1056);\n\n__webpack_require__(990);\n\n/***/ }),\n/* 990 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar formatUtil = __webpack_require__(17);\n\nvar numberUtil = __webpack_require__(7);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 991 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(379);\n\n__webpack_require__(378);\n\n/***/ }),\n/* 992 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(248);\n\n__webpack_require__(117);\n\n__webpack_require__(118);\n\n__webpack_require__(996);\n\n__webpack_require__(997);\n\n__webpack_require__(246);\n\n__webpack_require__(245);\n\n/***/ }),\n/* 993 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar numberUtil = __webpack_require__(7);\n\nvar helper = __webpack_require__(247);\n\nvar sliderMove = __webpack_require__(119);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 994 */\n/***/ (function(module, exports, __webpack_require__) {\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 DataZoomModel = __webpack_require__(117);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 995 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar DataZoomView = __webpack_require__(118);\n\nvar sliderMove = __webpack_require__(119);\n\nvar roams = __webpack_require__(1000);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 InsideZoomView = DataZoomView.extend({\n type: 'dataZoom.inside',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n /**\n * 'throttle' is used in this.dispatchAction, so we save range\n * to avoid missing some 'pan' info.\n * @private\n * @type {Array.}\n */\n this._range;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n InsideZoomView.superApply(this, 'render', arguments); // Hence the `throttle` util ensures to preserve command order,\n // here simply updating range all the time will not cause missing\n // any of the the roam change.\n\n this._range = dataZoomModel.getPercentRange(); // Reset controllers.\n\n zrUtil.each(this.getTargetCoordInfo(), function (coordInfoList, coordSysName) {\n var allCoordIds = zrUtil.map(coordInfoList, function (coordInfo) {\n return roams.generateCoordId(coordInfo.model);\n });\n zrUtil.each(coordInfoList, function (coordInfo) {\n var coordModel = coordInfo.model;\n var getRange = {};\n zrUtil.each(['pan', 'zoom', 'scrollMove'], function (eventName) {\n getRange[eventName] = bind(roamHandlers[eventName], this, coordInfo, coordSysName);\n }, this);\n roams.register(api, {\n coordId: roams.generateCoordId(coordModel),\n allCoordIds: allCoordIds,\n containsPoint: function (e, x, y) {\n return coordModel.coordinateSystem.containPoint([x, y]);\n },\n dataZoomId: dataZoomModel.id,\n dataZoomModel: dataZoomModel,\n getRange: getRange\n });\n }, this);\n }, this);\n },\n\n /**\n * @override\n */\n dispose: function () {\n roams.unregister(this.api, this.dataZoomModel.id);\n InsideZoomView.superApply(this, 'dispose', arguments);\n this._range = null;\n }\n});\nvar roamHandlers = {\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n zoom: function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var directionInfo = getDirectionInfo[coordSysName](null, [e.originX, e.originY], axisModel, controller, coordInfo);\n var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range[1] - range[0]) + range[0];\n var scale = Math.max(1 / e.scale, 0);\n range[0] = (range[0] - percentPoint) * scale + percentPoint;\n range[1] = (range[1] - percentPoint) * scale + percentPoint; // Restrict range.\n\n var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n sliderMove(0, range, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);\n this._range = range;\n\n if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n return range;\n }\n },\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n pan: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([e.oldX, e.oldY], [e.newX, e.newY], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * directionInfo.pixel / directionInfo.pixelLength;\n }),\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n scrollMove: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([0, 0], [e.scrollDelta, e.scrollDelta], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * e.scrollDelta;\n })\n};\n\nfunction makeMover(getPercentDelta) {\n return function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var percentDelta = getPercentDelta(range, axisModel, coordInfo, coordSysName, controller, e);\n sliderMove(percentDelta, range, [0, 100], 'all');\n this._range = range;\n\n if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n return range;\n }\n };\n}\n\nvar getDirectionInfo = {\n grid: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var rect = coordInfo.model.coordinateSystem.getRect();\n oldPoint = oldPoint || [0, 0];\n\n if (axis.dim === 'x') {\n ret.pixel = newPoint[0] - oldPoint[0];\n ret.pixelLength = rect.width;\n ret.pixelStart = rect.x;\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // axis.dim === 'y'\n ret.pixel = newPoint[1] - oldPoint[1];\n ret.pixelLength = rect.height;\n ret.pixelStart = rect.y;\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n },\n polar: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var polar = coordInfo.model.coordinateSystem;\n var radiusExtent = polar.getRadiusAxis().getExtent();\n var angleExtent = polar.getAngleAxis().getExtent();\n oldPoint = oldPoint ? polar.pointToCoord(oldPoint) : [0, 0];\n newPoint = polar.pointToCoord(newPoint);\n\n if (axisModel.mainType === 'radiusAxis') {\n ret.pixel = newPoint[0] - oldPoint[0]; // ret.pixelLength = Math.abs(radiusExtent[1] - radiusExtent[0]);\n // ret.pixelStart = Math.min(radiusExtent[0], radiusExtent[1]);\n\n ret.pixelLength = radiusExtent[1] - radiusExtent[0];\n ret.pixelStart = radiusExtent[0];\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // 'angleAxis'\n ret.pixel = newPoint[1] - oldPoint[1]; // ret.pixelLength = Math.abs(angleExtent[1] - angleExtent[0]);\n // ret.pixelStart = Math.min(angleExtent[0], angleExtent[1]);\n\n ret.pixelLength = angleExtent[1] - angleExtent[0];\n ret.pixelStart = angleExtent[0];\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n },\n singleAxis: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var rect = coordInfo.model.coordinateSystem.getRect();\n var ret = {};\n oldPoint = oldPoint || [0, 0];\n\n if (axis.orient === 'horizontal') {\n ret.pixel = newPoint[0] - oldPoint[0];\n ret.pixelLength = rect.width;\n ret.pixelStart = rect.x;\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // 'vertical'\n ret.pixel = newPoint[1] - oldPoint[1];\n ret.pixelLength = rect.height;\n ret.pixelStart = rect.y;\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n }\n};\nvar _default = InsideZoomView;\nmodule.exports = _default;\n\n/***/ }),\n/* 996 */\n/***/ (function(module, exports, __webpack_require__) {\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 DataZoomModel = __webpack_require__(117);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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.select'\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 997 */\n/***/ (function(module, exports, __webpack_require__) {\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 DataZoomView = __webpack_require__(118);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 = DataZoomView.extend({\n type: 'dataZoom.select'\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 998 */\n/***/ (function(module, exports, __webpack_require__) {\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 DataZoomModel = __webpack_require__(117);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 SliderZoomModel = DataZoomModel.extend({\n type: 'dataZoom.slider',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n // ph => placeholder. Using placehoder here because\n // deault value can only be drived in view stage.\n right: 'ph',\n // Default align to grid rect.\n top: 'ph',\n // Default align to grid rect.\n width: 'ph',\n // Default align to grid rect.\n height: 'ph',\n // Default align to grid rect.\n left: null,\n // Default align to grid rect.\n bottom: null,\n // Default align to grid rect.\n backgroundColor: 'rgba(47,69,84,0)',\n // Background of slider zoom component.\n // dataBackgroundColor: '#ddd', // Background coor of data shadow and border of box,\n // highest priority, remain for compatibility of\n // previous version, but not recommended any more.\n dataBackground: {\n lineStyle: {\n color: '#2f4554',\n width: 0.5,\n opacity: 0.3\n },\n areaStyle: {\n color: 'rgba(47,69,84,0.3)',\n opacity: 0.3\n }\n },\n borderColor: '#ddd',\n // border color of the box. For compatibility,\n // if dataBackgroundColor is set, borderColor\n // is ignored.\n fillerColor: 'rgba(167,183,204,0.4)',\n // Color of selected area.\n // handleColor: 'rgba(89,170,216,0.95)', // Color of handle.\n // handleIcon: 'path://M4.9,17.8c0-1.4,4.5-10.5,5.5-12.4c0-0.1,0.6-1.1,0.9-1.1c0.4,0,0.9,1,0.9,1.1c1.1,2.2,5.4,11,5.4,12.4v17.8c0,1.5-0.6,2.1-1.3,2.1H6.1c-0.7,0-1.3-0.6-1.3-2.1V17.8z',\n\n /* eslint-disable */\n handleIcon: 'M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z',\n\n /* eslint-enable */\n // Percent of the slider height\n handleSize: '100%',\n handleStyle: {\n color: '#a7b7cc'\n },\n labelPrecision: null,\n labelFormatter: null,\n showDetail: true,\n showDataShadow: 'auto',\n // Default auto decision.\n realtime: true,\n zoomLock: false,\n // Whether disable zoom.\n textStyle: {\n color: '#333'\n }\n }\n});\nvar _default = SliderZoomModel;\nmodule.exports = _default;\n\n/***/ }),\n/* 999 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar eventTool = __webpack_require__(62);\n\nvar graphic = __webpack_require__(6);\n\nvar throttle = __webpack_require__(81);\n\nvar DataZoomView = __webpack_require__(118);\n\nvar numberUtil = __webpack_require__(7);\n\nvar layout = __webpack_require__(14);\n\nvar sliderMove = __webpack_require__(119);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 Rect = graphic.Rect;\nvar linearMap = numberUtil.linearMap;\nvar asc = numberUtil.asc;\nvar bind = zrUtil.bind;\nvar each = zrUtil.each; // Constants\n\nvar DEFAULT_LOCATION_EDGE_GAP = 7;\nvar DEFAULT_FRAME_BORDER_WIDTH = 1;\nvar DEFAULT_FILLER_SIZE = 30;\nvar HORIZONTAL = 'horizontal';\nvar VERTICAL = 'vertical';\nvar LABEL_GAP = 5;\nvar SHOW_DATA_SHADOW_SERIES_TYPE = ['line', 'bar', 'candlestick', 'scatter'];\nvar SliderZoomView = DataZoomView.extend({\n type: 'dataZoom.slider',\n init: function (ecModel, api) {\n /**\n * @private\n * @type {Object}\n */\n this._displayables = {};\n /**\n * @private\n * @type {string}\n */\n\n this._orient;\n /**\n * [0, 100]\n * @private\n */\n\n this._range;\n /**\n * [coord of the first handle, coord of the second handle]\n * @private\n */\n\n this._handleEnds;\n /**\n * [length, thick]\n * @private\n * @type {Array.}\n */\n\n this._size;\n /**\n * @private\n * @type {number}\n */\n\n this._handleWidth;\n /**\n * @private\n * @type {number}\n */\n\n this._handleHeight;\n /**\n * @private\n */\n\n this._location;\n /**\n * @private\n */\n\n this._dragging;\n /**\n * @private\n */\n\n this._dataShadowInfo;\n this.api = api;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n SliderZoomView.superApply(this, 'render', arguments);\n throttle.createOrUpdate(this, '_dispatchZoomAction', this.dataZoomModel.get('throttle'), 'fixRate');\n this._orient = dataZoomModel.get('orient');\n\n if (this.dataZoomModel.get('show') === false) {\n this.group.removeAll();\n return;\n } // Notice: this._resetInterval() should not be executed when payload.type\n // is 'dataZoom', origin this._range should be maintained, otherwise 'pan'\n // or 'zoom' info will be missed because of 'throttle' of this.dispatchAction,\n\n\n if (!payload || payload.type !== 'dataZoom' || payload.from !== this.uid) {\n this._buildView();\n }\n\n this._updateView();\n },\n\n /**\n * @override\n */\n remove: function () {\n SliderZoomView.superApply(this, 'remove', arguments);\n throttle.clear(this, '_dispatchZoomAction');\n },\n\n /**\n * @override\n */\n dispose: function () {\n SliderZoomView.superApply(this, 'dispose', arguments);\n throttle.clear(this, '_dispatchZoomAction');\n },\n _buildView: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n\n this._resetLocation();\n\n this._resetInterval();\n\n var barGroup = this._displayables.barGroup = new graphic.Group();\n\n this._renderBackground();\n\n this._renderHandle();\n\n this._renderDataShadow();\n\n thisGroup.add(barGroup);\n\n this._positionGroup();\n },\n\n /**\n * @private\n */\n _resetLocation: function () {\n var dataZoomModel = this.dataZoomModel;\n var api = this.api; // If some of x/y/width/height are not specified,\n // auto-adapt according to target grid.\n\n var coordRect = this._findCoordRect();\n\n var ecSize = {\n width: api.getWidth(),\n height: api.getHeight()\n }; // Default align by coordinate system rect.\n\n var positionInfo = this._orient === HORIZONTAL ? {\n // Why using 'right', because right should be used in vertical,\n // and it is better to be consistent for dealing with position param merge.\n right: ecSize.width - coordRect.x - coordRect.width,\n top: ecSize.height - DEFAULT_FILLER_SIZE - DEFAULT_LOCATION_EDGE_GAP,\n width: coordRect.width,\n height: DEFAULT_FILLER_SIZE\n } : {\n // vertical\n right: DEFAULT_LOCATION_EDGE_GAP,\n top: coordRect.y,\n width: DEFAULT_FILLER_SIZE,\n height: coordRect.height\n }; // Do not write back to option and replace value 'ph', because\n // the 'ph' value should be recalculated when resize.\n\n var layoutParams = layout.getLayoutParams(dataZoomModel.option); // Replace the placeholder value.\n\n zrUtil.each(['right', 'top', 'width', 'height'], function (name) {\n if (layoutParams[name] === 'ph') {\n layoutParams[name] = positionInfo[name];\n }\n });\n var layoutRect = layout.getLayoutRect(layoutParams, ecSize, dataZoomModel.padding);\n this._location = {\n x: layoutRect.x,\n y: layoutRect.y\n };\n this._size = [layoutRect.width, layoutRect.height];\n this._orient === VERTICAL && this._size.reverse();\n },\n\n /**\n * @private\n */\n _positionGroup: function () {\n var thisGroup = this.group;\n var location = this._location;\n var orient = this._orient; // Just use the first axis to determine mapping.\n\n var targetAxisModel = this.dataZoomModel.getFirstTargetAxisModel();\n var inverse = targetAxisModel && targetAxisModel.get('inverse');\n var barGroup = this._displayables.barGroup;\n var otherAxisInverse = (this._dataShadowInfo || {}).otherAxisInverse; // Transform barGroup.\n\n barGroup.attr(orient === HORIZONTAL && !inverse ? {\n scale: otherAxisInverse ? [1, 1] : [1, -1]\n } : orient === HORIZONTAL && inverse ? {\n scale: otherAxisInverse ? [-1, 1] : [-1, -1]\n } : orient === VERTICAL && !inverse ? {\n scale: otherAxisInverse ? [1, -1] : [1, 1],\n rotation: Math.PI / 2 // Dont use Math.PI, considering shadow direction.\n\n } : {\n scale: otherAxisInverse ? [-1, -1] : [-1, 1],\n rotation: Math.PI / 2\n }); // Position barGroup\n\n var rect = thisGroup.getBoundingRect([barGroup]);\n thisGroup.attr('position', [location.x - rect.x, location.y - rect.y]);\n },\n\n /**\n * @private\n */\n _getViewExtent: function () {\n return [0, this._size[0]];\n },\n _renderBackground: function () {\n var dataZoomModel = this.dataZoomModel;\n var size = this._size;\n var barGroup = this._displayables.barGroup;\n barGroup.add(new Rect({\n silent: true,\n shape: {\n x: 0,\n y: 0,\n width: size[0],\n height: size[1]\n },\n style: {\n fill: dataZoomModel.get('backgroundColor')\n },\n z2: -40\n })); // Click panel, over shadow, below handles.\n\n barGroup.add(new Rect({\n shape: {\n x: 0,\n y: 0,\n width: size[0],\n height: size[1]\n },\n style: {\n fill: 'transparent'\n },\n z2: 0,\n onclick: zrUtil.bind(this._onClickPanelClick, this)\n }));\n },\n _renderDataShadow: function () {\n var info = this._dataShadowInfo = this._prepareDataShadowInfo();\n\n if (!info) {\n return;\n }\n\n var size = this._size;\n var seriesModel = info.series;\n var data = seriesModel.getRawData();\n var otherDim = seriesModel.getShadowDim ? seriesModel.getShadowDim() // @see candlestick\n : info.otherDim;\n\n if (otherDim == null) {\n return;\n }\n\n var otherDataExtent = data.getDataExtent(otherDim); // Nice extent.\n\n var otherOffset = (otherDataExtent[1] - otherDataExtent[0]) * 0.3;\n otherDataExtent = [otherDataExtent[0] - otherOffset, otherDataExtent[1] + otherOffset];\n var otherShadowExtent = [0, size[1]];\n var thisShadowExtent = [0, size[0]];\n var areaPoints = [[size[0], 0], [0, 0]];\n var linePoints = [];\n var step = thisShadowExtent[1] / (data.count() - 1);\n var thisCoord = 0; // Optimize for large data shadow\n\n var stride = Math.round(data.count() / size[0]);\n var lastIsEmpty;\n data.each([otherDim], function (value, index) {\n if (stride > 0 && index % stride) {\n thisCoord += step;\n return;\n } // FIXME\n // Should consider axis.min/axis.max when drawing dataShadow.\n // FIXME\n // 应该使用统一的空判断?还是在list里进行空判断?\n\n\n var isEmpty = value == null || isNaN(value) || value === ''; // See #4235.\n\n var otherCoord = isEmpty ? 0 : linearMap(value, otherDataExtent, otherShadowExtent, true); // Attempt to draw data shadow precisely when there are empty value.\n\n if (isEmpty && !lastIsEmpty && index) {\n areaPoints.push([areaPoints[areaPoints.length - 1][0], 0]);\n linePoints.push([linePoints[linePoints.length - 1][0], 0]);\n } else if (!isEmpty && lastIsEmpty) {\n areaPoints.push([thisCoord, 0]);\n linePoints.push([thisCoord, 0]);\n }\n\n areaPoints.push([thisCoord, otherCoord]);\n linePoints.push([thisCoord, otherCoord]);\n thisCoord += step;\n lastIsEmpty = isEmpty;\n });\n var dataZoomModel = this.dataZoomModel; // var dataBackgroundModel = dataZoomModel.getModel('dataBackground');\n\n this._displayables.barGroup.add(new graphic.Polygon({\n shape: {\n points: areaPoints\n },\n style: zrUtil.defaults({\n fill: dataZoomModel.get('dataBackgroundColor')\n }, dataZoomModel.getModel('dataBackground.areaStyle').getAreaStyle()),\n silent: true,\n z2: -20\n }));\n\n this._displayables.barGroup.add(new graphic.Polyline({\n shape: {\n points: linePoints\n },\n style: dataZoomModel.getModel('dataBackground.lineStyle').getLineStyle(),\n silent: true,\n z2: -19\n }));\n },\n _prepareDataShadowInfo: function () {\n var dataZoomModel = this.dataZoomModel;\n var showDataShadow = dataZoomModel.get('showDataShadow');\n\n if (showDataShadow === false) {\n return;\n } // Find a representative series.\n\n\n var result;\n var ecModel = this.ecModel;\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex) {\n var seriesModels = dataZoomModel.getAxisProxy(dimNames.name, axisIndex).getTargetSeriesModels();\n zrUtil.each(seriesModels, function (seriesModel) {\n if (result) {\n return;\n }\n\n if (showDataShadow !== true && zrUtil.indexOf(SHOW_DATA_SHADOW_SERIES_TYPE, seriesModel.get('type')) < 0) {\n return;\n }\n\n var thisAxis = ecModel.getComponent(dimNames.axis, axisIndex).axis;\n var otherDim = getOtherDim(dimNames.name);\n var otherAxisInverse;\n var coordSys = seriesModel.coordinateSystem;\n\n if (otherDim != null && coordSys.getOtherAxis) {\n otherAxisInverse = coordSys.getOtherAxis(thisAxis).inverse;\n }\n\n otherDim = seriesModel.getData().mapDimension(otherDim);\n result = {\n thisAxis: thisAxis,\n series: seriesModel,\n thisDim: dimNames.name,\n otherDim: otherDim,\n otherAxisInverse: otherAxisInverse\n };\n }, this);\n }, this);\n return result;\n },\n _renderHandle: function () {\n var displaybles = this._displayables;\n var handles = displaybles.handles = [];\n var handleLabels = displaybles.handleLabels = [];\n var barGroup = this._displayables.barGroup;\n var size = this._size;\n var dataZoomModel = this.dataZoomModel;\n barGroup.add(displaybles.filler = new Rect({\n draggable: true,\n cursor: getCursor(this._orient),\n drift: bind(this._onDragMove, this, 'all'),\n ondragstart: bind(this._showDataInfo, this, true),\n ondragend: bind(this._onDragEnd, this),\n onmouseover: bind(this._showDataInfo, this, true),\n onmouseout: bind(this._showDataInfo, this, false),\n style: {\n fill: dataZoomModel.get('fillerColor'),\n textPosition: 'inside'\n }\n })); // Frame border.\n\n barGroup.add(new Rect({\n silent: true,\n subPixelOptimize: true,\n shape: {\n x: 0,\n y: 0,\n width: size[0],\n height: size[1]\n },\n style: {\n stroke: dataZoomModel.get('dataBackgroundColor') || dataZoomModel.get('borderColor'),\n lineWidth: DEFAULT_FRAME_BORDER_WIDTH,\n fill: 'rgba(0,0,0,0)'\n }\n }));\n each([0, 1], function (handleIndex) {\n var path = graphic.createIcon(dataZoomModel.get('handleIcon'), {\n cursor: getCursor(this._orient),\n draggable: true,\n drift: bind(this._onDragMove, this, handleIndex),\n ondragend: bind(this._onDragEnd, this),\n onmouseover: bind(this._showDataInfo, this, true),\n onmouseout: bind(this._showDataInfo, this, false)\n }, {\n x: -1,\n y: 0,\n width: 2,\n height: 2\n });\n var bRect = path.getBoundingRect();\n this._handleHeight = numberUtil.parsePercent(dataZoomModel.get('handleSize'), this._size[1]);\n this._handleWidth = bRect.width / bRect.height * this._handleHeight;\n path.setStyle(dataZoomModel.getModel('handleStyle').getItemStyle());\n var handleColor = dataZoomModel.get('handleColor'); // Compatitable with previous version\n\n if (handleColor != null) {\n path.style.fill = handleColor;\n }\n\n barGroup.add(handles[handleIndex] = path);\n var textStyleModel = dataZoomModel.textStyleModel;\n this.group.add(handleLabels[handleIndex] = new graphic.Text({\n silent: true,\n invisible: true,\n style: {\n x: 0,\n y: 0,\n text: '',\n textVerticalAlign: 'middle',\n textAlign: 'center',\n textFill: textStyleModel.getTextColor(),\n textFont: textStyleModel.getFont()\n },\n z2: 10\n }));\n }, this);\n },\n\n /**\n * @private\n */\n _resetInterval: function () {\n var range = this._range = this.dataZoomModel.getPercentRange();\n\n var viewExtent = this._getViewExtent();\n\n this._handleEnds = [linearMap(range[0], [0, 100], viewExtent, true), linearMap(range[1], [0, 100], viewExtent, true)];\n },\n\n /**\n * @private\n * @param {(number|string)} handleIndex 0 or 1 or 'all'\n * @param {number} delta\n * @return {boolean} changed\n */\n _updateInterval: function (handleIndex, delta) {\n var dataZoomModel = this.dataZoomModel;\n var handleEnds = this._handleEnds;\n\n var viewExtend = this._getViewExtent();\n\n var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n var percentExtent = [0, 100];\n sliderMove(delta, handleEnds, viewExtend, dataZoomModel.get('zoomLock') ? 'all' : handleIndex, minMaxSpan.minSpan != null ? linearMap(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null, minMaxSpan.maxSpan != null ? linearMap(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null);\n var lastRange = this._range;\n var range = this._range = asc([linearMap(handleEnds[0], viewExtend, percentExtent, true), linearMap(handleEnds[1], viewExtend, percentExtent, true)]);\n return !lastRange || lastRange[0] !== range[0] || lastRange[1] !== range[1];\n },\n\n /**\n * @private\n */\n _updateView: function (nonRealtime) {\n var displaybles = this._displayables;\n var handleEnds = this._handleEnds;\n var handleInterval = asc(handleEnds.slice());\n var size = this._size;\n each([0, 1], function (handleIndex) {\n // Handles\n var handle = displaybles.handles[handleIndex];\n var handleHeight = this._handleHeight;\n handle.attr({\n scale: [handleHeight / 2, handleHeight / 2],\n position: [handleEnds[handleIndex], size[1] / 2 - handleHeight / 2]\n });\n }, this); // Filler\n\n displaybles.filler.setShape({\n x: handleInterval[0],\n y: 0,\n width: handleInterval[1] - handleInterval[0],\n height: size[1]\n });\n\n this._updateDataInfo(nonRealtime);\n },\n\n /**\n * @private\n */\n _updateDataInfo: function (nonRealtime) {\n var dataZoomModel = this.dataZoomModel;\n var displaybles = this._displayables;\n var handleLabels = displaybles.handleLabels;\n var orient = this._orient;\n var labelTexts = ['', '']; // FIXME\n // date型,支持formatter,autoformatter(ec2 date.getAutoFormatter)\n\n if (dataZoomModel.get('showDetail')) {\n var axisProxy = dataZoomModel.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n var axis = axisProxy.getAxisModel().axis;\n var range = this._range;\n var dataInterval = nonRealtime // See #4434, data and axis are not processed and reset yet in non-realtime mode.\n ? axisProxy.calculateDataWindow({\n start: range[0],\n end: range[1]\n }).valueWindow : axisProxy.getDataValueWindow();\n labelTexts = [this._formatLabel(dataInterval[0], axis), this._formatLabel(dataInterval[1], axis)];\n }\n }\n\n var orderedHandleEnds = asc(this._handleEnds.slice());\n setLabel.call(this, 0);\n setLabel.call(this, 1);\n\n function setLabel(handleIndex) {\n // Label\n // Text should not transform by barGroup.\n // Ignore handlers transform\n var barTransform = graphic.getTransform(displaybles.handles[handleIndex].parent, this.group);\n var direction = graphic.transformDirection(handleIndex === 0 ? 'right' : 'left', barTransform);\n var offset = this._handleWidth / 2 + LABEL_GAP;\n var textPoint = graphic.applyTransform([orderedHandleEnds[handleIndex] + (handleIndex === 0 ? -offset : offset), this._size[1] / 2], barTransform);\n handleLabels[handleIndex].setStyle({\n x: textPoint[0],\n y: textPoint[1],\n textVerticalAlign: orient === HORIZONTAL ? 'middle' : direction,\n textAlign: orient === HORIZONTAL ? direction : 'center',\n text: labelTexts[handleIndex]\n });\n }\n },\n\n /**\n * @private\n */\n _formatLabel: function (value, axis) {\n var dataZoomModel = this.dataZoomModel;\n var labelFormatter = dataZoomModel.get('labelFormatter');\n var labelPrecision = dataZoomModel.get('labelPrecision');\n\n if (labelPrecision == null || labelPrecision === 'auto') {\n labelPrecision = axis.getPixelPrecision();\n }\n\n var valueStr = value == null || isNaN(value) ? '' // FIXME Glue code\n : axis.type === 'category' || axis.type === 'time' ? axis.scale.getLabel(Math.round(value)) // param of toFixed should less then 20.\n : value.toFixed(Math.min(labelPrecision, 20));\n return zrUtil.isFunction(labelFormatter) ? labelFormatter(value, valueStr) : zrUtil.isString(labelFormatter) ? labelFormatter.replace('{value}', valueStr) : valueStr;\n },\n\n /**\n * @private\n * @param {boolean} showOrHide true: show, false: hide\n */\n _showDataInfo: function (showOrHide) {\n // Always show when drgging.\n showOrHide = this._dragging || showOrHide;\n var handleLabels = this._displayables.handleLabels;\n handleLabels[0].attr('invisible', !showOrHide);\n handleLabels[1].attr('invisible', !showOrHide);\n },\n _onDragMove: function (handleIndex, dx, dy, event) {\n this._dragging = true; // For mobile device, prevent screen slider on the button.\n\n eventTool.stop(event.event); // Transform dx, dy to bar coordination.\n\n var barTransform = this._displayables.barGroup.getLocalTransform();\n\n var vertex = graphic.applyTransform([dx, dy], barTransform, true);\n\n var changed = this._updateInterval(handleIndex, vertex[0]);\n\n var realtime = this.dataZoomModel.get('realtime');\n\n this._updateView(!realtime); // Avoid dispatch dataZoom repeatly but range not changed,\n // which cause bad visual effect when progressive enabled.\n\n\n changed && realtime && this._dispatchZoomAction();\n },\n _onDragEnd: function () {\n this._dragging = false;\n\n this._showDataInfo(false); // While in realtime mode and stream mode, dispatch action when\n // drag end will cause the whole view rerender, which is unnecessary.\n\n\n var realtime = this.dataZoomModel.get('realtime');\n !realtime && this._dispatchZoomAction();\n },\n _onClickPanelClick: function (e) {\n var size = this._size;\n\n var localPoint = this._displayables.barGroup.transformCoordToLocal(e.offsetX, e.offsetY);\n\n if (localPoint[0] < 0 || localPoint[0] > size[0] || localPoint[1] < 0 || localPoint[1] > size[1]) {\n return;\n }\n\n var handleEnds = this._handleEnds;\n var center = (handleEnds[0] + handleEnds[1]) / 2;\n\n var changed = this._updateInterval('all', localPoint[0] - center);\n\n this._updateView();\n\n changed && this._dispatchZoomAction();\n },\n\n /**\n * This action will be throttled.\n * @private\n */\n _dispatchZoomAction: function () {\n var range = this._range;\n this.api.dispatchAction({\n type: 'dataZoom',\n from: this.uid,\n dataZoomId: this.dataZoomModel.id,\n start: range[0],\n end: range[1]\n });\n },\n\n /**\n * @private\n */\n _findCoordRect: function () {\n // Find the grid coresponding to the first axis referred by dataZoom.\n var rect;\n each(this.getTargetCoordInfo(), function (coordInfoList) {\n if (!rect && coordInfoList.length) {\n var coordSys = coordInfoList[0].model.coordinateSystem;\n rect = coordSys.getRect && coordSys.getRect();\n }\n });\n\n if (!rect) {\n var width = this.api.getWidth();\n var height = this.api.getHeight();\n rect = {\n x: width * 0.2,\n y: height * 0.2,\n width: width * 0.6,\n height: height * 0.6\n };\n }\n\n return rect;\n }\n});\n\nfunction getOtherDim(thisDim) {\n // FIXME\n // 这个逻辑和getOtherAxis里一致,但是写在这里是否不好\n var map = {\n x: 'y',\n y: 'x',\n radius: 'angle',\n angle: 'radius'\n };\n return map[thisDim];\n}\n\nfunction getCursor(orient) {\n return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\nvar _default = SliderZoomView;\nmodule.exports = _default;\n\n/***/ }),\n/* 1000 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar RoamController = __webpack_require__(142);\n\nvar throttleUtil = __webpack_require__(81);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Only create one roam controller for each coordinate system.\n// one roam controller might be refered by two inside data zoom\n// components (for example, one for x and one for y). When user\n// pan or zoom, only dispatch one action for those data zoom\n// components.\nvar ATTR = '\\0_ec_dataZoom_roams';\n/**\n * @public\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} dataZoomInfo\n * @param {string} dataZoomInfo.coordId\n * @param {Function} dataZoomInfo.containsPoint\n * @param {Array.} dataZoomInfo.allCoordIds\n * @param {string} dataZoomInfo.dataZoomId\n * @param {Object} dataZoomInfo.getRange\n * @param {Function} dataZoomInfo.getRange.pan\n * @param {Function} dataZoomInfo.getRange.zoom\n * @param {Function} dataZoomInfo.getRange.scrollMove\n * @param {boolean} dataZoomInfo.dataZoomModel\n */\n\nfunction register(api, dataZoomInfo) {\n var store = giveStore(api);\n var theDataZoomId = dataZoomInfo.dataZoomId;\n var theCoordId = dataZoomInfo.coordId; // Do clean when a dataZoom changes its target coordnate system.\n // Avoid memory leak, dispose all not-used-registered.\n\n zrUtil.each(store, function (record, coordId) {\n var dataZoomInfos = record.dataZoomInfos;\n\n if (dataZoomInfos[theDataZoomId] && zrUtil.indexOf(dataZoomInfo.allCoordIds, theCoordId) < 0) {\n delete dataZoomInfos[theDataZoomId];\n record.count--;\n }\n });\n cleanStore(store);\n var record = store[theCoordId]; // Create if needed.\n\n if (!record) {\n record = store[theCoordId] = {\n coordId: theCoordId,\n dataZoomInfos: {},\n count: 0\n };\n record.controller = createController(api, record);\n record.dispatchAction = zrUtil.curry(dispatchAction, api);\n } // Update reference of dataZoom.\n\n\n !record.dataZoomInfos[theDataZoomId] && record.count++;\n record.dataZoomInfos[theDataZoomId] = dataZoomInfo;\n var controllerParams = mergeControllerParams(record.dataZoomInfos);\n record.controller.enable(controllerParams.controlType, controllerParams.opt); // Consider resize, area should be always updated.\n\n record.controller.setPointerChecker(dataZoomInfo.containsPoint); // Update throttle.\n\n throttleUtil.createOrUpdate(record, 'dispatchAction', dataZoomInfo.dataZoomModel.get('throttle', true), 'fixRate');\n}\n/**\n * @public\n * @param {module:echarts/ExtensionAPI} api\n * @param {string} dataZoomId\n */\n\n\nfunction unregister(api, dataZoomId) {\n var store = giveStore(api);\n zrUtil.each(store, function (record) {\n record.controller.dispose();\n var dataZoomInfos = record.dataZoomInfos;\n\n if (dataZoomInfos[dataZoomId]) {\n delete dataZoomInfos[dataZoomId];\n record.count--;\n }\n });\n cleanStore(store);\n}\n/**\n * @public\n */\n\n\nfunction generateCoordId(coordModel) {\n return coordModel.type + '\\0_' + coordModel.id;\n}\n/**\n * Key: coordId, value: {dataZoomInfos: [], count, controller}\n * @type {Array.}\n */\n\n\nfunction giveStore(api) {\n // Mount store on zrender instance, so that we do not\n // need to worry about dispose.\n var zr = api.getZr();\n return zr[ATTR] || (zr[ATTR] = {});\n}\n\nfunction createController(api, newRecord) {\n var controller = new RoamController(api.getZr());\n zrUtil.each(['pan', 'zoom', 'scrollMove'], function (eventName) {\n controller.on(eventName, function (event) {\n var batch = [];\n zrUtil.each(newRecord.dataZoomInfos, function (info) {\n // Check whether the behaviors (zoomOnMouseWheel, moveOnMouseMove,\n // moveOnMouseWheel, ...) enabled.\n if (!event.isAvailableBehavior(info.dataZoomModel.option)) {\n return;\n }\n\n var method = (info.getRange || {})[eventName];\n var range = method && method(newRecord.controller, event);\n !info.dataZoomModel.get('disabled', true) && range && batch.push({\n dataZoomId: info.dataZoomId,\n start: range[0],\n end: range[1]\n });\n });\n batch.length && newRecord.dispatchAction(batch);\n });\n });\n return controller;\n}\n\nfunction cleanStore(store) {\n zrUtil.each(store, function (record, coordId) {\n if (!record.count) {\n record.controller.dispose();\n delete store[coordId];\n }\n });\n}\n/**\n * This action will be throttled.\n */\n\n\nfunction dispatchAction(api, batch) {\n api.dispatchAction({\n type: 'dataZoom',\n batch: batch\n });\n}\n/**\n * Merge roamController settings when multiple dataZooms share one roamController.\n */\n\n\nfunction mergeControllerParams(dataZoomInfos) {\n var controlType; // DO NOT use reserved word (true, false, undefined) as key literally. Even if encapsulated\n // as string, it is probably revert to reserved word by compress tool. See #7411.\n\n var prefix = 'type_';\n var typePriority = {\n 'type_true': 2,\n 'type_move': 1,\n 'type_false': 0,\n 'type_undefined': -1\n };\n var preventDefaultMouseMove = true;\n zrUtil.each(dataZoomInfos, function (dataZoomInfo) {\n var dataZoomModel = dataZoomInfo.dataZoomModel;\n var oneType = dataZoomModel.get('disabled', true) ? false : dataZoomModel.get('zoomLock', true) ? 'move' : true;\n\n if (typePriority[prefix + oneType] > typePriority[prefix + controlType]) {\n controlType = oneType;\n } // Prevent default move event by default. If one false, do not prevent. Otherwise\n // users may be confused why it does not work when multiple insideZooms exist.\n\n\n preventDefaultMouseMove &= dataZoomModel.get('preventDefaultMouseMove', true);\n });\n return {\n controlType: controlType,\n opt: {\n // RoamController will enable all of these functionalities,\n // and the final behavior is determined by its event listener\n // provided by each inside zoom.\n zoomOnMouseWheel: true,\n moveOnMouseMove: true,\n moveOnMouseWheel: true,\n preventDefaultMouseMove: !!preventDefaultMouseMove\n }\n };\n}\n\nexports.register = register;\nexports.unregister = unregister;\nexports.generateCoordId = generateCoordId;\n\n/***/ }),\n/* 1001 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\n__webpack_require__(1064);\n\n__webpack_require__(257);\n\n__webpack_require__(1002);\n\n__webpack_require__(359);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1002 */\n/***/ (function(module, exports, __webpack_require__) {\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 MapDraw = __webpack_require__(383);\n\nvar echarts = __webpack_require__(2);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1003 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar modelUtil = __webpack_require__(8);\n\nvar graphicUtil = __webpack_require__(6);\n\nvar layoutUtil = __webpack_require__(14);\n\nvar _number = __webpack_require__(7);\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/***/ }),\n/* 1004 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(141);\n\n__webpack_require__(373);\n\n__webpack_require__(140);\n\n/***/ }),\n/* 1005 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(387);\n\n__webpack_require__(1006);\n\n__webpack_require__(1007);\n\n__webpack_require__(1010);\n\n/***/ }),\n/* 1006 */\n/***/ (function(module, exports, __webpack_require__) {\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 LegendModel = __webpack_require__(388);\n\nvar _layout = __webpack_require__(14);\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;\n\n/***/ }),\n/* 1007 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\nvar layoutUtil = __webpack_require__(14);\n\nvar LegendView = __webpack_require__(389);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 defualtIndex. 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/***/ }),\n/* 1008 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(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*/\nfunction legendSelectActionHandler(methodName, payload, ecModel) {\n var selectedMap = {};\n var isToggleSelect = methodName === 'toggleSelected';\n var isSelected; // Update all legend components\n\n ecModel.eachComponent('legend', function (legendModel) {\n if (isToggleSelect && isSelected != null) {\n // Force other legend has same selected status\n // Or the first is toggled to true and other are toggled to false\n // In the case one legend has some item unSelected in option. And if other legend\n // doesn't has the item, they will assume it is selected.\n legendModel[isSelected ? 'select' : 'unSelect'](payload.name);\n } else if (methodName === 'allSelect' || methodName === 'inverseSelect') {\n legendModel[methodName]();\n } else {\n legendModel[methodName](payload.name);\n isSelected = legendModel.isSelected(payload.name);\n }\n\n var legendData = legendModel.getData();\n zrUtil.each(legendData, function (model) {\n var name = model.get('name'); // Wrap element\n\n if (name === '\\n' || name === '') {\n return;\n }\n\n var isItemSelected = legendModel.isSelected(name);\n\n if (selectedMap.hasOwnProperty(name)) {\n // Unselected if any legend is unselected\n selectedMap[name] = selectedMap[name] && isItemSelected;\n } else {\n selectedMap[name] = isItemSelected;\n }\n });\n }); // Return the event explicitly\n\n return methodName === 'allSelect' || methodName === 'inverseSelect' ? {\n selected: selectedMap\n } : {\n name: payload.name,\n selected: selectedMap\n };\n}\n/**\n * @event legendToggleSelect\n * @type {Object}\n * @property {string} type 'legendToggleSelect'\n * @property {string} [from]\n * @property {string} name Series name or data item name\n */\n\n\necharts.registerAction('legendToggleSelect', 'legendselectchanged', zrUtil.curry(legendSelectActionHandler, 'toggleSelected'));\necharts.registerAction('legendAllSelect', 'legendselectall', zrUtil.curry(legendSelectActionHandler, 'allSelect'));\necharts.registerAction('legendInverseSelect', 'legendinverseselect', zrUtil.curry(legendSelectActionHandler, 'inverseSelect'));\n/**\n * @event legendSelect\n * @type {Object}\n * @property {string} type 'legendSelect'\n * @property {string} name Series name or data item name\n */\n\necharts.registerAction('legendSelect', 'legendselected', zrUtil.curry(legendSelectActionHandler, 'select'));\n/**\n * @event legendUnSelect\n * @type {Object}\n * @property {string} type 'legendUnSelect'\n * @property {string} name Series name or data item name\n */\n\necharts.registerAction('legendUnSelect', 'legendunselected', zrUtil.curry(legendSelectActionHandler, 'unSelect'));\n\n/***/ }),\n/* 1009 */\n/***/ (function(module, exports) {\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;\n\n/***/ }),\n/* 1010 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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});\n\n/***/ }),\n/* 1011 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(1014);\n\n__webpack_require__(1015);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1012 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(1016);\n\n__webpack_require__(1017);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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});\n\n/***/ }),\n/* 1013 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(1018);\n\n__webpack_require__(1019);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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});\n\n/***/ }),\n/* 1014 */\n/***/ (function(module, exports, __webpack_require__) {\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 MarkerModel = __webpack_require__(252);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: 'markArea',\n defaultOption: {\n zlevel: 0,\n // PENDING\n z: 1,\n tooltip: {\n trigger: 'item'\n },\n // markArea should fixed on the coordinate system\n animation: false,\n label: {\n show: true,\n position: 'top'\n },\n itemStyle: {\n // color and borderColor default to use color from series\n // color: 'auto'\n // borderColor: 'auto'\n borderWidth: 0\n },\n emphasis: {\n label: {\n show: true,\n position: 'top'\n }\n }\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1015 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar colorUtil = __webpack_require__(63);\n\nvar List = __webpack_require__(44);\n\nvar numberUtil = __webpack_require__(7);\n\nvar graphic = __webpack_require__(6);\n\nvar markerHelper = __webpack_require__(254);\n\nvar MarkerView = __webpack_require__(253);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 areaData.setItemLayout(idx, zrUtil.map(dimPermutations, function (dim) {\n return getSingleMarkerEndPoint(areaData, idx, dim, seriesModel, api);\n })); // Visual\n\n areaData.setItemVisual(idx, {\n color: seriesData.getVisual('color')\n });\n });\n areaData.diff(polygonGroup.__data).add(function (idx) {\n var polygon = new graphic.Polygon({\n shape: {\n points: areaData.getItemLayout(idx)\n }\n });\n areaData.setItemGraphicEl(idx, polygon);\n polygonGroup.group.add(polygon);\n }).update(function (newIdx, oldIdx) {\n var polygon = polygonGroup.__data.getItemGraphicEl(oldIdx);\n\n graphic.updateProps(polygon, {\n shape: {\n points: areaData.getItemLayout(newIdx)\n }\n }, maModel, newIdx);\n polygonGroup.group.add(polygon);\n areaData.setItemGraphicEl(newIdx, polygon);\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}\n\n/***/ }),\n/* 1016 */\n/***/ (function(module, exports, __webpack_require__) {\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 MarkerModel = __webpack_require__(252);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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: 'markLine',\n defaultOption: {\n zlevel: 0,\n z: 5,\n symbol: ['circle', 'arrow'],\n symbolSize: [8, 16],\n //symbolRotate: 0,\n precision: 2,\n tooltip: {\n trigger: 'item'\n },\n label: {\n show: true,\n position: 'end',\n distance: 5\n },\n lineStyle: {\n type: 'dashed'\n },\n emphasis: {\n label: {\n show: true\n },\n lineStyle: {\n width: 3\n }\n },\n animationEasing: 'linear'\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1017 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar List = __webpack_require__(44);\n\nvar numberUtil = __webpack_require__(7);\n\nvar markerHelper = __webpack_require__(254);\n\nvar LineDraw = __webpack_require__(242);\n\nvar MarkerView = __webpack_require__(253);\n\nvar _dataStackHelper = __webpack_require__(59);\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 markLineTransform = function (seriesModel, coordSys, mlModel, item) {\n var data = seriesModel.getData(); // Special type markLine like 'min', 'max', 'average', 'median'\n\n var mlType = item.type;\n\n if (!zrUtil.isArray(item) && (mlType === 'min' || mlType === 'max' || mlType === 'average' || mlType === 'median' // In case\n // data: [{\n // yAxis: 10\n // }]\n || item.xAxis != null || item.yAxis != null)) {\n var valueAxis;\n var value;\n\n if (item.yAxis != null || item.xAxis != null) {\n valueAxis = coordSys.getAxis(item.yAxis != null ? 'y' : 'x');\n value = zrUtil.retrieve(item.yAxis, item.xAxis);\n } else {\n var axisInfo = markerHelper.getAxisInfo(item, data, coordSys, seriesModel);\n valueAxis = axisInfo.valueAxis;\n var valueDataDim = getStackedDimension(data, axisInfo.valueDataDim);\n value = markerHelper.numCalculate(data, valueDataDim, mlType);\n }\n\n var valueIndex = valueAxis.dim === 'x' ? 0 : 1;\n var baseIndex = 1 - valueIndex;\n var mlFrom = zrUtil.clone(item);\n var mlTo = {};\n mlFrom.type = null;\n mlFrom.coord = [];\n mlTo.coord = [];\n mlFrom.coord[baseIndex] = -Infinity;\n mlTo.coord[baseIndex] = Infinity;\n var precision = mlModel.get('precision');\n\n if (precision >= 0 && typeof value === 'number') {\n value = +value.toFixed(Math.min(precision, 20));\n }\n\n mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;\n item = [mlFrom, mlTo, {\n // Extra option for tooltip and label\n type: mlType,\n valueIndex: item.valueIndex,\n // Force to use the value of calculated value.\n value: value\n }];\n }\n\n item = [markerHelper.dataTransform(seriesModel, item[0]), markerHelper.dataTransform(seriesModel, item[1]), zrUtil.extend({}, item[2])]; // Avoid line data type is extended by from(to) data type\n\n item[2].type = item[2].type || ''; // Merge from option and to option into line option\n\n zrUtil.merge(item[2], item[0]);\n zrUtil.merge(item[2], item[1]);\n return item;\n};\n\nfunction isInifinity(val) {\n return !isNaN(val) && !isFinite(val);\n} // If a markLine has one dim\n\n\nfunction ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n var otherDimIndex = 1 - dimIndex;\n var dimName = coordSys.dimensions[dimIndex];\n return isInifinity(fromCoord[otherDimIndex]) && isInifinity(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);\n}\n\nfunction markLineFilter(coordSys, item) {\n if (coordSys.type === 'cartesian2d') {\n var fromCoord = item[0].coord;\n var toCoord = item[1].coord; // In case\n // {\n // markLine: {\n // data: [{ yAxis: 2 }]\n // }\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, item[0]) && markerHelper.dataFilter(coordSys, item[1]);\n}\n\nfunction updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var itemModel = data.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 } 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(data.dimensions, idx));\n } else {\n var dims = coordSys.dimensions;\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n point = coordSys.dataToPoint([x, y]);\n } // Expand line to the edge of grid if value on one axis is Inifnity\n // In case\n // markLine: {\n // data: [{\n // yAxis: 2\n // // or\n // type: 'average'\n // }]\n // }\n\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n var dims = coordSys.dimensions;\n\n if (isInifinity(data.get(dims[0], idx))) {\n point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);\n } else if (isInifinity(data.get(dims[1], idx))) {\n point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 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 data.setItemLayout(idx, point);\n}\n\nvar _default = MarkerView.extend({\n type: 'markLine',\n // updateLayout: function (markLineModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var mlModel = seriesModel.markLineModel;\n // if (mlModel) {\n // var mlData = mlModel.getData();\n // var fromData = mlModel.__from;\n // var toData = mlModel.__to;\n // // Update visual and layout of from symbol and to symbol\n // fromData.each(function (idx) {\n // updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n // updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n // });\n // // Update layout of line\n // mlData.each(function (idx) {\n // mlData.setItemLayout(idx, [\n // fromData.getItemLayout(idx),\n // toData.getItemLayout(idx)\n // ]);\n // });\n // this.markerGroupMap.get(seriesModel.id).updateLayout();\n // }\n // }, this);\n // },\n updateTransform: function (markLineModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mlModel = seriesModel.markLineModel;\n\n if (mlModel) {\n var mlData = mlModel.getData();\n var fromData = mlModel.__from;\n var toData = mlModel.__to; // Update visual and layout of from symbol and to symbol\n\n fromData.each(function (idx) {\n updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n }); // Update layout of line\n\n mlData.each(function (idx) {\n mlData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n });\n this.markerGroupMap.get(seriesModel.id).updateLayout();\n }\n }, this);\n },\n renderSeries: function (seriesModel, mlModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var lineDrawMap = this.markerGroupMap;\n var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new LineDraw());\n this.group.add(lineDraw.group);\n var mlData = createList(coordSys, seriesModel, mlModel);\n var fromData = mlData.from;\n var toData = mlData.to;\n var lineData = mlData.line;\n mlModel.__from = fromData;\n mlModel.__to = toData; // Line data for tooltip and formatter\n\n mlModel.setData(lineData);\n var symbolType = mlModel.get('symbol');\n var symbolSize = mlModel.get('symbolSize');\n\n if (!zrUtil.isArray(symbolType)) {\n symbolType = [symbolType, symbolType];\n }\n\n if (typeof symbolSize === 'number') {\n symbolSize = [symbolSize, symbolSize];\n } // Update visual and layout of from symbol and to symbol\n\n\n mlData.from.each(function (idx) {\n updateDataVisualAndLayout(fromData, idx, true);\n updateDataVisualAndLayout(toData, idx, false);\n }); // Update visual and layout of line\n\n lineData.each(function (idx) {\n var lineColor = lineData.getItemModel(idx).get('lineStyle.color');\n lineData.setItemVisual(idx, {\n color: lineColor || fromData.getItemVisual(idx, 'color')\n });\n lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n lineData.setItemVisual(idx, {\n 'fromSymbolSize': fromData.getItemVisual(idx, 'symbolSize'),\n 'fromSymbol': fromData.getItemVisual(idx, 'symbol'),\n 'toSymbolSize': toData.getItemVisual(idx, 'symbolSize'),\n 'toSymbol': toData.getItemVisual(idx, 'symbol')\n });\n });\n lineDraw.updateData(lineData); // Set host model for tooltip\n // FIXME\n\n mlData.line.eachItemGraphicEl(function (el, idx) {\n el.traverse(function (child) {\n child.dataModel = mlModel;\n });\n });\n\n function updateDataVisualAndLayout(data, idx, isFrom) {\n var itemModel = data.getItemModel(idx);\n updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api);\n data.setItemVisual(idx, {\n symbolSize: itemModel.get('symbolSize') || symbolSize[isFrom ? 0 : 1],\n symbol: itemModel.get('symbol', true) || symbolType[isFrom ? 0 : 1],\n color: itemModel.get('itemStyle.color') || seriesData.getVisual('color')\n });\n }\n\n lineDraw.__keep = true;\n lineDraw.group.silent = mlModel.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, mlModel) {\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 fromData = new List(coordDimsInfos, mlModel);\n var toData = new List(coordDimsInfos, mlModel); // No dimensions\n\n var lineData = new List([], mlModel);\n var optData = zrUtil.map(mlModel.get('data'), zrUtil.curry(markLineTransform, seriesModel, coordSys, mlModel));\n\n if (coordSys) {\n optData = zrUtil.filter(optData, zrUtil.curry(markLineFilter, coordSys));\n }\n\n var dimValueGetter = coordSys ? markerHelper.dimValueGetter : function (item) {\n return item.value;\n };\n fromData.initData(zrUtil.map(optData, function (item) {\n return item[0];\n }), null, dimValueGetter);\n toData.initData(zrUtil.map(optData, function (item) {\n return item[1];\n }), null, dimValueGetter);\n lineData.initData(zrUtil.map(optData, function (item) {\n return item[2];\n }));\n lineData.hasItemOption = true;\n return {\n from: fromData,\n to: toData,\n line: lineData\n };\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1018 */\n/***/ (function(module, exports, __webpack_require__) {\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 MarkerModel = __webpack_require__(252);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1019 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar SymbolDraw = __webpack_require__(138);\n\nvar numberUtil = __webpack_require__(7);\n\nvar List = __webpack_require__(44);\n\nvar markerHelper = __webpack_require__(254);\n\nvar MarkerView = __webpack_require__(253);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 isFnSymbol = zrUtil.isFunction(symbol);\n var isFnSymbolSize = zrUtil.isFunction(symbolSize);\n\n if (isFnSymbol || isFnSymbolSize) {\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\n mpData.setItemVisual(idx, {\n symbol: symbol,\n symbolSize: symbolSize,\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;\n\n/***/ }),\n/* 1020 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(406);\n\n__webpack_require__(982);\n\n__webpack_require__(979);\n\n/***/ }),\n/* 1021 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar barPolar = __webpack_require__(1093);\n\n__webpack_require__(259);\n\n__webpack_require__(970);\n\n__webpack_require__(1024);\n\n__webpack_require__(140);\n\n__webpack_require__(974);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// For reducing size of echarts.min, barLayoutPolar is required by polar.\necharts.registerLayout(zrUtil.curry(barPolar, 'bar')); // Polar view\n\necharts.extendComponentView({\n type: 'polar'\n});\n\n/***/ }),\n/* 1022 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(1084);\n\n__webpack_require__(1085);\n\n__webpack_require__(1023);\n\n/***/ }),\n/* 1023 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar AxisBuilder = __webpack_require__(77);\n\nvar graphic = __webpack_require__(6);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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'];\n\nvar _default = echarts.extendComponentView({\n type: 'radar',\n render: function (radarModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n\n this._buildAxes(radarModel);\n\n this._buildSplitLineAndArea(radarModel);\n },\n _buildAxes: function (radarModel) {\n var radar = radarModel.coordinateSystem;\n var indicatorAxes = radar.getIndicatorAxes();\n var axisBuilders = zrUtil.map(indicatorAxes, function (indicatorAxis) {\n var axisBuilder = new AxisBuilder(indicatorAxis.model, {\n position: [radar.cx, radar.cy],\n rotation: indicatorAxis.angle,\n labelDirection: -1,\n tickDirection: -1,\n nameDirection: 1\n });\n return axisBuilder;\n });\n zrUtil.each(axisBuilders, function (axisBuilder) {\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n }, this);\n },\n _buildSplitLineAndArea: function (radarModel) {\n var radar = radarModel.coordinateSystem;\n var indicatorAxes = radar.getIndicatorAxes();\n\n if (!indicatorAxes.length) {\n return;\n }\n\n var shape = radarModel.get('shape');\n var splitLineModel = radarModel.getModel('splitLine');\n var splitAreaModel = radarModel.getModel('splitArea');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var showSplitLine = splitLineModel.get('show');\n var showSplitArea = splitAreaModel.get('show');\n var splitLineColors = lineStyleModel.get('color');\n var splitAreaColors = areaStyleModel.get('color');\n splitLineColors = zrUtil.isArray(splitLineColors) ? splitLineColors : [splitLineColors];\n splitAreaColors = zrUtil.isArray(splitAreaColors) ? splitAreaColors : [splitAreaColors];\n var splitLines = [];\n var splitAreas = [];\n\n function getColorIndex(areaOrLine, areaOrLineColorList, idx) {\n var colorIndex = idx % areaOrLineColorList.length;\n areaOrLine[colorIndex] = areaOrLine[colorIndex] || [];\n return colorIndex;\n }\n\n if (shape === 'circle') {\n var ticksRadius = indicatorAxes[0].getTicksCoords();\n var cx = radar.cx;\n var cy = radar.cy;\n\n for (var i = 0; i < ticksRadius.length; i++) {\n if (showSplitLine) {\n var colorIndex = getColorIndex(splitLines, splitLineColors, i);\n splitLines[colorIndex].push(new graphic.Circle({\n shape: {\n cx: cx,\n cy: cy,\n r: ticksRadius[i].coord\n }\n }));\n }\n\n if (showSplitArea && i < ticksRadius.length - 1) {\n var colorIndex = getColorIndex(splitAreas, splitAreaColors, i);\n splitAreas[colorIndex].push(new graphic.Ring({\n shape: {\n cx: cx,\n cy: cy,\n r0: ticksRadius[i].coord,\n r: ticksRadius[i + 1].coord\n }\n }));\n }\n }\n } // Polyyon\n else {\n var realSplitNumber;\n var axesTicksPoints = zrUtil.map(indicatorAxes, function (indicatorAxis, idx) {\n var ticksCoords = indicatorAxis.getTicksCoords();\n realSplitNumber = realSplitNumber == null ? ticksCoords.length - 1 : Math.min(ticksCoords.length - 1, realSplitNumber);\n return zrUtil.map(ticksCoords, function (tickCoord) {\n return radar.coordToPoint(tickCoord.coord, idx);\n });\n });\n var prevPoints = [];\n\n for (var i = 0; i <= realSplitNumber; i++) {\n var points = [];\n\n for (var j = 0; j < indicatorAxes.length; j++) {\n points.push(axesTicksPoints[j][i]);\n } // Close\n\n\n if (points[0]) {\n points.push(points[0].slice());\n } else {}\n\n if (showSplitLine) {\n var colorIndex = getColorIndex(splitLines, splitLineColors, i);\n splitLines[colorIndex].push(new graphic.Polyline({\n shape: {\n points: points\n }\n }));\n }\n\n if (showSplitArea && prevPoints) {\n var colorIndex = getColorIndex(splitAreas, splitAreaColors, i - 1);\n splitAreas[colorIndex].push(new graphic.Polygon({\n shape: {\n points: points.concat(prevPoints)\n }\n }));\n }\n\n prevPoints = points.slice().reverse();\n }\n }\n\n var lineStyle = lineStyleModel.getLineStyle();\n var areaStyle = areaStyleModel.getAreaStyle(); // Add splitArea before splitLine\n\n zrUtil.each(splitAreas, function (splitAreas, idx) {\n this.group.add(graphic.mergePath(splitAreas, {\n style: zrUtil.defaults({\n stroke: 'none',\n fill: splitAreaColors[idx % splitAreaColors.length]\n }, areaStyle),\n silent: true\n }));\n }, this);\n zrUtil.each(splitLines, function (splitLines, idx) {\n this.group.add(graphic.mergePath(splitLines, {\n style: zrUtil.defaults({\n fill: 'none',\n stroke: splitLineColors[idx % splitLineColors.length]\n }, lineStyle),\n silent: true\n }));\n }, this);\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1024 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(259);\n\n__webpack_require__(980);\n\n/***/ }),\n/* 1025 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar preprocessor = __webpack_require__(1031);\n\n__webpack_require__(1033);\n\n__webpack_require__(1032);\n\n__webpack_require__(1026);\n\n__webpack_require__(1027);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 1026 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar TimelineModel = __webpack_require__(1029);\n\nvar dataFormatMixin = __webpack_require__(261);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1027 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar BoundingRect = __webpack_require__(18);\n\nvar matrix = __webpack_require__(32);\n\nvar graphic = __webpack_require__(6);\n\nvar layout = __webpack_require__(14);\n\nvar TimelineView = __webpack_require__(1030);\n\nvar TimelineAxis = __webpack_require__(1028);\n\nvar _symbol = __webpack_require__(45);\n\nvar createSymbol = _symbol.createSymbol;\n\nvar axisHelper = __webpack_require__(53);\n\nvar numberUtil = __webpack_require__(7);\n\nvar _format = __webpack_require__(17);\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar PI = Math.PI;\n\nvar _default = TimelineView.extend({\n type: 'timeline.slider',\n init: function (ecModel, api) {\n this.api = api;\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n this._axis;\n /**\n * @private\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._viewRect;\n /**\n * @type {number}\n */\n\n this._timer;\n /**\n * @type {module:zrender/Element}\n */\n\n this._currentPointer;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._mainGroup;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._labelGroup;\n },\n\n /**\n * @override\n */\n render: function (timelineModel, ecModel, api, payload) {\n this.model = timelineModel;\n this.api = api;\n this.ecModel = ecModel;\n this.group.removeAll();\n\n if (timelineModel.get('show', true)) {\n var layoutInfo = this._layout(timelineModel, api);\n\n var mainGroup = this._createGroup('mainGroup');\n\n var labelGroup = this._createGroup('labelGroup');\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n\n var axis = this._axis = this._createAxis(layoutInfo, timelineModel);\n\n timelineModel.formatTooltip = function (dataIndex) {\n return encodeHTML(axis.scale.getLabel(dataIndex));\n };\n\n each(['AxisLine', 'AxisTick', 'Control', 'CurrentPointer'], function (name) {\n this['_render' + name](layoutInfo, mainGroup, axis, timelineModel);\n }, this);\n\n this._renderAxisLabel(layoutInfo, labelGroup, axis, timelineModel);\n\n this._position(layoutInfo, timelineModel);\n }\n\n this._doPlayStop();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearTimer();\n\n this.group.removeAll();\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearTimer();\n },\n _layout: function (timelineModel, api) {\n var labelPosOpt = timelineModel.get('label.position');\n var orient = timelineModel.get('orient');\n var viewRect = getViewRect(timelineModel, api); // Auto label offset.\n\n if (labelPosOpt == null || labelPosOpt === 'auto') {\n labelPosOpt = orient === 'horizontal' ? viewRect.y + viewRect.height / 2 < api.getHeight() / 2 ? '-' : '+' : viewRect.x + viewRect.width / 2 < api.getWidth() / 2 ? '+' : '-';\n } else if (isNaN(labelPosOpt)) {\n labelPosOpt = {\n horizontal: {\n top: '-',\n bottom: '+'\n },\n vertical: {\n left: '-',\n right: '+'\n }\n }[orient][labelPosOpt];\n }\n\n var labelAlignMap = {\n horizontal: 'center',\n vertical: labelPosOpt >= 0 || labelPosOpt === '+' ? 'left' : 'right'\n };\n var labelBaselineMap = {\n horizontal: labelPosOpt >= 0 || labelPosOpt === '+' ? 'top' : 'bottom',\n vertical: 'middle'\n };\n var rotationMap = {\n horizontal: 0,\n vertical: PI / 2\n }; // Position\n\n var mainLength = orient === 'vertical' ? viewRect.height : viewRect.width;\n var controlModel = timelineModel.getModel('controlStyle');\n var showControl = controlModel.get('show', true);\n var controlSize = showControl ? controlModel.get('itemSize') : 0;\n var controlGap = showControl ? controlModel.get('itemGap') : 0;\n var sizePlusGap = controlSize + controlGap; // Special label rotate.\n\n var labelRotation = timelineModel.get('label.rotate') || 0;\n labelRotation = labelRotation * PI / 180; // To radian.\n\n var playPosition;\n var prevBtnPosition;\n var nextBtnPosition;\n var axisExtent;\n var controlPosition = controlModel.get('position', true);\n var showPlayBtn = showControl && controlModel.get('showPlayBtn', true);\n var showPrevBtn = showControl && controlModel.get('showPrevBtn', true);\n var showNextBtn = showControl && controlModel.get('showNextBtn', true);\n var xLeft = 0;\n var xRight = mainLength; // position[0] means left, position[1] means middle.\n\n if (controlPosition === 'left' || controlPosition === 'bottom') {\n showPlayBtn && (playPosition = [0, 0], xLeft += sizePlusGap);\n showPrevBtn && (prevBtnPosition = [xLeft, 0], xLeft += sizePlusGap);\n showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n } else {\n // 'top' 'right'\n showPlayBtn && (playPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n showPrevBtn && (prevBtnPosition = [0, 0], xLeft += sizePlusGap);\n showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n }\n\n axisExtent = [xLeft, xRight];\n\n if (timelineModel.get('inverse')) {\n axisExtent.reverse();\n }\n\n return {\n viewRect: viewRect,\n mainLength: mainLength,\n orient: orient,\n rotation: rotationMap[orient],\n labelRotation: labelRotation,\n labelPosOpt: labelPosOpt,\n labelAlign: timelineModel.get('label.align') || labelAlignMap[orient],\n labelBaseline: timelineModel.get('label.verticalAlign') || timelineModel.get('label.baseline') || labelBaselineMap[orient],\n // Based on mainGroup.\n playPosition: playPosition,\n prevBtnPosition: prevBtnPosition,\n nextBtnPosition: nextBtnPosition,\n axisExtent: axisExtent,\n controlSize: controlSize,\n controlGap: controlGap\n };\n },\n _position: function (layoutInfo, timelineModel) {\n // Position is be called finally, because bounding rect is needed for\n // adapt content to fill viewRect (auto adapt offset).\n // Timeline may be not all in the viewRect when 'offset' is specified\n // as a number, because it is more appropriate that label aligns at\n // 'offset' but not the other edge defined by viewRect.\n var mainGroup = this._mainGroup;\n var labelGroup = this._labelGroup;\n var viewRect = layoutInfo.viewRect;\n\n if (layoutInfo.orient === 'vertical') {\n // transform to horizontal, inverse rotate by left-top point.\n var m = matrix.create();\n var rotateOriginX = viewRect.x;\n var rotateOriginY = viewRect.y + viewRect.height;\n matrix.translate(m, m, [-rotateOriginX, -rotateOriginY]);\n matrix.rotate(m, m, -PI / 2);\n matrix.translate(m, m, [rotateOriginX, rotateOriginY]);\n viewRect = viewRect.clone();\n viewRect.applyTransform(m);\n }\n\n var viewBound = getBound(viewRect);\n var mainBound = getBound(mainGroup.getBoundingRect());\n var labelBound = getBound(labelGroup.getBoundingRect());\n var mainPosition = mainGroup.position;\n var labelsPosition = labelGroup.position;\n labelsPosition[0] = mainPosition[0] = viewBound[0][0];\n var labelPosOpt = layoutInfo.labelPosOpt;\n\n if (isNaN(labelPosOpt)) {\n // '+' or '-'\n var mainBoundIdx = labelPosOpt === '+' ? 0 : 1;\n toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n toBound(labelsPosition, labelBound, viewBound, 1, 1 - mainBoundIdx);\n } else {\n var mainBoundIdx = labelPosOpt >= 0 ? 0 : 1;\n toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n labelsPosition[1] = mainPosition[1] + labelPosOpt;\n }\n\n mainGroup.attr('position', mainPosition);\n labelGroup.attr('position', labelsPosition);\n mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;\n setOrigin(mainGroup);\n setOrigin(labelGroup);\n\n function setOrigin(targetGroup) {\n var pos = targetGroup.position;\n targetGroup.origin = [viewBound[0][0] - pos[0], viewBound[1][0] - pos[1]];\n }\n\n function getBound(rect) {\n // [[xmin, xmax], [ymin, ymax]]\n return [[rect.x, rect.x + rect.width], [rect.y, rect.y + rect.height]];\n }\n\n function toBound(fromPos, from, to, dimIdx, boundIdx) {\n fromPos[dimIdx] += to[dimIdx][boundIdx] - from[dimIdx][boundIdx];\n }\n },\n _createAxis: function (layoutInfo, timelineModel) {\n var data = timelineModel.getData();\n var axisType = timelineModel.get('axisType');\n var scale = axisHelper.createScaleByModel(timelineModel, axisType); // Customize scale. The `tickValue` is `dataIndex`.\n\n scale.getTicks = function () {\n return data.mapArray(['value'], function (value) {\n return value;\n });\n };\n\n var dataExtent = data.getDataExtent('value');\n scale.setExtent(dataExtent[0], dataExtent[1]);\n scale.niceTicks();\n var axis = new TimelineAxis('value', scale, layoutInfo.axisExtent, axisType);\n axis.model = timelineModel;\n return axis;\n },\n _createGroup: function (name) {\n var newGroup = this['_' + name] = new graphic.Group();\n this.group.add(newGroup);\n return newGroup;\n },\n _renderAxisLine: function (layoutInfo, group, axis, timelineModel) {\n var axisExtent = axis.getExtent();\n\n if (!timelineModel.get('lineStyle.show')) {\n return;\n }\n\n group.add(new graphic.Line({\n shape: {\n x1: axisExtent[0],\n y1: 0,\n x2: axisExtent[1],\n y2: 0\n },\n style: zrUtil.extend({\n lineCap: 'round'\n }, timelineModel.getModel('lineStyle').getLineStyle()),\n silent: true,\n z2: 1\n }));\n },\n\n /**\n * @private\n */\n _renderAxisTick: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData(); // Show all ticks, despite ignoring strategy.\n\n var ticks = axis.scale.getTicks(); // The value is dataIndex, see the costomized scale.\n\n each(ticks, function (value) {\n var tickCoord = axis.dataToCoord(value);\n var itemModel = data.getItemModel(value);\n var itemStyleModel = itemModel.getModel('itemStyle');\n var hoverStyleModel = itemModel.getModel('emphasis.itemStyle');\n var symbolOpt = {\n position: [tickCoord, 0],\n onclick: bind(this._changeTimeline, this, value)\n };\n var el = giveSymbol(itemModel, itemStyleModel, group, symbolOpt);\n graphic.setHoverStyle(el, hoverStyleModel.getItemStyle());\n\n if (itemModel.get('tooltip')) {\n el.dataIndex = value;\n el.dataModel = timelineModel;\n } else {\n el.dataIndex = el.dataModel = null;\n }\n }, this);\n },\n\n /**\n * @private\n */\n _renderAxisLabel: function (layoutInfo, group, axis, timelineModel) {\n var labelModel = axis.getLabelModel();\n\n if (!labelModel.get('show')) {\n return;\n }\n\n var data = timelineModel.getData();\n var labels = axis.getViewLabels();\n each(labels, function (labelItem) {\n // The tickValue is dataIndex, see the costomized scale.\n var dataIndex = labelItem.tickValue;\n var itemModel = data.getItemModel(dataIndex);\n var normalLabelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n var tickCoord = axis.dataToCoord(labelItem.tickValue);\n var textEl = new graphic.Text({\n position: [tickCoord, 0],\n rotation: layoutInfo.labelRotation - layoutInfo.rotation,\n onclick: bind(this._changeTimeline, this, dataIndex),\n silent: false\n });\n graphic.setTextStyle(textEl.style, normalLabelModel, {\n text: labelItem.formattedLabel,\n textAlign: layoutInfo.labelAlign,\n textVerticalAlign: layoutInfo.labelBaseline\n });\n group.add(textEl);\n graphic.setHoverStyle(textEl, graphic.setTextStyle({}, hoverLabelModel));\n }, this);\n },\n\n /**\n * @private\n */\n _renderControl: function (layoutInfo, group, axis, timelineModel) {\n var controlSize = layoutInfo.controlSize;\n var rotation = layoutInfo.rotation;\n var itemStyle = timelineModel.getModel('controlStyle').getItemStyle();\n var hoverStyle = timelineModel.getModel('emphasis.controlStyle').getItemStyle();\n var rect = [0, -controlSize / 2, controlSize, controlSize];\n var playState = timelineModel.getPlayState();\n var inverse = timelineModel.get('inverse', true);\n makeBtn(layoutInfo.nextBtnPosition, 'controlStyle.nextIcon', bind(this._changeTimeline, this, inverse ? '-' : '+'));\n makeBtn(layoutInfo.prevBtnPosition, 'controlStyle.prevIcon', bind(this._changeTimeline, this, inverse ? '+' : '-'));\n makeBtn(layoutInfo.playPosition, 'controlStyle.' + (playState ? 'stopIcon' : 'playIcon'), bind(this._handlePlayClick, this, !playState), true);\n\n function makeBtn(position, iconPath, onclick, willRotate) {\n if (!position) {\n return;\n }\n\n var opt = {\n position: position,\n origin: [controlSize / 2, 0],\n rotation: willRotate ? -rotation : 0,\n rectHover: true,\n style: itemStyle,\n onclick: onclick\n };\n var btn = makeIcon(timelineModel, iconPath, rect, opt);\n group.add(btn);\n graphic.setHoverStyle(btn, hoverStyle);\n }\n },\n _renderCurrentPointer: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData();\n var currentIndex = timelineModel.getCurrentIndex();\n var pointerModel = data.getItemModel(currentIndex).getModel('checkpointStyle');\n var me = this;\n var callback = {\n onCreate: function (pointer) {\n pointer.draggable = true;\n pointer.drift = bind(me._handlePointerDrag, me);\n pointer.ondragend = bind(me._handlePointerDragend, me);\n pointerMoveTo(pointer, currentIndex, axis, timelineModel, true);\n },\n onUpdate: function (pointer) {\n pointerMoveTo(pointer, currentIndex, axis, timelineModel);\n }\n }; // Reuse when exists, for animation and drag.\n\n this._currentPointer = giveSymbol(pointerModel, pointerModel, this._mainGroup, {}, this._currentPointer, callback);\n },\n _handlePlayClick: function (nextState) {\n this._clearTimer();\n\n this.api.dispatchAction({\n type: 'timelinePlayChange',\n playState: nextState,\n from: this.uid\n });\n },\n _handlePointerDrag: function (dx, dy, e) {\n this._clearTimer();\n\n this._pointerChangeTimeline([e.offsetX, e.offsetY]);\n },\n _handlePointerDragend: function (e) {\n this._pointerChangeTimeline([e.offsetX, e.offsetY], true);\n },\n _pointerChangeTimeline: function (mousePos, trigger) {\n var toCoord = this._toAxisCoord(mousePos)[0];\n\n var axis = this._axis;\n var axisExtent = numberUtil.asc(axis.getExtent().slice());\n toCoord > axisExtent[1] && (toCoord = axisExtent[1]);\n toCoord < axisExtent[0] && (toCoord = axisExtent[0]);\n this._currentPointer.position[0] = toCoord;\n\n this._currentPointer.dirty();\n\n var targetDataIndex = this._findNearestTick(toCoord);\n\n var timelineModel = this.model;\n\n if (trigger || targetDataIndex !== timelineModel.getCurrentIndex() && timelineModel.get('realtime')) {\n this._changeTimeline(targetDataIndex);\n }\n },\n _doPlayStop: function () {\n this._clearTimer();\n\n if (this.model.getPlayState()) {\n this._timer = setTimeout(bind(handleFrame, this), this.model.get('playInterval'));\n }\n\n function handleFrame() {\n // Do not cache\n var timelineModel = this.model;\n\n this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get('rewind', true) ? -1 : 1));\n }\n },\n _toAxisCoord: function (vertex) {\n var trans = this._mainGroup.getLocalTransform();\n\n return graphic.applyTransform(vertex, trans, true);\n },\n _findNearestTick: function (axisCoord) {\n var data = this.model.getData();\n var dist = Infinity;\n var targetDataIndex;\n var axis = this._axis;\n data.each(['value'], function (value, dataIndex) {\n var coord = axis.dataToCoord(value);\n var d = Math.abs(coord - axisCoord);\n\n if (d < dist) {\n dist = d;\n targetDataIndex = dataIndex;\n }\n });\n return targetDataIndex;\n },\n _clearTimer: function () {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n },\n _changeTimeline: function (nextIndex) {\n var currentIndex = this.model.getCurrentIndex();\n\n if (nextIndex === '+') {\n nextIndex = currentIndex + 1;\n } else if (nextIndex === '-') {\n nextIndex = currentIndex - 1;\n }\n\n this.api.dispatchAction({\n type: 'timelineChange',\n currentIndex: nextIndex,\n from: this.uid\n });\n }\n});\n\nfunction getViewRect(model, api) {\n return layout.getLayoutRect(model.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n }, model.get('padding'));\n}\n\nfunction makeIcon(timelineModel, objPath, rect, opts) {\n var icon = graphic.makePath(timelineModel.get(objPath).replace(/^path:\\/\\//, ''), zrUtil.clone(opts || {}), new BoundingRect(rect[0], rect[1], rect[2], rect[3]), 'center');\n return icon;\n}\n/**\n * Create symbol or update symbol\n * opt: basic position and event handlers\n */\n\n\nfunction giveSymbol(hostModel, itemStyleModel, group, opt, symbol, callback) {\n var color = itemStyleModel.get('color');\n\n if (!symbol) {\n var symbolType = hostModel.get('symbol');\n symbol = createSymbol(symbolType, -1, -1, 2, 2, color);\n symbol.setStyle('strokeNoScale', true);\n group.add(symbol);\n callback && callback.onCreate(symbol);\n } else {\n symbol.setColor(color);\n group.add(symbol); // Group may be new, also need to add.\n\n callback && callback.onUpdate(symbol);\n } // Style\n\n\n var itemStyle = itemStyleModel.getItemStyle(['color', 'symbol', 'symbolSize']);\n symbol.setStyle(itemStyle); // Transform and events.\n\n opt = zrUtil.merge({\n rectHover: true,\n z2: 100\n }, opt, true);\n var symbolSize = hostModel.get('symbolSize');\n symbolSize = symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n symbolSize[0] /= 2;\n symbolSize[1] /= 2;\n opt.scale = symbolSize;\n var symbolOffset = hostModel.get('symbolOffset');\n\n if (symbolOffset) {\n var pos = opt.position = opt.position || [0, 0];\n pos[0] += numberUtil.parsePercent(symbolOffset[0], symbolSize[0]);\n pos[1] += numberUtil.parsePercent(symbolOffset[1], symbolSize[1]);\n }\n\n var symbolRotate = hostModel.get('symbolRotate');\n opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n symbol.attr(opt); // FIXME\n // (1) When symbol.style.strokeNoScale is true and updateTransform is not performed,\n // getBoundingRect will return wrong result.\n // (This is supposed to be resolved in zrender, but it is a little difficult to\n // leverage performance and auto updateTransform)\n // (2) All of ancesters of symbol do not scale, so we can just updateTransform symbol.\n\n symbol.updateTransform();\n return symbol;\n}\n\nfunction pointerMoveTo(pointer, dataIndex, axis, timelineModel, noAnimation) {\n if (pointer.dragging) {\n return;\n }\n\n var pointerModel = timelineModel.getModel('checkpointStyle');\n var toCoord = axis.dataToCoord(timelineModel.getData().get(['value'], dataIndex));\n\n if (noAnimation || !pointerModel.get('animation', true)) {\n pointer.attr({\n position: [toCoord, 0]\n });\n } else {\n pointer.stopAnimation(true);\n pointer.animateTo({\n position: [toCoord, 0]\n }, pointerModel.get('animationDuration', true), pointerModel.get('animationEasing', true));\n }\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1028 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Axis = __webpack_require__(79);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 1029 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar List = __webpack_require__(44);\n\nvar modelUtil = __webpack_require__(8);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1030 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(180);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1031 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\nfunction _default(option) {\n var timelineOpt = option && option.timeline;\n\n if (!zrUtil.isArray(timelineOpt)) {\n timelineOpt = timelineOpt ? [timelineOpt] : [];\n }\n\n zrUtil.each(timelineOpt, function (opt) {\n if (!opt) {\n return;\n }\n\n compatibleEC2(opt);\n });\n}\n\nfunction compatibleEC2(opt) {\n var type = opt.type;\n var ec2Types = {\n 'number': 'value',\n 'time': 'time'\n }; // Compatible with ec2\n\n if (ec2Types[type]) {\n opt.axisType = ec2Types[type];\n delete opt.type;\n }\n\n transferItem(opt);\n\n if (has(opt, 'controlPosition')) {\n var controlStyle = opt.controlStyle || (opt.controlStyle = {});\n\n if (!has(controlStyle, 'position')) {\n controlStyle.position = opt.controlPosition;\n }\n\n if (controlStyle.position === 'none' && !has(controlStyle, 'show')) {\n controlStyle.show = false;\n delete controlStyle.position;\n }\n\n delete opt.controlPosition;\n }\n\n zrUtil.each(opt.data || [], function (dataItem) {\n if (zrUtil.isObject(dataItem) && !zrUtil.isArray(dataItem)) {\n if (!has(dataItem, 'value') && has(dataItem, 'name')) {\n // In ec2, using name as value.\n dataItem.value = dataItem.name;\n }\n\n transferItem(dataItem);\n }\n });\n}\n\nfunction transferItem(opt) {\n var itemStyle = opt.itemStyle || (opt.itemStyle = {});\n var itemStyleEmphasis = itemStyle.emphasis || (itemStyle.emphasis = {}); // Transfer label out\n\n var label = opt.label || opt.label || {};\n var labelNormal = label.normal || (label.normal = {});\n var excludeLabelAttr = {\n normal: 1,\n emphasis: 1\n };\n zrUtil.each(label, function (value, name) {\n if (!excludeLabelAttr[name] && !has(labelNormal, name)) {\n labelNormal[name] = value;\n }\n });\n\n if (itemStyleEmphasis.label && !has(label, 'emphasis')) {\n label.emphasis = itemStyleEmphasis.label;\n delete itemStyleEmphasis.label;\n }\n}\n\nfunction has(obj, attr) {\n return obj.hasOwnProperty(attr);\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1032 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(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*/\necharts.registerAction({\n type: 'timelineChange',\n event: 'timelineChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel && payload.currentIndex != null) {\n timelineModel.setCurrentIndex(payload.currentIndex);\n\n if (!timelineModel.get('loop', true) && timelineModel.isIndexMax()) {\n timelineModel.setPlayState(false);\n }\n } // Set normalized currentIndex to payload.\n\n\n ecModel.resetOption('timeline');\n return zrUtil.defaults({\n currentIndex: timelineModel.option.currentIndex\n }, payload);\n});\necharts.registerAction({\n type: 'timelinePlayChange',\n event: 'timelinePlayChanged',\n update: 'update'\n}, function (payload, ecModel) {\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel && payload.playState != null) {\n timelineModel.setPlayState(payload.playState);\n }\n});\n\n/***/ }),\n/* 1033 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(28);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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});\n\n/***/ }),\n/* 1034 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar echarts = __webpack_require__(2);\n\nvar graphic = __webpack_require__(6);\n\nvar _layout = __webpack_require__(14);\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// Model\necharts.extendComponentModel({\n type: 'title',\n layoutMode: {\n type: 'box',\n ignoreSize: true\n },\n defaultOption: {\n // 一级层叠\n zlevel: 0,\n // 二级层叠\n z: 6,\n show: true,\n text: '',\n // 超链接跳转\n // link: null,\n // 仅支持self | blank\n target: 'blank',\n subtext: '',\n // 超链接跳转\n // sublink: null,\n // 仅支持self | blank\n subtarget: 'blank',\n // 'center' ¦ 'left' ¦ 'right'\n // ¦ {number}(x坐标,单位px)\n left: 0,\n // 'top' ¦ 'bottom' ¦ 'center'\n // ¦ {number}(y坐标,单位px)\n top: 0,\n // 水平对齐\n // 'auto' | 'left' | 'right' | 'center'\n // 默认根据 left 的位置判断是左对齐还是右对齐\n // textAlign: null\n //\n // 垂直对齐\n // 'auto' | 'top' | 'bottom' | 'middle'\n // 默认根据 top 位置判断是上对齐还是下对齐\n // textVerticalAlign: null\n // textBaseline: null // The same as textVerticalAlign.\n backgroundColor: 'rgba(0,0,0,0)',\n // 标题边框颜色\n borderColor: '#ccc',\n // 标题边框线宽,单位px,默认为0(无边框)\n borderWidth: 0,\n // 标题内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n padding: 5,\n // 主副标题纵向间隔,单位px,默认为10,\n itemGap: 10,\n textStyle: {\n fontSize: 18,\n fontWeight: 'bolder',\n color: '#333'\n },\n subtextStyle: {\n color: '#aaa'\n }\n }\n}); // View\n\necharts.extendComponentView({\n type: 'title',\n render: function (titleModel, ecModel, api) {\n this.group.removeAll();\n\n if (!titleModel.get('show')) {\n return;\n }\n\n var group = this.group;\n var textStyleModel = titleModel.getModel('textStyle');\n var subtextStyleModel = titleModel.getModel('subtextStyle');\n var textAlign = titleModel.get('textAlign');\n var textVerticalAlign = zrUtil.retrieve2(titleModel.get('textBaseline'), titleModel.get('textVerticalAlign'));\n var textEl = new graphic.Text({\n style: graphic.setTextStyle({}, textStyleModel, {\n text: titleModel.get('text'),\n textFill: textStyleModel.getTextColor()\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var textRect = textEl.getBoundingRect();\n var subText = titleModel.get('subtext');\n var subTextEl = new graphic.Text({\n style: graphic.setTextStyle({}, subtextStyleModel, {\n text: subText,\n textFill: subtextStyleModel.getTextColor(),\n y: textRect.height + titleModel.get('itemGap'),\n textVerticalAlign: 'top'\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var link = titleModel.get('link');\n var sublink = titleModel.get('sublink');\n var triggerEvent = titleModel.get('triggerEvent', true);\n textEl.silent = !link && !triggerEvent;\n subTextEl.silent = !sublink && !triggerEvent;\n\n if (link) {\n textEl.on('click', function () {\n window.open(link, '_' + titleModel.get('target'));\n });\n }\n\n if (sublink) {\n subTextEl.on('click', function () {\n window.open(sublink, '_' + titleModel.get('subtarget'));\n });\n }\n\n textEl.eventData = subTextEl.eventData = triggerEvent ? {\n componentType: 'title',\n componentIndex: titleModel.componentIndex\n } : null;\n group.add(textEl);\n subText && group.add(subTextEl); // If no subText, but add subTextEl, there will be an empty line.\n\n var groupRect = group.getBoundingRect();\n var layoutOption = titleModel.getBoxLayoutParams();\n layoutOption.width = groupRect.width;\n layoutOption.height = groupRect.height;\n var layoutRect = getLayoutRect(layoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n }, titleModel.get('padding')); // Adjust text align based on position\n\n if (!textAlign) {\n // Align left if title is on the left. center and right is same\n textAlign = titleModel.get('left') || titleModel.get('right');\n\n if (textAlign === 'middle') {\n textAlign = 'center';\n } // Adjust layout by text align\n\n\n if (textAlign === 'right') {\n layoutRect.x += layoutRect.width;\n } else if (textAlign === 'center') {\n layoutRect.x += layoutRect.width / 2;\n }\n }\n\n if (!textVerticalAlign) {\n textVerticalAlign = titleModel.get('top') || titleModel.get('bottom');\n\n if (textVerticalAlign === 'center') {\n textVerticalAlign = 'middle';\n }\n\n if (textVerticalAlign === 'bottom') {\n layoutRect.y += layoutRect.height;\n } else if (textVerticalAlign === 'middle') {\n layoutRect.y += layoutRect.height / 2;\n }\n\n textVerticalAlign = textVerticalAlign || 'top';\n }\n\n group.attr('position', [layoutRect.x, layoutRect.y]);\n var alignStyle = {\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n textEl.setStyle(alignStyle);\n subTextEl.setStyle(alignStyle); // Render background\n // Get groupRect again because textAlign has been changed\n\n groupRect = group.getBoundingRect();\n var padding = layoutRect.margin;\n var style = titleModel.getItemStyle(['color', 'opacity']);\n style.fill = titleModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: groupRect.x - padding[3],\n y: groupRect.y - padding[0],\n width: groupRect.width + padding[1] + padding[3],\n height: groupRect.height + padding[0] + padding[2],\n r: titleModel.get('borderRadius')\n },\n style: style,\n subPixelOptimize: true,\n silent: true\n });\n group.add(rect);\n }\n});\n\n/***/ }),\n/* 1035 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(1036);\n\n__webpack_require__(1037);\n\n__webpack_require__(1043);\n\n__webpack_require__(1041);\n\n__webpack_require__(1039);\n\n__webpack_require__(1040);\n\n__webpack_require__(1042);\n\n/***/ }),\n/* 1036 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar featureManager = __webpack_require__(78);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1037 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar textContain = __webpack_require__(46);\n\nvar featureManager = __webpack_require__(78);\n\nvar graphic = __webpack_require__(6);\n\nvar Model = __webpack_require__(26);\n\nvar DataDiffer = __webpack_require__(99);\n\nvar listComponentHelper = __webpack_require__(386);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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) {\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;\n\n/***/ }),\n/* 1038 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar featureManager = __webpack_require__(78);\n\nvar lang = __webpack_require__(80);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 brushLang = lang.toolbox.brush;\n\nfunction Brush(model, ecModel, api) {\n this.model = model;\n this.ecModel = ecModel;\n this.api = api;\n /**\n * @private\n * @type {string}\n */\n\n this._brushType;\n /**\n * @private\n * @type {string}\n */\n\n this._brushMode;\n}\n\nBrush.defaultOption = {\n show: true,\n type: ['rect', 'polygon', 'lineX', 'lineY', 'keep', 'clear'],\n icon: {\n /* eslint-disable */\n rect: 'M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13',\n // jshint ignore:line\n polygon: 'M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2',\n // jshint ignore:line\n lineX: 'M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4',\n // jshint ignore:line\n lineY: 'M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4',\n // jshint ignore:line\n keep: 'M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z',\n // jshint ignore:line\n clear: 'M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2' // jshint ignore:line\n\n /* eslint-enable */\n\n },\n // `rect`, `polygon`, `lineX`, `lineY`, `keep`, `clear`\n title: zrUtil.clone(brushLang.title)\n};\nvar proto = Brush.prototype; // proto.updateLayout = function (featureModel, ecModel, api) {\n\n/* eslint-disable */\n\nproto.render =\n/* eslint-enable */\nproto.updateView = function (featureModel, ecModel, api) {\n var brushType;\n var brushMode;\n var isBrushed;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n brushType = brushModel.brushType;\n brushMode = brushModel.brushOption.brushMode || 'single';\n isBrushed |= brushModel.areas.length;\n });\n this._brushType = brushType;\n this._brushMode = brushMode;\n zrUtil.each(featureModel.get('type', true), function (type) {\n featureModel.setIconStatus(type, (type === 'keep' ? brushMode === 'multiple' : type === 'clear' ? isBrushed : type === brushType) ? 'emphasis' : 'normal');\n });\n};\n\nproto.getIcons = function () {\n var model = this.model;\n var availableIcons = model.get('icon', true);\n var icons = {};\n zrUtil.each(model.get('type', true), function (type) {\n if (availableIcons[type]) {\n icons[type] = availableIcons[type];\n }\n });\n return icons;\n};\n\nproto.onclick = function (ecModel, api, type) {\n var brushType = this._brushType;\n var brushMode = this._brushMode;\n\n if (type === 'clear') {\n // Trigger parallel action firstly\n api.dispatchAction({\n type: 'axisAreaSelect',\n intervals: []\n });\n api.dispatchAction({\n type: 'brush',\n command: 'clear',\n // Clear all areas of all brush components.\n areas: []\n });\n } else {\n api.dispatchAction({\n type: 'takeGlobalCursor',\n key: 'brush',\n brushOption: {\n brushType: type === 'keep' ? brushType : brushType === type ? false : type,\n brushMode: type === 'keep' ? brushMode === 'multiple' ? 'single' : 'multiple' : brushMode\n }\n });\n }\n};\n\nfeatureManager.register('brush', Brush);\nvar _default = Brush;\nmodule.exports = _default;\n\n/***/ }),\n/* 1039 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar eventTool = __webpack_require__(62);\n\nvar lang = __webpack_require__(80);\n\nvar featureManager = __webpack_require__(78);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 columns.push(series.getRawData().mapArray(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 var items = trim(lines[i]).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 if (zrUtil.isObject(newVal) && !zrUtil.isArray(newVal)) {\n newVal = newVal.value;\n } // Original data has option\n\n\n return zrUtil.defaults({\n value: newVal\n }, original);\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;\n\n/***/ }),\n/* 1040 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar BrushController = __webpack_require__(249);\n\nvar BrushTargetManager = __webpack_require__(382);\n\nvar history = __webpack_require__(380);\n\nvar sliderMove = __webpack_require__(119);\n\nvar lang = __webpack_require__(80);\n\nvar featureManager = __webpack_require__(78);\n\n__webpack_require__(992);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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};\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: {\n // FIXME user customized?\n lineWidth: 0,\n fill: 'rgba(0,0,0,0.2)'\n }\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;\n\n/***/ }),\n/* 1041 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar lang = __webpack_require__(80);\n\nvar featureManager = __webpack_require__(78);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 });\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;\n\n/***/ }),\n/* 1042 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar history = __webpack_require__(380);\n\nvar lang = __webpack_require__(80);\n\nvar featureManager = __webpack_require__(78);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1043 */\n/***/ (function(module, exports, __webpack_require__) {\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 env = __webpack_require__(23);\n\nvar lang = __webpack_require__(80);\n\nvar featureManager = __webpack_require__(78);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 Uint8Array */\nvar saveAsImageLang = lang.toolbox.saveAsImage;\n\nfunction SaveAsImage(model) {\n this.model = model;\n}\n\nSaveAsImage.defaultOption = {\n show: true,\n icon: 'M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0',\n title: saveAsImageLang.title,\n type: 'png',\n // Default use option.backgroundColor\n // backgroundColor: '#fff',\n connectedBackgroundColor: '#fff',\n name: '',\n excludeComponents: ['toolbox'],\n pixelRatio: 1,\n lang: saveAsImageLang.lang.slice()\n};\nSaveAsImage.prototype.unusable = !env.canvasSupported;\nvar proto = SaveAsImage.prototype;\n\nproto.onclick = function (ecModel, api) {\n var model = this.model;\n var title = model.get('name') || ecModel.get('title.0.text') || 'echarts';\n var type = model.get('type', true) || 'png';\n var url = api.getConnectedDataURL({\n type: type,\n backgroundColor: model.get('backgroundColor', true) || ecModel.get('backgroundColor') || '#fff',\n connectedBackgroundColor: model.get('connectedBackgroundColor'),\n excludeComponents: model.get('excludeComponents'),\n pixelRatio: model.get('pixelRatio')\n }); // Chrome and Firefox\n\n if (typeof MouseEvent === 'function' && !env.browser.ie && !env.browser.edge) {\n var $a = document.createElement('a');\n $a.download = title + '.' + type;\n $a.target = '_blank';\n $a.href = url;\n var evt = new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: false\n });\n $a.dispatchEvent(evt);\n } // IE\n else {\n if (window.navigator.msSaveOrOpenBlob) {\n var bstr = atob(url.split(',')[1]);\n var n = bstr.length;\n var u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n var blob = new Blob([u8arr]);\n window.navigator.msSaveOrOpenBlob(blob, title + '.' + type);\n } else {\n var lang = model.get('lang');\n var html = '' + '' + '' + '';\n var tab = window.open();\n tab.document.write(html);\n }\n }\n};\n\nfeatureManager.register('saveAsImage', SaveAsImage);\nvar _default = SaveAsImage;\nmodule.exports = _default;\n\n/***/ }),\n/* 1044 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(140);\n\n__webpack_require__(1046);\n\n__webpack_require__(1048);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 1045 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar zrColor = __webpack_require__(63);\n\nvar eventUtil = __webpack_require__(62);\n\nvar domUtil = __webpack_require__(440);\n\nvar env = __webpack_require__(23);\n\nvar formatUtil = __webpack_require__(17);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 fontSize && cssText.push('line-height:' + Math.round(fontSize * 3 / 2) + 'px');\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/**\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];\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 () {\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 } // Hide the tooltip\n // PENDING\n // this.hide();\n\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 occsionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cuase some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not suppored 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 mutiple 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;\n\n/***/ }),\n/* 1046 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1047 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Text = __webpack_require__(105);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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';\n\n/**\n * @alias module:echarts/component/tooltip/TooltipRichContent\n * @constructor\n */\nfunction TooltipRichContent(api) {\n this._zr = api.getZr();\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 () {// noop\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 this.el = new Text({\n style: {\n rich: markers,\n text: content,\n textLineHeight: 20,\n textBackgroundColor: tooltipModel.get('backgroundColor'),\n textBorderRadius: tooltipModel.get('borderRadius'),\n textFill: tooltipModel.get('textStyle.color'),\n textPadding: tooltipModel.get('padding')\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 this.el.attr('position', [x, y]);\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 mutiple 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 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/***/ }),\n/* 1048 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar env = __webpack_require__(23);\n\nvar TooltipContent = __webpack_require__(1045);\n\nvar TooltipRichContent = __webpack_require__(1047);\n\nvar formatUtil = __webpack_require__(17);\n\nvar numberUtil = __webpack_require__(7);\n\nvar graphic = __webpack_require__(6);\n\nvar findPointFromSeries = __webpack_require__(374);\n\nvar layoutUtil = __webpack_require__(14);\n\nvar Model = __webpack_require__(26);\n\nvar globalListener = __webpack_require__(375);\n\nvar axisHelper = __webpack_require__(53);\n\nvar axisPointerViewHelper = __webpack_require__(173);\n\nvar _model = __webpack_require__(8);\n\nvar getTooltipRenderMode = _model.getTooltipRenderMode;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 each = zrUtil.each;\nvar parsePercent = numberUtil.parsePercent;\nvar proxyRect = new graphic.Rect({\n shape: {\n x: -1,\n y: -1,\n width: 2,\n height: 2\n }\n});\n\nvar _default = echarts.extendComponentView({\n type: 'tooltip',\n init: function (ecModel, api) {\n if (env.node) {\n return;\n }\n\n var tooltipModel = ecModel.getComponent('tooltip');\n var renderMode = tooltipModel.get('renderMode');\n this._renderMode = getTooltipRenderMode(renderMode);\n var tooltipContent;\n\n if (this._renderMode === 'html') {\n tooltipContent = new TooltipContent(api.getDom(), api, {\n appendToBody: tooltipModel.get('appendToBody', true)\n });\n this._newLine = '
';\n } else {\n tooltipContent = new TooltipRichContent(api);\n this._newLine = '\\n';\n }\n\n this._tooltipContent = tooltipContent;\n },\n render: function (tooltipModel, ecModel, api) {\n if (env.node) {\n return;\n } // Reset\n\n\n this.group.removeAll();\n /**\n * @private\n * @type {module:echarts/component/tooltip/TooltipModel}\n */\n\n this._tooltipModel = tooltipModel;\n /**\n * @private\n * @type {module:echarts/model/Global}\n */\n\n this._ecModel = ecModel;\n /**\n * @private\n * @type {module:echarts/ExtensionAPI}\n */\n\n this._api = api;\n /**\n * Should be cleaned when render.\n * @private\n * @type {Array.>}\n */\n\n this._lastDataByCoordSys = null;\n /**\n * @private\n * @type {boolean}\n */\n\n this._alwaysShowContent = tooltipModel.get('alwaysShowContent');\n var tooltipContent = this._tooltipContent;\n tooltipContent.update();\n tooltipContent.setEnterable(tooltipModel.get('enterable'));\n\n this._initGlobalListener();\n\n this._keepShow();\n },\n _initGlobalListener: function () {\n var tooltipModel = this._tooltipModel;\n var triggerOn = tooltipModel.get('triggerOn');\n globalListener.register('itemTooltip', this._api, bind(function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none') {\n if (triggerOn.indexOf(currTrigger) >= 0) {\n this._tryShow(e, dispatchAction);\n } else if (currTrigger === 'leave') {\n this._hide(dispatchAction);\n }\n }\n }, this));\n },\n _keepShow: function () {\n var tooltipModel = this._tooltipModel;\n var ecModel = this._ecModel;\n var api = this._api; // Try to keep the tooltip show when refreshing\n\n if (this._lastX != null && this._lastY != null // When user is willing to control tooltip totally using API,\n // self.manuallyShowTip({x, y}) might cause tooltip hide,\n // which is not expected.\n && tooltipModel.get('triggerOn') !== 'none') {\n var self = this;\n clearTimeout(this._refreshUpdateTimeout);\n this._refreshUpdateTimeout = setTimeout(function () {\n // Show tip next tick after other charts are rendered\n // In case highlight action has wrong result\n // FIXME\n !api.isDisposed() && self.manuallyShowTip(tooltipModel, ecModel, api, {\n x: self._lastX,\n y: self._lastY\n });\n });\n }\n },\n\n /**\n * Show tip manually by\n * dispatchAction({\n * type: 'showTip',\n * x: 10,\n * y: 10\n * });\n * Or\n * dispatchAction({\n * type: 'showTip',\n * seriesIndex: 0,\n * dataIndex or dataIndexInside or name\n * });\n *\n * TODO Batch\n */\n manuallyShowTip: function (tooltipModel, ecModel, api, payload) {\n if (payload.from === this.uid || env.node) {\n return;\n }\n\n var dispatchAction = makeDispatchAction(payload, api); // Reset ticket\n\n this._ticket = ''; // When triggered from axisPointer.\n\n var dataByCoordSys = payload.dataByCoordSys;\n\n if (payload.tooltip && payload.x != null && payload.y != null) {\n var el = proxyRect;\n el.position = [payload.x, payload.y];\n el.update();\n el.tooltip = payload.tooltip; // Manually show tooltip while view is not using zrender elements.\n\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n target: el\n }, dispatchAction);\n } else if (dataByCoordSys) {\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n position: payload.position,\n dataByCoordSys: payload.dataByCoordSys,\n tooltipOption: payload.tooltipOption\n }, dispatchAction);\n } else if (payload.seriesIndex != null) {\n if (this._manuallyAxisShowTip(tooltipModel, ecModel, api, payload)) {\n return;\n }\n\n var pointInfo = findPointFromSeries(payload, ecModel);\n var cx = pointInfo.point[0];\n var cy = pointInfo.point[1];\n\n if (cx != null && cy != null) {\n this._tryShow({\n offsetX: cx,\n offsetY: cy,\n position: payload.position,\n target: pointInfo.el\n }, dispatchAction);\n }\n } else if (payload.x != null && payload.y != null) {\n // FIXME\n // should wrap dispatchAction like `axisPointer/globalListener` ?\n api.dispatchAction({\n type: 'updateAxisPointer',\n x: payload.x,\n y: payload.y\n });\n\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n position: payload.position,\n target: api.getZr().findHover(payload.x, payload.y).target\n }, dispatchAction);\n }\n },\n manuallyHideTip: function (tooltipModel, ecModel, api, payload) {\n var tooltipContent = this._tooltipContent;\n\n if (!this._alwaysShowContent && this._tooltipModel) {\n tooltipContent.hideLater(this._tooltipModel.get('hideDelay'));\n }\n\n this._lastX = this._lastY = null;\n\n if (payload.from !== this.uid) {\n this._hide(makeDispatchAction(payload, api));\n }\n },\n // Be compatible with previous design, that is, when tooltip.type is 'axis' and\n // dispatchAction 'showTip' with seriesIndex and dataIndex will trigger axis pointer\n // and tooltip.\n _manuallyAxisShowTip: function (tooltipModel, ecModel, api, payload) {\n var seriesIndex = payload.seriesIndex;\n var dataIndex = payload.dataIndex;\n var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo;\n\n if (seriesIndex == null || dataIndex == null || coordSysAxesInfo == null) {\n return;\n }\n\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n\n if (!seriesModel) {\n return;\n }\n\n var data = seriesModel.getData();\n var tooltipModel = buildTooltipModel([data.getItemModel(dataIndex), seriesModel, (seriesModel.coordinateSystem || {}).model, tooltipModel]);\n\n if (tooltipModel.get('trigger') !== 'axis') {\n return;\n }\n\n api.dispatchAction({\n type: 'updateAxisPointer',\n seriesIndex: seriesIndex,\n dataIndex: dataIndex,\n position: payload.position\n });\n return true;\n },\n _tryShow: function (e, dispatchAction) {\n var el = e.target;\n var tooltipModel = this._tooltipModel;\n\n if (!tooltipModel) {\n return;\n } // Save mouse x, mouse y. So we can try to keep showing the tip if chart is refreshed\n\n\n this._lastX = e.offsetX;\n this._lastY = e.offsetY;\n var dataByCoordSys = e.dataByCoordSys;\n\n if (dataByCoordSys && dataByCoordSys.length) {\n this._showAxisTooltip(dataByCoordSys, e);\n } // Always show item tooltip if mouse is on the element with dataIndex\n else if (el && el.dataIndex != null) {\n this._lastDataByCoordSys = null;\n\n this._showSeriesItemTooltip(e, el, dispatchAction);\n } // Tooltip provided directly. Like legend.\n else if (el && el.tooltip) {\n this._lastDataByCoordSys = null;\n\n this._showComponentItemTooltip(e, el, dispatchAction);\n } else {\n this._lastDataByCoordSys = null;\n\n this._hide(dispatchAction);\n }\n },\n _showOrMove: function (tooltipModel, cb) {\n // showDelay is used in this case: tooltip.enterable is set\n // as true. User intent to move mouse into tooltip and click\n // something. `showDelay` makes it easyer to enter the content\n // but tooltip do not move immediately.\n var delay = tooltipModel.get('showDelay');\n cb = zrUtil.bind(cb, this);\n clearTimeout(this._showTimout);\n delay > 0 ? this._showTimout = setTimeout(cb, delay) : cb();\n },\n _showAxisTooltip: function (dataByCoordSys, e) {\n var ecModel = this._ecModel;\n var globalTooltipModel = this._tooltipModel;\n var point = [e.offsetX, e.offsetY];\n var singleDefaultHTML = [];\n var singleParamsList = [];\n var singleTooltipModel = buildTooltipModel([e.tooltipOption, globalTooltipModel]);\n var renderMode = this._renderMode;\n var newLine = this._newLine;\n var markers = {};\n each(dataByCoordSys, function (itemCoordSys) {\n // var coordParamList = [];\n // var coordDefaultHTML = [];\n // var coordTooltipModel = buildTooltipModel([\n // e.tooltipOption,\n // itemCoordSys.tooltipOption,\n // ecModel.getComponent(itemCoordSys.coordSysMainType, itemCoordSys.coordSysIndex),\n // globalTooltipModel\n // ]);\n // var displayMode = coordTooltipModel.get('displayMode');\n // var paramsList = displayMode === 'single' ? singleParamsList : [];\n each(itemCoordSys.dataByAxis, function (item) {\n var axisModel = ecModel.getComponent(item.axisDim + 'Axis', item.axisIndex);\n var axisValue = item.value;\n var seriesDefaultHTML = [];\n\n if (!axisModel || axisValue == null) {\n return;\n }\n\n var valueLabel = axisPointerViewHelper.getValueLabel(axisValue, axisModel.axis, ecModel, item.seriesDataIndices, item.valueLabelOpt);\n zrUtil.each(item.seriesDataIndices, function (idxItem) {\n var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n var dataIndex = idxItem.dataIndexInside;\n var dataParams = series && series.getDataParams(dataIndex);\n dataParams.axisDim = item.axisDim;\n dataParams.axisIndex = item.axisIndex;\n dataParams.axisType = item.axisType;\n dataParams.axisId = item.axisId;\n dataParams.axisValue = axisHelper.getAxisRawValue(axisModel.axis, axisValue);\n dataParams.axisValueLabel = valueLabel;\n\n if (dataParams) {\n singleParamsList.push(dataParams);\n var seriesTooltip = series.formatTooltip(dataIndex, true, null, renderMode);\n var html;\n\n if (zrUtil.isObject(seriesTooltip)) {\n html = seriesTooltip.html;\n var newMarkers = seriesTooltip.markers;\n zrUtil.merge(markers, newMarkers);\n } else {\n html = seriesTooltip;\n }\n\n seriesDefaultHTML.push(html);\n }\n }); // Default tooltip content\n // FIXME\n // (1) shold be the first data which has name?\n // (2) themeRiver, firstDataIndex is array, and first line is unnecessary.\n\n var firstLine = valueLabel;\n\n if (renderMode !== 'html') {\n singleDefaultHTML.push(seriesDefaultHTML.join(newLine));\n } else {\n singleDefaultHTML.push((firstLine ? formatUtil.encodeHTML(firstLine) + newLine : '') + seriesDefaultHTML.join(newLine));\n }\n });\n }, this); // In most case, the second axis is shown upper than the first one.\n\n singleDefaultHTML.reverse();\n singleDefaultHTML = singleDefaultHTML.join(this._newLine + this._newLine);\n var positionExpr = e.position;\n\n this._showOrMove(singleTooltipModel, function () {\n if (this._updateContentNotChangedOnAxis(dataByCoordSys)) {\n this._updatePosition(singleTooltipModel, positionExpr, point[0], point[1], this._tooltipContent, singleParamsList);\n } else {\n this._showTooltipContent(singleTooltipModel, singleDefaultHTML, singleParamsList, Math.random(), point[0], point[1], positionExpr, undefined, markers);\n }\n }); // Do not trigger events here, because this branch only be entered\n // from dispatchAction.\n\n },\n _showSeriesItemTooltip: function (e, el, dispatchAction) {\n var ecModel = this._ecModel; // Use dataModel in element if possible\n // Used when mouseover on a element like markPoint or edge\n // In which case, the data is not main data in series.\n\n var seriesIndex = el.seriesIndex;\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex); // For example, graph link.\n\n var dataModel = el.dataModel || seriesModel;\n var dataIndex = el.dataIndex;\n var dataType = el.dataType;\n var data = dataModel.getData();\n var tooltipModel = buildTooltipModel([data.getItemModel(dataIndex), dataModel, seriesModel && (seriesModel.coordinateSystem || {}).model, this._tooltipModel]);\n var tooltipTrigger = tooltipModel.get('trigger');\n\n if (tooltipTrigger != null && tooltipTrigger !== 'item') {\n return;\n }\n\n var params = dataModel.getDataParams(dataIndex, dataType);\n var seriesTooltip = dataModel.formatTooltip(dataIndex, false, dataType, this._renderMode);\n var defaultHtml;\n var markers;\n\n if (zrUtil.isObject(seriesTooltip)) {\n defaultHtml = seriesTooltip.html;\n markers = seriesTooltip.markers;\n } else {\n defaultHtml = seriesTooltip;\n markers = null;\n }\n\n var asyncTicket = 'item_' + dataModel.name + '_' + dataIndex;\n\n this._showOrMove(tooltipModel, function () {\n this._showTooltipContent(tooltipModel, defaultHtml, params, asyncTicket, e.offsetX, e.offsetY, e.position, e.target, markers);\n }); // FIXME\n // duplicated showtip if manuallyShowTip is called from dispatchAction.\n\n\n dispatchAction({\n type: 'showTip',\n dataIndexInside: dataIndex,\n dataIndex: data.getRawIndex(dataIndex),\n seriesIndex: seriesIndex,\n from: this.uid\n });\n },\n _showComponentItemTooltip: function (e, el, dispatchAction) {\n var tooltipOpt = el.tooltip;\n\n if (typeof tooltipOpt === 'string') {\n var content = tooltipOpt;\n tooltipOpt = {\n content: content,\n // Fixed formatter\n formatter: content\n };\n }\n\n var subTooltipModel = new Model(tooltipOpt, this._tooltipModel, this._ecModel);\n var defaultHtml = subTooltipModel.get('content');\n var asyncTicket = Math.random(); // Do not check whether `trigger` is 'none' here, because `trigger`\n // only works on cooridinate system. In fact, we have not found case\n // that requires setting `trigger` nothing on component yet.\n\n this._showOrMove(subTooltipModel, function () {\n this._showTooltipContent(subTooltipModel, defaultHtml, subTooltipModel.get('formatterParams') || {}, asyncTicket, e.offsetX, e.offsetY, e.position, el);\n }); // If not dispatch showTip, tip may be hide triggered by axis.\n\n\n dispatchAction({\n type: 'showTip',\n from: this.uid\n });\n },\n _showTooltipContent: function (tooltipModel, defaultHtml, params, asyncTicket, x, y, positionExpr, el, markers) {\n // Reset ticket\n this._ticket = '';\n\n if (!tooltipModel.get('showContent') || !tooltipModel.get('show')) {\n return;\n }\n\n var tooltipContent = this._tooltipContent;\n var formatter = tooltipModel.get('formatter');\n positionExpr = positionExpr || tooltipModel.get('position');\n var html = defaultHtml;\n\n if (formatter && typeof formatter === 'string') {\n html = formatUtil.formatTpl(formatter, params, true);\n } else if (typeof formatter === 'function') {\n var callback = bind(function (cbTicket, html) {\n if (cbTicket === this._ticket) {\n tooltipContent.setContent(html, markers, tooltipModel);\n\n this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n }\n }, this);\n this._ticket = asyncTicket;\n html = formatter(params, asyncTicket, callback);\n }\n\n tooltipContent.setContent(html, markers, tooltipModel);\n tooltipContent.show(tooltipModel);\n\n this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n },\n\n /**\n * @param {string|Function|Array.|Object} positionExpr\n * @param {number} x Mouse x\n * @param {number} y Mouse y\n * @param {boolean} confine Whether confine tooltip content in view rect.\n * @param {Object|} params\n * @param {module:zrender/Element} el target element\n * @param {module:echarts/ExtensionAPI} api\n * @return {Array.}\n */\n _updatePosition: function (tooltipModel, positionExpr, x, y, content, params, el) {\n var viewWidth = this._api.getWidth();\n\n var viewHeight = this._api.getHeight();\n\n positionExpr = positionExpr || tooltipModel.get('position');\n var contentSize = content.getSize();\n var align = tooltipModel.get('align');\n var vAlign = tooltipModel.get('verticalAlign');\n var rect = el && el.getBoundingRect().clone();\n el && rect.applyTransform(el.transform);\n\n if (typeof positionExpr === 'function') {\n // Callback of position can be an array or a string specify the position\n positionExpr = positionExpr([x, y], params, content.el, rect, {\n viewSize: [viewWidth, viewHeight],\n contentSize: contentSize.slice()\n });\n }\n\n if (zrUtil.isArray(positionExpr)) {\n x = parsePercent(positionExpr[0], viewWidth);\n y = parsePercent(positionExpr[1], viewHeight);\n } else if (zrUtil.isObject(positionExpr)) {\n positionExpr.width = contentSize[0];\n positionExpr.height = contentSize[1];\n var layoutRect = layoutUtil.getLayoutRect(positionExpr, {\n width: viewWidth,\n height: viewHeight\n });\n x = layoutRect.x;\n y = layoutRect.y;\n align = null; // When positionExpr is left/top/right/bottom,\n // align and verticalAlign will not work.\n\n vAlign = null;\n } // Specify tooltip position by string 'top' 'bottom' 'left' 'right' around graphic element\n else if (typeof positionExpr === 'string' && el) {\n var pos = calcTooltipPosition(positionExpr, rect, contentSize);\n x = pos[0];\n y = pos[1];\n } else {\n var pos = refixTooltipPosition(x, y, content, viewWidth, viewHeight, align ? null : 20, vAlign ? null : 20);\n x = pos[0];\n y = pos[1];\n }\n\n align && (x -= isCenterAlign(align) ? contentSize[0] / 2 : align === 'right' ? contentSize[0] : 0);\n vAlign && (y -= isCenterAlign(vAlign) ? contentSize[1] / 2 : vAlign === 'bottom' ? contentSize[1] : 0);\n\n if (tooltipModel.get('confine')) {\n var pos = confineTooltipPosition(x, y, content, viewWidth, viewHeight);\n x = pos[0];\n y = pos[1];\n }\n\n content.moveTo(x, y);\n },\n // FIXME\n // Should we remove this but leave this to user?\n _updateContentNotChangedOnAxis: function (dataByCoordSys) {\n var lastCoordSys = this._lastDataByCoordSys;\n var contentNotChanged = !!lastCoordSys && lastCoordSys.length === dataByCoordSys.length;\n contentNotChanged && each(lastCoordSys, function (lastItemCoordSys, indexCoordSys) {\n var lastDataByAxis = lastItemCoordSys.dataByAxis || {};\n var thisItemCoordSys = dataByCoordSys[indexCoordSys] || {};\n var thisDataByAxis = thisItemCoordSys.dataByAxis || [];\n contentNotChanged &= lastDataByAxis.length === thisDataByAxis.length;\n contentNotChanged && each(lastDataByAxis, function (lastItem, indexAxis) {\n var thisItem = thisDataByAxis[indexAxis] || {};\n var lastIndices = lastItem.seriesDataIndices || [];\n var newIndices = thisItem.seriesDataIndices || [];\n contentNotChanged &= lastItem.value === thisItem.value && lastItem.axisType === thisItem.axisType && lastItem.axisId === thisItem.axisId && lastIndices.length === newIndices.length;\n contentNotChanged && each(lastIndices, function (lastIdxItem, j) {\n var newIdxItem = newIndices[j];\n contentNotChanged &= lastIdxItem.seriesIndex === newIdxItem.seriesIndex && lastIdxItem.dataIndex === newIdxItem.dataIndex;\n });\n });\n });\n this._lastDataByCoordSys = dataByCoordSys;\n return !!contentNotChanged;\n },\n _hide: function (dispatchAction) {\n // Do not directly hideLater here, because this behavior may be prevented\n // in dispatchAction when showTip is dispatched.\n // FIXME\n // duplicated hideTip if manuallyHideTip is called from dispatchAction.\n this._lastDataByCoordSys = null;\n dispatchAction({\n type: 'hideTip',\n from: this.uid\n });\n },\n dispose: function (ecModel, api) {\n if (env.node) {\n return;\n }\n\n this._tooltipContent.dispose();\n\n globalListener.unregister('itemTooltip', api);\n }\n});\n/**\n * @param {Array.} modelCascade\n * From top to bottom. (the last one should be globalTooltipModel);\n */\n\n\nfunction buildTooltipModel(modelCascade) {\n var resultModel = modelCascade.pop();\n\n while (modelCascade.length) {\n var tooltipOpt = modelCascade.pop();\n\n if (tooltipOpt) {\n if (Model.isInstance(tooltipOpt)) {\n tooltipOpt = tooltipOpt.get('tooltip', true);\n } // In each data item tooltip can be simply write:\n // {\n // value: 10,\n // tooltip: 'Something you need to know'\n // }\n\n\n if (typeof tooltipOpt === 'string') {\n tooltipOpt = {\n formatter: tooltipOpt\n };\n }\n\n resultModel = new Model(tooltipOpt, resultModel, resultModel.ecModel);\n }\n }\n\n return resultModel;\n}\n\nfunction makeDispatchAction(payload, api) {\n return payload.dispatchAction || zrUtil.bind(api.dispatchAction, api);\n}\n\nfunction refixTooltipPosition(x, y, content, viewWidth, viewHeight, gapH, gapV) {\n var size = content.getOuterSize();\n var width = size.width;\n var height = size.height;\n\n if (gapH != null) {\n if (x + width + gapH > viewWidth) {\n x -= width + gapH;\n } else {\n x += gapH;\n }\n }\n\n if (gapV != null) {\n if (y + height + gapV > viewHeight) {\n y -= height + gapV;\n } else {\n y += gapV;\n }\n }\n\n return [x, y];\n}\n\nfunction confineTooltipPosition(x, y, content, viewWidth, viewHeight) {\n var size = content.getOuterSize();\n var width = size.width;\n var height = size.height;\n x = Math.min(x + width, viewWidth) - width;\n y = Math.min(y + height, viewHeight) - height;\n x = Math.max(x, 0);\n y = Math.max(y, 0);\n return [x, y];\n}\n\nfunction calcTooltipPosition(position, rect, contentSize) {\n var domWidth = contentSize[0];\n var domHeight = contentSize[1];\n var gap = 5;\n var x = 0;\n var y = 0;\n var rectWidth = rect.width;\n var rectHeight = rect.height;\n\n switch (position) {\n case 'inside':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n break;\n\n case 'top':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y - domHeight - gap;\n break;\n\n case 'bottom':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y + rectHeight + gap;\n break;\n\n case 'left':\n x = rect.x - domWidth - gap;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n break;\n\n case 'right':\n x = rect.x + rectWidth + gap;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n }\n\n return [x, y];\n}\n\nfunction isCenterAlign(align) {\n return align === 'center' || align === 'middle';\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1049 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(392);\n\n__webpack_require__(393);\n\n/***/ }),\n/* 1050 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar VisualMapModel = __webpack_require__(394);\n\nvar numberUtil = __webpack_require__(7);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Constant\nvar DEFAULT_BAR_BOUND = [20, 140];\nvar ContinuousModel = VisualMapModel.extend({\n type: 'visualMap.continuous',\n\n /**\n * @protected\n */\n defaultOption: {\n align: 'auto',\n // 'auto', 'left', 'right', 'top', 'bottom'\n calculable: false,\n // This prop effect default component type determine,\n // See echarts/component/visualMap/typeDefaulter.\n range: null,\n // selected range. In default case `range` is [min, max]\n // and can auto change along with modification of min max,\n // util use specifid a range.\n realtime: true,\n // Whether realtime update.\n itemHeight: null,\n // The length of the range control edge.\n itemWidth: null,\n // The length of the other side.\n hoverLink: true,\n // Enable hover highlight.\n hoverLinkDataSize: null,\n // The size of hovered data.\n hoverLinkOnHandle: null // Whether trigger hoverLink when hover handle.\n // If not specified, follow the value of `realtime`.\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n ContinuousModel.superApply(this, 'optionUpdated', arguments);\n this.resetExtent();\n this.resetVisual(function (mappingOption) {\n mappingOption.mappingMethod = 'linear';\n mappingOption.dataExtent = this.getExtent();\n });\n\n this._resetRange();\n },\n\n /**\n * @protected\n * @override\n */\n resetItemSize: function () {\n ContinuousModel.superApply(this, 'resetItemSize', arguments);\n var itemSize = this.itemSize;\n this._orient === 'horizontal' && itemSize.reverse();\n (itemSize[0] == null || isNaN(itemSize[0])) && (itemSize[0] = DEFAULT_BAR_BOUND[0]);\n (itemSize[1] == null || isNaN(itemSize[1])) && (itemSize[1] = DEFAULT_BAR_BOUND[1]);\n },\n\n /**\n * @private\n */\n _resetRange: function () {\n var dataExtent = this.getExtent();\n var range = this.option.range;\n\n if (!range || range.auto) {\n // `range` should always be array (so we dont use other\n // value like 'auto') for user-friend. (consider getOption).\n dataExtent.auto = 1;\n this.option.range = dataExtent;\n } else if (zrUtil.isArray(range)) {\n if (range[0] > range[1]) {\n range.reverse();\n }\n\n range[0] = Math.max(range[0], dataExtent[0]);\n range[1] = Math.min(range[1], dataExtent[1]);\n }\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n zrUtil.each(this.stateList, function (state) {\n var symbolSize = this.option.controller[state].symbolSize;\n\n if (symbolSize && symbolSize[0] !== symbolSize[1]) {\n symbolSize[0] = 0; // For good looking.\n }\n }, this);\n },\n\n /**\n * @override\n */\n setSelected: function (selected) {\n this.option.range = selected.slice();\n\n this._resetRange();\n },\n\n /**\n * @public\n */\n getSelected: function () {\n var dataExtent = this.getExtent();\n var dataInterval = numberUtil.asc((this.get('range') || []).slice()); // Clamp\n\n dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);\n dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);\n dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);\n dataInterval[1] < dataExtent[0] && (dataInterval[1] = dataExtent[0]);\n return dataInterval;\n },\n\n /**\n * @override\n */\n getValueState: function (value) {\n var range = this.option.range;\n var dataExtent = this.getExtent(); // When range[0] === dataExtent[0], any value larger than dataExtent[0] maps to 'inRange'.\n // range[1] is processed likewise.\n\n return (range[0] <= dataExtent[0] || range[0] <= value) && (range[1] >= dataExtent[1] || value <= range[1]) ? 'inRange' : 'outOfRange';\n },\n\n /**\n * @params {Array.} range target value: range[0] <= value && value <= range[1]\n * @return {Array.} [{seriesId, dataIndices: >}, ...]\n */\n findTargetDataIndices: function (range) {\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 range[0] <= value && value <= range[1] && 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 * @implement\n */\n getVisualMeta: function (getColorVisual) {\n var oVals = getColorStopValues(this, 'outOfRange', this.getExtent());\n var iVals = getColorStopValues(this, 'inRange', this.option.range.slice());\n var stops = [];\n\n function setStop(value, valueState) {\n stops.push({\n value: value,\n color: getColorVisual(value, valueState)\n });\n } // Format to: outOfRange -- inRange -- outOfRange.\n\n\n var iIdx = 0;\n var oIdx = 0;\n var iLen = iVals.length;\n var oLen = oVals.length;\n\n for (; oIdx < oLen && (!iVals.length || oVals[oIdx] <= iVals[0]); oIdx++) {\n // If oVal[oIdx] === iVals[iIdx], oVal[oIdx] should be ignored.\n if (oVals[oIdx] < iVals[iIdx]) {\n setStop(oVals[oIdx], 'outOfRange');\n }\n }\n\n for (var first = 1; iIdx < iLen; iIdx++, first = 0) {\n // If range is full, value beyond min, max will be clamped.\n // make a singularity\n first && stops.length && setStop(iVals[iIdx], 'outOfRange');\n setStop(iVals[iIdx], 'inRange');\n }\n\n for (var first = 1; oIdx < oLen; oIdx++) {\n if (!iVals.length || iVals[iVals.length - 1] < oVals[oIdx]) {\n // make a singularity\n if (first) {\n stops.length && setStop(stops[stops.length - 1].value, 'outOfRange');\n first = 0;\n }\n\n setStop(oVals[oIdx], 'outOfRange');\n }\n }\n\n var stopsLen = stops.length;\n return {\n stops: stops,\n outerColors: [stopsLen ? stops[0].color : 'transparent', stopsLen ? stops[stopsLen - 1].color : 'transparent']\n };\n }\n});\n\nfunction getColorStopValues(visualMapModel, valueState, dataExtent) {\n if (dataExtent[0] === dataExtent[1]) {\n return dataExtent.slice();\n } // When using colorHue mapping, it is not linear color any more.\n // Moreover, canvas gradient seems not to be accurate linear.\n // FIXME\n // Should be arbitrary value 100? or based on pixel size?\n\n\n var count = 200;\n var step = (dataExtent[1] - dataExtent[0]) / count;\n var value = dataExtent[0];\n var stopValues = [];\n\n for (var i = 0; i <= count && value < dataExtent[1]; i++) {\n stopValues.push(value);\n value += step;\n }\n\n stopValues.push(dataExtent[1]);\n return stopValues;\n}\n\nvar _default = ContinuousModel;\nmodule.exports = _default;\n\n/***/ }),\n/* 1051 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar LinearGradient = __webpack_require__(274);\n\nvar eventTool = __webpack_require__(62);\n\nvar VisualMapView = __webpack_require__(395);\n\nvar graphic = __webpack_require__(6);\n\nvar numberUtil = __webpack_require__(7);\n\nvar sliderMove = __webpack_require__(119);\n\nvar helper = __webpack_require__(396);\n\nvar modelUtil = __webpack_require__(8);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 linearMap = numberUtil.linearMap;\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max; // Arbitrary value\n\nvar HOVER_LINK_SIZE = 12;\nvar HOVER_LINK_OUT = 6; // Notice:\n// Any \"interval\" should be by the order of [low, high].\n// \"handle0\" (handleIndex === 0) maps to\n// low data value: this._dataInterval[0] and has low coord.\n// \"handle1\" (handleIndex === 1) maps to\n// high data value: this._dataInterval[1] and has high coord.\n// The logic of transform is implemented in this._createBarGroup.\n\nvar ContinuousView = VisualMapView.extend({\n type: 'visualMap.continuous',\n\n /**\n * @override\n */\n init: function () {\n ContinuousView.superApply(this, 'init', arguments);\n /**\n * @private\n */\n\n this._shapes = {};\n /**\n * @private\n */\n\n this._dataInterval = [];\n /**\n * @private\n */\n\n this._handleEnds = [];\n /**\n * @private\n */\n\n this._orient;\n /**\n * @private\n */\n\n this._useHandle;\n /**\n * @private\n */\n\n this._hoverLinkDataIndices = [];\n /**\n * @private\n */\n\n this._dragging;\n /**\n * @private\n */\n\n this._hovering;\n },\n\n /**\n * @protected\n * @override\n */\n doRender: function (visualMapModel, ecModel, api, payload) {\n if (!payload || payload.type !== 'selectDataRange' || payload.from !== this.uid) {\n this._buildView();\n }\n },\n\n /**\n * @private\n */\n _buildView: function () {\n this.group.removeAll();\n var visualMapModel = this.visualMapModel;\n var thisGroup = this.group;\n this._orient = visualMapModel.get('orient');\n this._useHandle = visualMapModel.get('calculable');\n\n this._resetInterval();\n\n this._renderBar(thisGroup);\n\n var dataRangeText = visualMapModel.get('text');\n\n this._renderEndsText(thisGroup, dataRangeText, 0);\n\n this._renderEndsText(thisGroup, dataRangeText, 1); // Do this for background size calculation.\n\n\n this._updateView(true); // After updating view, inner shapes is built completely,\n // and then background can be rendered.\n\n\n this.renderBackground(thisGroup); // Real update view\n\n this._updateView();\n\n this._enableHoverLinkToSeries();\n\n this._enableHoverLinkFromSeries();\n\n this.positionGroup(thisGroup);\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, dataRangeText, endsIndex) {\n if (!dataRangeText) {\n return;\n } // Compatible with ec2, text[0] map to high value, text[1] map low value.\n\n\n var text = dataRangeText[1 - endsIndex];\n text = text != null ? text + '' : '';\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var itemSize = visualMapModel.itemSize;\n var barGroup = this._shapes.barGroup;\n\n var position = this._applyTransform([itemSize[0] / 2, endsIndex === 0 ? -textGap : itemSize[1] + textGap], barGroup);\n\n var align = this._applyTransform(endsIndex === 0 ? 'bottom' : 'top', barGroup);\n\n var orient = this._orient;\n var textStyleModel = this.visualMapModel.textStyleModel;\n this.group.add(new graphic.Text({\n style: {\n x: position[0],\n y: position[1],\n textVerticalAlign: orient === 'horizontal' ? 'middle' : align,\n textAlign: orient === 'horizontal' ? align : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n },\n\n /**\n * @private\n */\n _renderBar: function (targetGroup) {\n var visualMapModel = this.visualMapModel;\n var shapes = this._shapes;\n var itemSize = visualMapModel.itemSize;\n var orient = this._orient;\n var useHandle = this._useHandle;\n var itemAlign = helper.getItemAlign(visualMapModel, this.api, itemSize);\n\n var barGroup = shapes.barGroup = this._createBarGroup(itemAlign); // Bar\n\n\n barGroup.add(shapes.outOfRange = createPolygon());\n barGroup.add(shapes.inRange = createPolygon(null, useHandle ? getCursor(this._orient) : null, zrUtil.bind(this._dragHandle, this, 'all', false), zrUtil.bind(this._dragHandle, this, 'all', true)));\n var textRect = visualMapModel.textStyleModel.getTextRect('国');\n var textSize = mathMax(textRect.width, textRect.height); // Handle\n\n if (useHandle) {\n shapes.handleThumbs = [];\n shapes.handleLabels = [];\n shapes.handleLabelPoints = [];\n\n this._createHandle(barGroup, 0, itemSize, textSize, orient, itemAlign);\n\n this._createHandle(barGroup, 1, itemSize, textSize, orient, itemAlign);\n }\n\n this._createIndicator(barGroup, itemSize, textSize, orient);\n\n targetGroup.add(barGroup);\n },\n\n /**\n * @private\n */\n _createHandle: function (barGroup, handleIndex, itemSize, textSize, orient) {\n var onDrift = zrUtil.bind(this._dragHandle, this, handleIndex, false);\n var onDragEnd = zrUtil.bind(this._dragHandle, this, handleIndex, true);\n var handleThumb = createPolygon(createHandlePoints(handleIndex, textSize), getCursor(this._orient), onDrift, onDragEnd);\n handleThumb.position[0] = itemSize[0];\n barGroup.add(handleThumb); // Text is always horizontal layout but should not be effected by\n // transform (orient/inverse). So label is built separately but not\n // use zrender/graphic/helper/RectText, and is located based on view\n // group (according to handleLabelPoint) but not barGroup.\n\n var textStyleModel = this.visualMapModel.textStyleModel;\n var handleLabel = new graphic.Text({\n draggable: true,\n drift: onDrift,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: onDragEnd,\n style: {\n x: 0,\n y: 0,\n text: '',\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n });\n this.group.add(handleLabel);\n var handleLabelPoint = [orient === 'horizontal' ? textSize / 2 : textSize * 1.5, orient === 'horizontal' ? handleIndex === 0 ? -(textSize * 1.5) : textSize * 1.5 : handleIndex === 0 ? -textSize / 2 : textSize / 2];\n var shapes = this._shapes;\n shapes.handleThumbs[handleIndex] = handleThumb;\n shapes.handleLabelPoints[handleIndex] = handleLabelPoint;\n shapes.handleLabels[handleIndex] = handleLabel;\n },\n\n /**\n * @private\n */\n _createIndicator: function (barGroup, itemSize, textSize, orient) {\n var indicator = createPolygon([[0, 0]], 'move');\n indicator.position[0] = itemSize[0];\n indicator.attr({\n invisible: true,\n silent: true\n });\n barGroup.add(indicator);\n var textStyleModel = this.visualMapModel.textStyleModel;\n var indicatorLabel = new graphic.Text({\n silent: true,\n invisible: true,\n style: {\n x: 0,\n y: 0,\n text: '',\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n });\n this.group.add(indicatorLabel);\n var indicatorLabelPoint = [orient === 'horizontal' ? textSize / 2 : HOVER_LINK_OUT + 3, 0];\n var shapes = this._shapes;\n shapes.indicator = indicator;\n shapes.indicatorLabel = indicatorLabel;\n shapes.indicatorLabelPoint = indicatorLabelPoint;\n },\n\n /**\n * @private\n */\n _dragHandle: function (handleIndex, isEnd, dx, dy) {\n if (!this._useHandle) {\n return;\n }\n\n this._dragging = !isEnd;\n\n if (!isEnd) {\n // Transform dx, dy to bar coordination.\n var vertex = this._applyTransform([dx, dy], this._shapes.barGroup, true);\n\n this._updateInterval(handleIndex, vertex[1]); // Considering realtime, update view should be executed\n // before dispatch action.\n\n\n this._updateView();\n } // dragEnd do not dispatch action when realtime.\n\n\n if (isEnd === !this.visualMapModel.get('realtime')) {\n // jshint ignore:line\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: this._dataInterval.slice()\n });\n }\n\n if (isEnd) {\n !this._hovering && this._clearHoverLinkToSeries();\n } else if (useHoverLinkOnHandle(this.visualMapModel)) {\n this._doHoverLinkToSeries(this._handleEnds[handleIndex], false);\n }\n },\n\n /**\n * @private\n */\n _resetInterval: function () {\n var visualMapModel = this.visualMapModel;\n var dataInterval = this._dataInterval = visualMapModel.getSelected();\n var dataExtent = visualMapModel.getExtent();\n var sizeExtent = [0, visualMapModel.itemSize[1]];\n this._handleEnds = [linearMap(dataInterval[0], dataExtent, sizeExtent, true), linearMap(dataInterval[1], dataExtent, sizeExtent, true)];\n },\n\n /**\n * @private\n * @param {(number|string)} handleIndex 0 or 1 or 'all'\n * @param {number} dx\n * @param {number} dy\n */\n _updateInterval: function (handleIndex, delta) {\n delta = delta || 0;\n var visualMapModel = this.visualMapModel;\n var handleEnds = this._handleEnds;\n var sizeExtent = [0, visualMapModel.itemSize[1]];\n sliderMove(delta, handleEnds, sizeExtent, handleIndex, // cross is forbiden\n 0);\n var dataExtent = visualMapModel.getExtent(); // Update data interval.\n\n this._dataInterval = [linearMap(handleEnds[0], sizeExtent, dataExtent, true), linearMap(handleEnds[1], sizeExtent, dataExtent, true)];\n },\n\n /**\n * @private\n */\n _updateView: function (forSketch) {\n var visualMapModel = this.visualMapModel;\n var dataExtent = visualMapModel.getExtent();\n var shapes = this._shapes;\n var outOfRangeHandleEnds = [0, visualMapModel.itemSize[1]];\n var inRangeHandleEnds = forSketch ? outOfRangeHandleEnds : this._handleEnds;\n\n var visualInRange = this._createBarVisual(this._dataInterval, dataExtent, inRangeHandleEnds, 'inRange');\n\n var visualOutOfRange = this._createBarVisual(dataExtent, dataExtent, outOfRangeHandleEnds, 'outOfRange');\n\n shapes.inRange.setStyle({\n fill: visualInRange.barColor,\n opacity: visualInRange.opacity\n }).setShape('points', visualInRange.barPoints);\n shapes.outOfRange.setStyle({\n fill: visualOutOfRange.barColor,\n opacity: visualOutOfRange.opacity\n }).setShape('points', visualOutOfRange.barPoints);\n\n this._updateHandle(inRangeHandleEnds, visualInRange);\n },\n\n /**\n * @private\n */\n _createBarVisual: function (dataInterval, dataExtent, handleEnds, forceState) {\n var opts = {\n forceState: forceState,\n convertOpacityToAlpha: true\n };\n\n var colorStops = this._makeColorGradient(dataInterval, opts);\n\n var symbolSizes = [this.getControllerVisual(dataInterval[0], 'symbolSize', opts), this.getControllerVisual(dataInterval[1], 'symbolSize', opts)];\n\n var barPoints = this._createBarPoints(handleEnds, symbolSizes);\n\n return {\n barColor: new LinearGradient(0, 0, 0, 1, colorStops),\n barPoints: barPoints,\n handlesColor: [colorStops[0].color, colorStops[colorStops.length - 1].color]\n };\n },\n\n /**\n * @private\n */\n _makeColorGradient: function (dataInterval, opts) {\n // Considering colorHue, which is not linear, so we have to sample\n // to calculate gradient color stops, but not only caculate head\n // and tail.\n var sampleNumber = 100; // Arbitrary value.\n\n var colorStops = [];\n var step = (dataInterval[1] - dataInterval[0]) / sampleNumber;\n colorStops.push({\n color: this.getControllerVisual(dataInterval[0], 'color', opts),\n offset: 0\n });\n\n for (var i = 1; i < sampleNumber; i++) {\n var currValue = dataInterval[0] + step * i;\n\n if (currValue > dataInterval[1]) {\n break;\n }\n\n colorStops.push({\n color: this.getControllerVisual(currValue, 'color', opts),\n offset: i / sampleNumber\n });\n }\n\n colorStops.push({\n color: this.getControllerVisual(dataInterval[1], 'color', opts),\n offset: 1\n });\n return colorStops;\n },\n\n /**\n * @private\n */\n _createBarPoints: function (handleEnds, symbolSizes) {\n var itemSize = this.visualMapModel.itemSize;\n return [[itemSize[0] - symbolSizes[0], handleEnds[0]], [itemSize[0], handleEnds[0]], [itemSize[0], handleEnds[1]], [itemSize[0] - symbolSizes[1], handleEnds[1]]];\n },\n\n /**\n * @private\n */\n _createBarGroup: function (itemAlign) {\n var orient = this._orient;\n var inverse = this.visualMapModel.get('inverse');\n return new graphic.Group(orient === 'horizontal' && !inverse ? {\n scale: itemAlign === 'bottom' ? [1, 1] : [-1, 1],\n rotation: Math.PI / 2\n } : orient === 'horizontal' && inverse ? {\n scale: itemAlign === 'bottom' ? [-1, 1] : [1, 1],\n rotation: -Math.PI / 2\n } : orient === 'vertical' && !inverse ? {\n scale: itemAlign === 'left' ? [1, -1] : [-1, -1]\n } : {\n scale: itemAlign === 'left' ? [1, 1] : [-1, 1]\n });\n },\n\n /**\n * @private\n */\n _updateHandle: function (handleEnds, visualInRange) {\n if (!this._useHandle) {\n return;\n }\n\n var shapes = this._shapes;\n var visualMapModel = this.visualMapModel;\n var handleThumbs = shapes.handleThumbs;\n var handleLabels = shapes.handleLabels;\n each([0, 1], function (handleIndex) {\n var handleThumb = handleThumbs[handleIndex];\n handleThumb.setStyle('fill', visualInRange.handlesColor[handleIndex]);\n handleThumb.position[1] = handleEnds[handleIndex]; // Update handle label position.\n\n var textPoint = graphic.applyTransform(shapes.handleLabelPoints[handleIndex], graphic.getTransform(handleThumb, this.group));\n handleLabels[handleIndex].setStyle({\n x: textPoint[0],\n y: textPoint[1],\n text: visualMapModel.formatValueText(this._dataInterval[handleIndex]),\n textVerticalAlign: 'middle',\n textAlign: this._applyTransform(this._orient === 'horizontal' ? handleIndex === 0 ? 'bottom' : 'top' : 'left', shapes.barGroup)\n });\n }, this);\n },\n\n /**\n * @private\n * @param {number} cursorValue\n * @param {number} textValue\n * @param {string} [rangeSymbol]\n * @param {number} [halfHoverLinkSize]\n */\n _showIndicator: function (cursorValue, textValue, rangeSymbol, halfHoverLinkSize) {\n var visualMapModel = this.visualMapModel;\n var dataExtent = visualMapModel.getExtent();\n var itemSize = visualMapModel.itemSize;\n var sizeExtent = [0, itemSize[1]];\n var pos = linearMap(cursorValue, dataExtent, sizeExtent, true);\n var shapes = this._shapes;\n var indicator = shapes.indicator;\n\n if (!indicator) {\n return;\n }\n\n indicator.position[1] = pos;\n indicator.attr('invisible', false);\n indicator.setShape('points', createIndicatorPoints(!!rangeSymbol, halfHoverLinkSize, pos, itemSize[1]));\n var opts = {\n convertOpacityToAlpha: true\n };\n var color = this.getControllerVisual(cursorValue, 'color', opts);\n indicator.setStyle('fill', color); // Update handle label position.\n\n var textPoint = graphic.applyTransform(shapes.indicatorLabelPoint, graphic.getTransform(indicator, this.group));\n var indicatorLabel = shapes.indicatorLabel;\n indicatorLabel.attr('invisible', false);\n\n var align = this._applyTransform('left', shapes.barGroup);\n\n var orient = this._orient;\n indicatorLabel.setStyle({\n text: (rangeSymbol ? rangeSymbol : '') + visualMapModel.formatValueText(textValue),\n textVerticalAlign: orient === 'horizontal' ? align : 'middle',\n textAlign: orient === 'horizontal' ? 'center' : align,\n x: textPoint[0],\n y: textPoint[1]\n });\n },\n\n /**\n * @private\n */\n _enableHoverLinkToSeries: function () {\n var self = this;\n\n this._shapes.barGroup.on('mousemove', function (e) {\n self._hovering = true;\n\n if (!self._dragging) {\n var itemSize = self.visualMapModel.itemSize;\n\n var pos = self._applyTransform([e.offsetX, e.offsetY], self._shapes.barGroup, true, true); // For hover link show when hover handle, which might be\n // below or upper than sizeExtent.\n\n\n pos[1] = mathMin(mathMax(0, pos[1]), itemSize[1]);\n\n self._doHoverLinkToSeries(pos[1], 0 <= pos[0] && pos[0] <= itemSize[0]);\n }\n }).on('mouseout', function () {\n // When mouse is out of handle, hoverLink still need\n // to be displayed when realtime is set as false.\n self._hovering = false;\n !self._dragging && self._clearHoverLinkToSeries();\n });\n },\n\n /**\n * @private\n */\n _enableHoverLinkFromSeries: function () {\n var zr = this.api.getZr();\n\n if (this.visualMapModel.option.hoverLink) {\n zr.on('mouseover', this._hoverLinkFromSeriesMouseOver, this);\n zr.on('mouseout', this._hideIndicator, this);\n } else {\n this._clearHoverLinkFromSeries();\n }\n },\n\n /**\n * @private\n */\n _doHoverLinkToSeries: function (cursorPos, hoverOnBar) {\n var visualMapModel = this.visualMapModel;\n var itemSize = visualMapModel.itemSize;\n\n if (!visualMapModel.option.hoverLink) {\n return;\n }\n\n var sizeExtent = [0, itemSize[1]];\n var dataExtent = visualMapModel.getExtent(); // For hover link show when hover handle, which might be below or upper than sizeExtent.\n\n cursorPos = mathMin(mathMax(sizeExtent[0], cursorPos), sizeExtent[1]);\n var halfHoverLinkSize = getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent);\n var hoverRange = [cursorPos - halfHoverLinkSize, cursorPos + halfHoverLinkSize];\n var cursorValue = linearMap(cursorPos, sizeExtent, dataExtent, true);\n var valueRange = [linearMap(hoverRange[0], sizeExtent, dataExtent, true), linearMap(hoverRange[1], sizeExtent, dataExtent, true)]; // Consider data range is out of visualMap range, see test/visualMap-continuous.html,\n // where china and india has very large population.\n\n hoverRange[0] < sizeExtent[0] && (valueRange[0] = -Infinity);\n hoverRange[1] > sizeExtent[1] && (valueRange[1] = Infinity); // Do not show indicator when mouse is over handle,\n // otherwise labels overlap, especially when dragging.\n\n if (hoverOnBar) {\n if (valueRange[0] === -Infinity) {\n this._showIndicator(cursorValue, valueRange[1], '< ', halfHoverLinkSize);\n } else if (valueRange[1] === Infinity) {\n this._showIndicator(cursorValue, valueRange[0], '> ', halfHoverLinkSize);\n } else {\n this._showIndicator(cursorValue, cursorValue, '≈ ', halfHoverLinkSize);\n }\n } // When realtime is set as false, handles, which are in barGroup,\n // also trigger hoverLink, which help user to realize where they\n // focus on when dragging. (see test/heatmap-large.html)\n // When realtime is set as true, highlight will not show when hover\n // handle, because the label on handle, which displays a exact value\n // but not range, might mislead users.\n\n\n var oldBatch = this._hoverLinkDataIndices;\n var newBatch = [];\n\n if (hoverOnBar || useHoverLinkOnHandle(visualMapModel)) {\n newBatch = this._hoverLinkDataIndices = visualMapModel.findTargetDataIndices(valueRange);\n }\n\n var resultBatches = modelUtil.compressBatches(oldBatch, newBatch);\n\n this._dispatchHighDown('downplay', helper.makeHighDownBatch(resultBatches[0], visualMapModel));\n\n this._dispatchHighDown('highlight', helper.makeHighDownBatch(resultBatches[1], visualMapModel));\n },\n\n /**\n * @private\n */\n _hoverLinkFromSeriesMouseOver: function (e) {\n var el = e.target;\n var visualMapModel = this.visualMapModel;\n\n if (!el || el.dataIndex == null) {\n return;\n }\n\n var dataModel = this.ecModel.getSeriesByIndex(el.seriesIndex);\n\n if (!visualMapModel.isTargetSeries(dataModel)) {\n return;\n }\n\n var data = dataModel.getData(el.dataType);\n var value = data.get(visualMapModel.getDataDimension(data), el.dataIndex, true);\n\n if (!isNaN(value)) {\n this._showIndicator(value, value);\n }\n },\n\n /**\n * @private\n */\n _hideIndicator: function () {\n var shapes = this._shapes;\n shapes.indicator && shapes.indicator.attr('invisible', true);\n shapes.indicatorLabel && shapes.indicatorLabel.attr('invisible', true);\n },\n\n /**\n * @private\n */\n _clearHoverLinkToSeries: function () {\n this._hideIndicator();\n\n var indices = this._hoverLinkDataIndices;\n\n this._dispatchHighDown('downplay', helper.makeHighDownBatch(indices, this.visualMapModel));\n\n indices.length = 0;\n },\n\n /**\n * @private\n */\n _clearHoverLinkFromSeries: function () {\n this._hideIndicator();\n\n var zr = this.api.getZr();\n zr.off('mouseover', this._hoverLinkFromSeriesMouseOver);\n zr.off('mouseout', this._hideIndicator);\n },\n\n /**\n * @private\n */\n _applyTransform: function (vertex, element, inverse, global) {\n var transform = graphic.getTransform(element, global ? null : this.group);\n return graphic[zrUtil.isArray(vertex) ? 'applyTransform' : 'transformDirection'](vertex, transform, inverse);\n },\n\n /**\n * @private\n */\n _dispatchHighDown: function (type, batch) {\n batch && batch.length && this.api.dispatchAction({\n type: type,\n batch: batch\n });\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearHoverLinkFromSeries();\n\n this._clearHoverLinkToSeries();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearHoverLinkFromSeries();\n\n this._clearHoverLinkToSeries();\n }\n});\n\nfunction createPolygon(points, cursor, onDrift, onDragEnd) {\n return new graphic.Polygon({\n shape: {\n points: points\n },\n draggable: !!onDrift,\n cursor: cursor,\n drift: onDrift,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: onDragEnd\n });\n}\n\nfunction createHandlePoints(handleIndex, textSize) {\n return handleIndex === 0 ? [[0, 0], [textSize, 0], [textSize, -textSize]] : [[0, 0], [textSize, 0], [textSize, textSize]];\n}\n\nfunction createIndicatorPoints(isRange, halfHoverLinkSize, pos, extentMax) {\n return isRange ? [// indicate range\n [0, -mathMin(halfHoverLinkSize, mathMax(pos, 0))], [HOVER_LINK_OUT, 0], [0, mathMin(halfHoverLinkSize, mathMax(extentMax - pos, 0))]] : [// indicate single value\n [0, 0], [5, -5], [5, 5]];\n}\n\nfunction getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent) {\n var halfHoverLinkSize = HOVER_LINK_SIZE / 2;\n var hoverLinkDataSize = visualMapModel.get('hoverLinkDataSize');\n\n if (hoverLinkDataSize) {\n halfHoverLinkSize = linearMap(hoverLinkDataSize, dataExtent, sizeExtent, true) / 2;\n }\n\n return halfHoverLinkSize;\n}\n\nfunction useHoverLinkOnHandle(visualMapModel) {\n var hoverLinkOnHandle = visualMapModel.get('hoverLinkOnHandle');\n return !!(hoverLinkOnHandle == null ? visualMapModel.get('realtime') : hoverLinkOnHandle);\n}\n\nfunction getCursor(orient) {\n return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\nvar _default = ContinuousView;\nmodule.exports = _default;\n\n/***/ }),\n/* 1052 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(0);\n\nvar VisualMapModel = __webpack_require__(394);\n\nvar VisualMapping = __webpack_require__(101);\n\nvar visualDefault = __webpack_require__(417);\n\nvar _number = __webpack_require__(7);\n\nvar reformIntervals = _number.reformIntervals;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PiecewiseModel = VisualMapModel.extend({\n type: 'visualMap.piecewise',\n\n /**\n * Order Rule:\n *\n * option.categories / option.pieces / option.text / option.selected:\n * If !option.inverse,\n * Order when vertical: ['top', ..., 'bottom'].\n * Order when horizontal: ['left', ..., 'right'].\n * If option.inverse, the meaning of\n * the order should be reversed.\n *\n * this._pieceList:\n * The order is always [low, ..., high].\n *\n * Mapping from location to low-high:\n * If !option.inverse\n * When vertical, top is high.\n * When horizontal, right is high.\n * If option.inverse, reverse.\n */\n\n /**\n * @protected\n */\n defaultOption: {\n selected: null,\n // Object. If not specified, means selected.\n // When pieces and splitNumber: {'0': true, '5': true}\n // When categories: {'cate1': false, 'cate3': true}\n // When selected === false, means all unselected.\n minOpen: false,\n // Whether include values that smaller than `min`.\n maxOpen: false,\n // Whether include values that bigger than `max`.\n align: 'auto',\n // 'auto', 'left', 'right'\n itemWidth: 20,\n // When put the controller vertically, it is the length of\n // horizontal side of each item. Otherwise, vertical side.\n itemHeight: 14,\n // When put the controller vertically, it is the length of\n // vertical side of each item. Otherwise, horizontal side.\n itemSymbol: 'roundRect',\n pieceList: null,\n // Each item is Object, with some of those attrs:\n // {min, max, lt, gt, lte, gte, value,\n // color, colorSaturation, colorAlpha, opacity,\n // symbol, symbolSize}, which customize the range or visual\n // coding of the certain piece. Besides, see \"Order Rule\".\n categories: null,\n // category names, like: ['some1', 'some2', 'some3'].\n // Attr min/max are ignored when categories set. See \"Order Rule\"\n splitNumber: 5,\n // If set to 5, auto split five pieces equally.\n // If set to 0 and component type not set, component type will be\n // determined as \"continuous\". (It is less reasonable but for ec2\n // compatibility, see echarts/component/visualMap/typeDefaulter)\n selectedMode: 'multiple',\n // Can be 'multiple' or 'single'.\n itemGap: 10,\n // The gap between two items, in px.\n hoverLink: true,\n // Enable hover highlight.\n showLabel: null // By default, when text is used, label will hide (the logic\n // is remained for compatibility reason)\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n PiecewiseModel.superApply(this, 'optionUpdated', arguments);\n /**\n * The order is always [low, ..., high].\n * [{text: string, interval: 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 var index = 0;\n\n if (thisOption.minOpen) {\n pieceList.push({\n index: index++,\n interval: [-Infinity, dataExtent[0]],\n close: [0, 0]\n });\n }\n\n for (var curr = dataExtent[0], len = index + splitNumber; index < len; curr += splitStep) {\n var max = index === splitNumber - 1 ? dataExtent[1] : curr + splitStep;\n pieceList.push({\n index: index++,\n interval: [curr, max],\n close: [1, 1]\n });\n }\n\n if (thisOption.maxOpen) {\n pieceList.push({\n index: index++,\n interval: [dataExtent[1], Infinity],\n close: [0, 0]\n });\n }\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\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/***/ }),\n/* 1053 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar VisualMapView = __webpack_require__(395);\n\nvar graphic = __webpack_require__(6);\n\nvar _symbol = __webpack_require__(45);\n\nvar createSymbol = _symbol.createSymbol;\n\nvar layout = __webpack_require__(14);\n\nvar helper = __webpack_require__(396);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1054 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar textContain = __webpack_require__(46);\n\nvar _model = __webpack_require__(8);\n\nvar makeInner = _model.makeInner;\n\nvar _axisHelper = __webpack_require__(53);\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;\n\n/***/ }),\n/* 1055 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar layout = __webpack_require__(14);\n\nvar numberUtil = __webpack_require__(7);\n\nvar CoordinateSystem = __webpack_require__(52);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 case:\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 if (date.getDate() !== endDateNum) {\n var sign = date.getTime() - range[1].time > 0 ? 1 : -1;\n\n while (date.getDate() !== endDateNum && (date.getTime() - range[1].time) * sign > 0) {\n allDay -= sign;\n date.setDate(startDateNum + allDay - 1);\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;\n\n/***/ }),\n/* 1056 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar _layout = __webpack_require__(14);\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;\n\n/***/ }),\n/* 1057 */\n/***/ (function(module, exports) {\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(coordSys) {\n var rect = coordSys.getRect();\n var rangeInfo = coordSys.getRangeInfo();\n return {\n coordSys: {\n type: 'calendar',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n cellWidth: coordSys.getCellWidth(),\n cellHeight: coordSys.getCellHeight(),\n rangeInfo: {\n start: rangeInfo.start,\n end: rangeInfo.end,\n weeks: rangeInfo.weeks,\n dayCount: rangeInfo.allDay\n }\n },\n api: {\n coord: function (data, clamp) {\n return coordSys.dataToPoint(data, clamp);\n }\n }\n };\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1058 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Axis = __webpack_require__(79);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 1059 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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\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;\n\n/***/ }),\n/* 1060 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar BoundingRect = __webpack_require__(18);\n\nvar Cartesian = __webpack_require__(1059);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1061 */\n/***/ (function(module, exports, __webpack_require__) {\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__webpack_require__(402);\n\nvar ComponentModel = __webpack_require__(28);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 1062 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 1063 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar BoundingRect = __webpack_require__(18);\n\nvar View = __webpack_require__(255);\n\nvar geoSourceManager = __webpack_require__(176);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 1064 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar modelUtil = __webpack_require__(8);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar Model = __webpack_require__(26);\n\nvar selectableMixin = __webpack_require__(251);\n\nvar geoCreator = __webpack_require__(257);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 GeoModel = ComponentModel.extend({\n type: 'geo',\n\n /**\n * @type {module:echarts/coord/geo/Geo}\n */\n coordinateSystem: null,\n layoutMode: 'box',\n init: function (option) {\n ComponentModel.prototype.init.apply(this, arguments); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n },\n optionUpdated: function () {\n var option = this.option;\n var self = this;\n option.regions = geoCreator.getFilledRegions(option.regions, option.map, option.nameMap);\n this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {\n if (regionOpt.name) {\n optionModelMap.set(regionOpt.name, new Model(regionOpt, self));\n }\n\n return optionModelMap;\n }, zrUtil.createHashMap());\n this.updateSelectedMap(option.regions);\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n show: true,\n left: 'center',\n top: 'center',\n // width:,\n // height:,\n // right\n // bottom\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n // If svg used, aspectScale is 1 by default.\n // aspectScale: 0.75,\n aspectScale: null,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n silent: false,\n // Map type\n map: '',\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ]\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n // selectedMode: false\n label: {\n show: false,\n color: '#000'\n },\n itemStyle: {\n // color: 各异,\n borderWidth: 0.5,\n borderColor: '#444',\n color: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n color: 'rgba(255,215,0,0.8)'\n }\n },\n regions: []\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (name) {\n return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);\n },\n\n /**\n * Format label\n * @param {string} name Region name\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @return {string}\n */\n getFormattedLabel: function (name, status) {\n var regionModel = this.getRegionModel(name);\n var formatter = regionModel.get('label' + (status === 'normal' ? '.' : status + '.') + 'formatter');\n var params = {\n name: name\n };\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n return formatter.replace('{a}', name != null ? name : '');\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n }\n});\nzrUtil.mixin(GeoModel, selectableMixin);\nvar _default = GeoModel;\nmodule.exports = _default;\n\n/***/ }),\n/* 1065 */\n/***/ (function(module, exports) {\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// 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;\n\n/***/ }),\n/* 1066 */\n/***/ (function(module, exports) {\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 geoCoordMap = {\n 'Russia': [100, 60],\n 'United States': [-99, 38],\n 'United States of America': [-99, 38]\n};\n\nfunction _default(mapType, region) {\n if (mapType === 'world') {\n var geoCoord = geoCoordMap[region.name];\n\n if (geoCoord) {\n var cp = region.center;\n cp[0] = geoCoord[0];\n cp[1] = geoCoord[1];\n }\n }\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1067 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Region = __webpack_require__(404);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 南海诸岛\nvar geoCoord = [126, 25];\nvar points = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]];\n\nfor (var i = 0; i < points.length; i++) {\n for (var k = 0; k < points[i].length; k++) {\n points[i][k][0] /= 10.5;\n points[i][k][1] /= -10.5 / 0.75;\n points[i][k][0] += geoCoord[0];\n points[i][k][1] += geoCoord[1];\n }\n}\n\nfunction _default(mapType, regions) {\n if (mapType === 'china') {\n regions.push(new Region('南海诸岛', zrUtil.map(points, function (exterior) {\n return {\n type: 'polygon',\n exterior: exterior\n };\n }), geoCoord));\n }\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1068 */\n/***/ (function(module, exports) {\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 coordsOffsetMap = {\n '南海诸岛': [32, 80],\n // 全国\n '广东': [0, -10],\n '香港': [10, 5],\n '澳门': [-10, 10],\n //'北京': [-10, 0],\n '天津': [5, 5]\n};\n\nfunction _default(mapType, region) {\n if (mapType === 'china') {\n var coordFix = coordsOffsetMap[region.name];\n\n if (coordFix) {\n var cp = region.center;\n cp[0] += coordFix[0] / 10.5;\n cp[1] += -coordFix[1] / (10.5 / 0.75);\n }\n }\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1069 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar each = _util.each;\n\nvar parseGeoJson = __webpack_require__(405);\n\nvar _model = __webpack_require__(8);\n\nvar makeInner = _model.makeInner;\n\nvar fixNanhai = __webpack_require__(1067);\n\nvar fixTextCoord = __webpack_require__(1068);\n\nvar fixGeoCoord = __webpack_require__(1066);\n\nvar fixDiaoyuIsland = __webpack_require__(1065);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Built-in GEO fixer.\nvar inner = makeInner();\nvar _default = {\n /**\n * @param {string} mapName\n * @param {Object} mapRecord {specialAreas, geoJSON}\n * @return {Object} {regions, boundingRect}\n */\n load: function (mapName, mapRecord) {\n var parsed = inner(mapRecord).parsed;\n\n if (parsed) {\n return parsed;\n }\n\n var specialAreas = mapRecord.specialAreas || {};\n var geoJSON = mapRecord.geoJSON;\n var regions; // https://jsperf.com/try-catch-performance-overhead\n\n try {\n regions = geoJSON ? parseGeoJson(geoJSON) : [];\n } catch (e) {\n throw new Error('Invalid geoJson format\\n' + e.message);\n }\n\n fixNanhai(mapName, regions);\n each(regions, function (region) {\n var regionName = region.name;\n fixTextCoord(mapName, region);\n fixGeoCoord(mapName, region);\n fixDiaoyuIsland(mapName, region); // Some area like Alaska in USA map needs to be tansformed\n // to look better\n\n var specialArea = specialAreas[regionName];\n\n if (specialArea) {\n region.transformTo(specialArea.left, specialArea.top, specialArea.width, specialArea.height);\n }\n });\n return inner(mapRecord).parsed = {\n regions: regions,\n boundingRect: getBoundingRect(regions)\n };\n }\n};\n\nfunction getBoundingRect(regions) {\n var rect;\n\n for (var i = 0; i < regions.length; i++) {\n var regionRect = regions[i].getBoundingRect();\n rect = rect || regionRect.clone();\n rect.union(regionRect);\n }\n\n return rect;\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1070 */\n/***/ (function(module, exports, __webpack_require__) {\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 _parseSVG = __webpack_require__(452);\n\nvar parseSVG = _parseSVG.parseSVG;\nvar makeViewBoxTransform = _parseSVG.makeViewBoxTransform;\n\nvar Group = __webpack_require__(104);\n\nvar Rect = __webpack_require__(278);\n\nvar _util = __webpack_require__(0);\n\nvar assert = _util.assert;\nvar createHashMap = _util.createHashMap;\n\nvar BoundingRect = __webpack_require__(18);\n\nvar _model = __webpack_require__(8);\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;\n\n/***/ }),\n/* 1071 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 1072 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar makeStyleMapper = __webpack_require__(122);\n\nvar axisModelCreator = __webpack_require__(175);\n\nvar numberUtil = __webpack_require__(7);\n\nvar axisModelCommonMixin = __webpack_require__(120);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1073 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar matrix = __webpack_require__(32);\n\nvar layoutUtil = __webpack_require__(14);\n\nvar axisHelper = __webpack_require__(53);\n\nvar ParallelAxis = __webpack_require__(1074);\n\nvar graphic = __webpack_require__(6);\n\nvar numberUtil = __webpack_require__(7);\n\nvar sliderMove = __webpack_require__(119);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/***/ }),\n/* 1074 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Axis = __webpack_require__(79);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 1075 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Component = __webpack_require__(28);\n\n__webpack_require__(1072);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 = Component.extend({\n type: 'parallel',\n dependencies: ['parallelAxis'],\n\n /**\n * @type {module:echarts/coord/parallel/Parallel}\n */\n coordinateSystem: null,\n\n /**\n * Each item like: 'dim0', 'dim1', 'dim2', ...\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * Coresponding to dimensions.\n * @type {Array.}\n * @readOnly\n */\n parallelAxisIndex: null,\n layoutMode: 'box',\n defaultOption: {\n zlevel: 0,\n z: 0,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n layout: 'horizontal',\n // 'horizontal' or 'vertical'\n // FIXME\n // naming?\n axisExpandable: false,\n axisExpandCenter: null,\n axisExpandCount: 0,\n axisExpandWidth: 50,\n // FIXME '10%' ?\n axisExpandRate: 17,\n axisExpandDebounce: 50,\n // [out, in, jumpTarget]. In percentage. If use [null, 0.05], null means full.\n // Do not doc to user until necessary.\n axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4],\n axisExpandTriggerOn: 'click',\n // 'mousemove' or 'click'\n parallelAxisDefault: null\n },\n\n /**\n * @override\n */\n init: function () {\n Component.prototype.init.apply(this, arguments);\n this.mergeOption({});\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var thisOption = this.option;\n newOption && zrUtil.merge(thisOption, newOption, true);\n\n this._initDimensions();\n },\n\n /**\n * Whether series or axis is in this coordinate system.\n * @param {module:echarts/model/Series|module:echarts/coord/parallel/AxisModel} model\n * @param {module:echarts/model/Global} ecModel\n */\n contains: function (model, ecModel) {\n var parallelIndex = model.get('parallelIndex');\n return parallelIndex != null && ecModel.getComponent('parallel', parallelIndex) === this;\n },\n setAxisExpand: function (opt) {\n zrUtil.each(['axisExpandable', 'axisExpandCenter', 'axisExpandCount', 'axisExpandWidth', 'axisExpandWindow'], function (name) {\n if (opt.hasOwnProperty(name)) {\n this.option[name] = opt[name];\n }\n }, this);\n },\n\n /**\n * @private\n */\n _initDimensions: function () {\n var dimensions = this.dimensions = [];\n var parallelAxisIndex = this.parallelAxisIndex = [];\n var axisModels = zrUtil.filter(this.dependentModels.parallelAxis, function (axisModel) {\n // Can not use this.contains here, because\n // initialization has not been completed yet.\n return (axisModel.get('parallelIndex') || 0) === this.componentIndex;\n }, this);\n zrUtil.each(axisModels, function (axisModel) {\n dimensions.push('dim' + axisModel.get('dim'));\n parallelAxisIndex.push(axisModel.componentIndex);\n });\n }\n});\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1076 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar modelUtil = __webpack_require__(8);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 createParallelIfNeeded(option);\n mergeAxisOptionFromParallel(option);\n}\n/**\n * Create a parallel coordinate if not exists.\n * @inner\n */\n\n\nfunction createParallelIfNeeded(option) {\n if (option.parallel) {\n return;\n }\n\n var hasParallelSeries = false;\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'parallel') {\n hasParallelSeries = true;\n }\n });\n\n if (hasParallelSeries) {\n option.parallel = [{}];\n }\n}\n/**\n * Merge aixs definition from parallel option (if exists) to axis option.\n * @inner\n */\n\n\nfunction mergeAxisOptionFromParallel(option) {\n var axes = modelUtil.normalizeToArray(option.parallelAxis);\n zrUtil.each(axes, function (axisOption) {\n if (!zrUtil.isObject(axisOption)) {\n return;\n }\n\n var parallelIndex = axisOption.parallelIndex || 0;\n var parallelOption = modelUtil.normalizeToArray(option.parallel)[parallelIndex];\n\n if (parallelOption && parallelOption.parallelAxisDefault) {\n zrUtil.merge(axisOption, parallelOption.parallelAxisDefault, false);\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1077 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar textContain = __webpack_require__(46);\n\nvar Axis = __webpack_require__(79);\n\nvar _model = __webpack_require__(8);\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;\n\n/***/ }),\n/* 1078 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar axisModelCreator = __webpack_require__(175);\n\nvar axisModelCommonMixin = __webpack_require__(120);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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);\n\n/***/ }),\n/* 1079 */\n/***/ (function(module, exports, __webpack_require__) {\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 RadiusAxis = __webpack_require__(1081);\n\nvar AngleAxis = __webpack_require__(1077);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/polar/Polar\n */\n\n/**\n * @alias {module:echarts/coord/polar/Polar}\n * @constructor\n * @param {string} name\n */\nvar Polar = function (name) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * x of polar center\n * @type {number}\n */\n\n this.cx = 0;\n /**\n * y of polar center\n * @type {number}\n */\n\n this.cy = 0;\n /**\n * @type {module:echarts/coord/polar/RadiusAxis}\n * @private\n */\n\n this._radiusAxis = new RadiusAxis();\n /**\n * @type {module:echarts/coord/polar/AngleAxis}\n * @private\n */\n\n this._angleAxis = new AngleAxis();\n this._radiusAxis.polar = this._angleAxis.polar = this;\n};\n\nPolar.prototype = {\n type: 'polar',\n axisPointerEnabled: true,\n constructor: Polar,\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['radius', 'angle'],\n\n /**\n * @type {module:echarts/coord/PolarModel}\n */\n model: null,\n\n /**\n * If contain coord\n * @param {Array.} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var coord = this.pointToCoord(point);\n return this._radiusAxis.contain(coord[0]) && this._angleAxis.contain(coord[1]);\n },\n\n /**\n * If contain data\n * @param {Array.} data\n * @return {boolean}\n */\n containData: function (data) {\n return this._radiusAxis.containData(data[0]) && this._angleAxis.containData(data[1]);\n },\n\n /**\n * @param {string} dim\n * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n getAxis: function (dim) {\n return this['_' + dim + 'Axis'];\n },\n\n /**\n * @return {Array.}\n */\n getAxes: function () {\n return [this._radiusAxis, this._angleAxis];\n },\n\n /**\n * Get axes by type of scale\n * @param {string} scaleType\n * @return {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n */\n getAxesByScale: function (scaleType) {\n var axes = [];\n var angleAxis = this._angleAxis;\n var radiusAxis = this._radiusAxis;\n angleAxis.scale.type === scaleType && axes.push(angleAxis);\n radiusAxis.scale.type === scaleType && axes.push(radiusAxis);\n return axes;\n },\n\n /**\n * @return {module:echarts/coord/polar/AngleAxis}\n */\n getAngleAxis: function () {\n return this._angleAxis;\n },\n\n /**\n * @return {module:echarts/coord/polar/RadiusAxis}\n */\n getRadiusAxis: function () {\n return this._radiusAxis;\n },\n\n /**\n * @param {module:echarts/coord/polar/Axis}\n * @return {module:echarts/coord/polar/Axis}\n */\n getOtherAxis: function (axis) {\n var angleAxis = this._angleAxis;\n return axis === angleAxis ? this._radiusAxis : angleAxis;\n },\n\n /**\n * Base axis will be used on stacking.\n *\n * @return {module:echarts/coord/polar/Axis}\n */\n getBaseAxis: function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAngleAxis();\n },\n\n /**\n * @param {string} [dim] 'radius' or 'angle' or 'auto' or null/undefined\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n getTooltipAxes: function (dim) {\n var baseAxis = dim != null && dim !== 'auto' ? this.getAxis(dim) : this.getBaseAxis();\n return {\n baseAxes: [baseAxis],\n otherAxes: [this.getOtherAxis(baseAxis)]\n };\n },\n\n /**\n * Convert a single data item to (x, y) point.\n * Parameter data is an array which the first element is radius and the second is angle\n * @param {Array.} data\n * @param {boolean} [clamp=false]\n * @return {Array.}\n */\n dataToPoint: function (data, clamp) {\n return this.coordToPoint([this._radiusAxis.dataToRadius(data[0], clamp), this._angleAxis.dataToAngle(data[1], clamp)]);\n },\n\n /**\n * Convert a (x, y) point to data\n * @param {Array.} point\n * @param {boolean} [clamp=false]\n * @return {Array.}\n */\n pointToData: function (point, clamp) {\n var coord = this.pointToCoord(point);\n return [this._radiusAxis.radiusToData(coord[0], clamp), this._angleAxis.angleToData(coord[1], clamp)];\n },\n\n /**\n * Convert a (x, y) point to (radius, angle) coord\n * @param {Array.} point\n * @return {Array.}\n */\n pointToCoord: function (point) {\n var dx = point[0] - this.cx;\n var dy = point[1] - this.cy;\n var angleAxis = this.getAngleAxis();\n var extent = angleAxis.getExtent();\n var minAngle = Math.min(extent[0], extent[1]);\n var maxAngle = Math.max(extent[0], extent[1]); // Fix fixed extent in polarCreator\n // FIXME\n\n angleAxis.inverse ? minAngle = maxAngle - 360 : maxAngle = minAngle + 360;\n var radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n var radian = Math.atan2(-dy, dx) / Math.PI * 180; // move to angleExtent\n\n var dir = radian < minAngle ? 1 : -1;\n\n while (radian < minAngle || radian > maxAngle) {\n radian += dir * 360;\n }\n\n return [radius, radian];\n },\n\n /**\n * Convert a (radius, angle) coord to (x, y) point\n * @param {Array.} coord\n * @return {Array.}\n */\n coordToPoint: function (coord) {\n var radius = coord[0];\n var radian = coord[1] / 180 * Math.PI;\n var x = Math.cos(radian) * radius + this.cx; // Inverse the y\n\n var y = -Math.sin(radian) * radius + this.cy;\n return [x, y];\n },\n\n /**\n * Get ring area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n * @return {Ring}\n */\n getArea: function () {\n var angleAxis = this.getAngleAxis();\n var radiusAxis = this.getRadiusAxis();\n var radiusExtent = radiusAxis.getExtent().slice();\n radiusExtent[0] > radiusExtent[1] && radiusExtent.reverse();\n var angleExtent = angleAxis.getExtent();\n var RADIAN = Math.PI / 180;\n return {\n cx: this.cx,\n cy: this.cy,\n r0: radiusExtent[0],\n r: radiusExtent[1],\n startAngle: -angleExtent[0] * RADIAN,\n endAngle: -angleExtent[1] * RADIAN,\n clockwise: angleAxis.inverse,\n contain: function (x, y) {\n // It's a ring shape.\n // Start angle and end angle don't matter\n var dx = x - this.cx;\n var dy = y - this.cy;\n var d2 = dx * dx + dy * dy;\n var r = this.r;\n var r0 = this.r0;\n return d2 <= r * r && d2 >= r0 * r0;\n }\n };\n }\n};\nvar _default = Polar;\nmodule.exports = _default;\n\n/***/ }),\n/* 1080 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\n__webpack_require__(1078);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/***/ }),\n/* 1081 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Axis = __webpack_require__(79);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1082 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\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;\n\n/***/ }),\n/* 1083 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Axis = __webpack_require__(79);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1084 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar IndicatorAxis = __webpack_require__(1083);\n\nvar IntervalScale = __webpack_require__(178);\n\nvar numberUtil = __webpack_require__(7);\n\nvar _axisHelper = __webpack_require__(53);\n\nvar getScaleExtent = _axisHelper.getScaleExtent;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = __webpack_require__(52);\n\nvar LogScale = __webpack_require__(415);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 clockwise\nfunction Radar(radarModel, ecModel, api) {\n this._model = radarModel;\n /**\n * Radar dimensions\n * @type {Array.}\n */\n\n this.dimensions = [];\n this._indicatorAxes = zrUtil.map(radarModel.getIndicatorModels(), function (indicatorModel, idx) {\n var dim = 'indicator_' + idx;\n var indicatorAxis = new IndicatorAxis(dim, indicatorModel.get('axisType') === 'log' ? new LogScale() : new IntervalScale());\n indicatorAxis.name = indicatorModel.get('name'); // Inject model and axis\n\n indicatorAxis.model = indicatorModel;\n indicatorModel.axis = indicatorAxis;\n this.dimensions.push(dim);\n return indicatorAxis;\n }, this);\n this.resize(radarModel, api);\n /**\n * @type {number}\n * @readOnly\n */\n\n this.cx;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.cy;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.r;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.r0;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.startAngle;\n}\n\nRadar.prototype.getIndicatorAxes = function () {\n return this._indicatorAxes;\n};\n\nRadar.prototype.dataToPoint = function (value, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);\n};\n\nRadar.prototype.coordToPoint = function (coord, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n var angle = indicatorAxis.angle;\n var x = this.cx + coord * Math.cos(angle);\n var y = this.cy - coord * Math.sin(angle);\n return [x, y];\n};\n\nRadar.prototype.pointToData = function (pt) {\n var dx = pt[0] - this.cx;\n var dy = pt[1] - this.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n var radian = Math.atan2(-dy, dx); // Find the closest angle\n // FIXME index can calculated directly\n\n var minRadianDiff = Infinity;\n var closestAxis;\n var closestAxisIdx = -1;\n\n for (var i = 0; i < this._indicatorAxes.length; i++) {\n var indicatorAxis = this._indicatorAxes[i];\n var diff = Math.abs(radian - indicatorAxis.angle);\n\n if (diff < minRadianDiff) {\n closestAxis = indicatorAxis;\n closestAxisIdx = i;\n minRadianDiff = diff;\n }\n }\n\n return [closestAxisIdx, +(closestAxis && closestAxis.coordToData(radius))];\n};\n\nRadar.prototype.resize = function (radarModel, api) {\n var center = radarModel.get('center');\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n var viewSize = Math.min(viewWidth, viewHeight) / 2;\n this.cx = numberUtil.parsePercent(center[0], viewWidth);\n this.cy = numberUtil.parsePercent(center[1], viewHeight);\n this.startAngle = radarModel.get('startAngle') * Math.PI / 180; // radius may be single value like `20`, `'80%'`, or array like `[10, '80%']`\n\n var radius = radarModel.get('radius');\n\n if (typeof radius === 'string' || typeof radius === 'number') {\n radius = [0, radius];\n }\n\n this.r0 = numberUtil.parsePercent(radius[0], viewSize);\n this.r = numberUtil.parsePercent(radius[1], viewSize);\n zrUtil.each(this._indicatorAxes, function (indicatorAxis, idx) {\n indicatorAxis.setExtent(this.r0, this.r);\n var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length; // Normalize to [-PI, PI]\n\n angle = Math.atan2(Math.sin(angle), Math.cos(angle));\n indicatorAxis.angle = angle;\n }, this);\n};\n\nRadar.prototype.update = function (ecModel, api) {\n var indicatorAxes = this._indicatorAxes;\n var radarModel = this._model;\n zrUtil.each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.setExtent(Infinity, -Infinity);\n });\n ecModel.eachSeriesByType('radar', function (radarSeries, idx) {\n if (radarSeries.get('coordinateSystem') !== 'radar' || ecModel.getComponent('radar', radarSeries.get('radarIndex')) !== radarModel) {\n return;\n }\n\n var data = radarSeries.getData();\n zrUtil.each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.unionExtentFromData(data, data.mapDimension(indicatorAxis.dim));\n });\n }, this);\n var splitNumber = radarModel.get('splitNumber');\n\n function increaseInterval(interval) {\n var exp10 = Math.pow(10, Math.floor(Math.log(interval) / Math.LN10)); // Increase interval\n\n var f = interval / exp10;\n\n if (f === 2) {\n f = 5;\n } else {\n // f is 2 or 5\n f *= 2;\n }\n\n return f * exp10;\n } // Force all the axis fixing the maxSplitNumber.\n\n\n zrUtil.each(indicatorAxes, function (indicatorAxis, idx) {\n var rawExtent = getScaleExtent(indicatorAxis.scale, indicatorAxis.model);\n niceScaleExtent(indicatorAxis.scale, indicatorAxis.model);\n var axisModel = indicatorAxis.model;\n var scale = indicatorAxis.scale;\n var fixedMin = axisModel.getMin();\n var fixedMax = axisModel.getMax();\n var interval = scale.getInterval();\n\n if (fixedMin != null && fixedMax != null) {\n // User set min, max, divide to get new interval\n scale.setExtent(+fixedMin, +fixedMax);\n scale.setInterval((fixedMax - fixedMin) / splitNumber);\n } else if (fixedMin != null) {\n var max; // User set min, expand extent on the other side\n\n do {\n max = fixedMin + interval * splitNumber;\n scale.setExtent(+fixedMin, max); // Interval must been set after extent\n // FIXME\n\n scale.setInterval(interval);\n interval = increaseInterval(interval);\n } while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1]));\n } else if (fixedMax != null) {\n var min; // User set min, expand extent on the other side\n\n do {\n min = fixedMax - interval * splitNumber;\n scale.setExtent(min, +fixedMax);\n scale.setInterval(interval);\n interval = increaseInterval(interval);\n } while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0]));\n } else {\n var nicedSplitNumber = scale.getTicks().length - 1;\n\n if (nicedSplitNumber > splitNumber) {\n interval = increaseInterval(interval);\n } // TODO\n\n\n var max = Math.ceil(rawExtent[1] / interval) * interval;\n var min = numberUtil.round(max - interval * splitNumber);\n scale.setExtent(min, max);\n scale.setInterval(interval);\n }\n });\n};\n/**\n * Radar dimensions is based on the data\n * @type {Array}\n */\n\n\nRadar.dimensions = [];\n\nRadar.create = function (ecModel, api) {\n var radarList = [];\n ecModel.eachComponent('radar', function (radarModel) {\n var radar = new Radar(radarModel, ecModel, api);\n radarList.push(radar);\n radarModel.coordinateSystem = radar;\n });\n ecModel.eachSeriesByType('radar', function (radarSeries) {\n if (radarSeries.get('coordinateSystem') === 'radar') {\n // Inject coordinate system\n radarSeries.coordinateSystem = radarList[radarSeries.get('radarIndex') || 0];\n }\n });\n return radarList;\n};\n\nCoordinateSystem.register('radar', Radar);\nvar _default = Radar;\nmodule.exports = _default;\n\n/***/ }),\n/* 1085 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(2);\n\nvar zrUtil = __webpack_require__(0);\n\nvar axisDefault = __webpack_require__(401);\n\nvar Model = __webpack_require__(26);\n\nvar axisModelCommonMixin = __webpack_require__(120);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 valueAxisDefault = axisDefault.valueAxis;\n\nfunction defaultsShow(opt, show) {\n return zrUtil.defaults({\n show: show\n }, opt);\n}\n\nvar RadarModel = echarts.extendComponentModel({\n type: 'radar',\n optionUpdated: function () {\n var boundaryGap = this.get('boundaryGap');\n var splitNumber = this.get('splitNumber');\n var scale = this.get('scale');\n var axisLine = this.get('axisLine');\n var axisTick = this.get('axisTick');\n var axisType = this.get('axisType');\n var axisLabel = this.get('axisLabel');\n var nameTextStyle = this.get('name');\n var showName = this.get('name.show');\n var nameFormatter = this.get('name.formatter');\n var nameGap = this.get('nameGap');\n var triggerEvent = this.get('triggerEvent');\n var indicatorModels = zrUtil.map(this.get('indicator') || [], function (indicatorOpt) {\n // PENDING\n if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {\n indicatorOpt.min = 0;\n } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {\n indicatorOpt.max = 0;\n }\n\n var iNameTextStyle = nameTextStyle;\n\n if (indicatorOpt.color != null) {\n iNameTextStyle = zrUtil.defaults({\n color: indicatorOpt.color\n }, nameTextStyle);\n } // Use same configuration\n\n\n indicatorOpt = zrUtil.merge(zrUtil.clone(indicatorOpt), {\n boundaryGap: boundaryGap,\n splitNumber: splitNumber,\n scale: scale,\n axisLine: axisLine,\n axisTick: axisTick,\n axisType: axisType,\n axisLabel: axisLabel,\n // Compatible with 2 and use text\n name: indicatorOpt.text,\n nameLocation: 'end',\n nameGap: nameGap,\n // min: 0,\n nameTextStyle: iNameTextStyle,\n triggerEvent: triggerEvent\n }, false);\n\n if (!showName) {\n indicatorOpt.name = '';\n }\n\n if (typeof nameFormatter === 'string') {\n var indName = indicatorOpt.name;\n indicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');\n } else if (typeof nameFormatter === 'function') {\n indicatorOpt.name = nameFormatter(indicatorOpt.name, indicatorOpt);\n }\n\n var model = zrUtil.extend(new Model(indicatorOpt, null, this.ecModel), axisModelCommonMixin); // For triggerEvent.\n\n model.mainType = 'radar';\n model.componentIndex = this.componentIndex;\n return model;\n }, this);\n\n this.getIndicatorModels = function () {\n return indicatorModels;\n };\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '75%',\n startAngle: 90,\n name: {\n show: true // formatter: null\n // textStyle: {}\n\n },\n boundaryGap: [0, 0],\n splitNumber: 5,\n nameGap: 15,\n scale: false,\n // Polygon or circle\n shape: 'polygon',\n axisLine: zrUtil.merge({\n lineStyle: {\n color: '#bbb'\n }\n }, valueAxisDefault.axisLine),\n axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),\n axisTick: defaultsShow(valueAxisDefault.axisTick, false),\n axisType: 'interval',\n splitLine: defaultsShow(valueAxisDefault.splitLine, true),\n splitArea: defaultsShow(valueAxisDefault.splitArea, true),\n // {text, min, max}\n indicator: []\n }\n});\nvar _default = RadarModel;\nmodule.exports = _default;\n\n/***/ }),\n/* 1086 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar ComponentModel = __webpack_require__(28);\n\nvar axisModelCreator = __webpack_require__(175);\n\nvar axisModelCommonMixin = __webpack_require__(120);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1087 */\n/***/ (function(module, exports, __webpack_require__) {\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 SingleAxis = __webpack_require__(1088);\n\nvar axisHelper = __webpack_require__(53);\n\nvar _layout = __webpack_require__(14);\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar _util = __webpack_require__(0);\n\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 * Single coordinates system.\n */\n\n/**\n * Create a single coordinates system.\n *\n * @param {module:echarts/coord/single/AxisModel} axisModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction Single(axisModel, ecModel, api) {\n /**\n * @type {string}\n * @readOnly\n */\n this.dimension = 'single';\n /**\n * Add it just for draw tooltip.\n *\n * @type {Array.}\n * @readOnly\n */\n\n this.dimensions = ['single'];\n /**\n * @private\n * @type {module:echarts/coord/single/SingleAxis}.\n */\n\n this._axis = null;\n /**\n * @private\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._rect;\n\n this._init(axisModel, ecModel, api);\n /**\n * @type {module:echarts/coord/single/AxisModel}\n */\n\n\n this.model = axisModel;\n}\n\nSingle.prototype = {\n type: 'singleAxis',\n axisPointerEnabled: true,\n constructor: Single,\n\n /**\n * Initialize single coordinate system.\n *\n * @param {module:echarts/coord/single/AxisModel} axisModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @private\n */\n _init: function (axisModel, ecModel, api) {\n var dim = this.dimension;\n var axis = new SingleAxis(dim, axisHelper.createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisModel.get('position'));\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse');\n axis.orient = axisModel.get('orient');\n axisModel.axis = axis;\n axis.model = axisModel;\n axis.coordinateSystem = this;\n this._axis = axis;\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 ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem === this) {\n var data = seriesModel.getData();\n each(data.mapDimension(this.dimension, true), function (dim) {\n this._axis.scale.unionExtentFromData(data, dim);\n }, this);\n axisHelper.niceScaleExtent(this._axis.scale, this._axis.model);\n }\n }, this);\n },\n\n /**\n * Resize the single coordinate system.\n *\n * @param {module:echarts/coord/single/AxisModel} axisModel\n * @param {module:echarts/ExtensionAPI} api\n */\n resize: function (axisModel, api) {\n this._rect = getLayoutRect({\n left: axisModel.get('left'),\n top: axisModel.get('top'),\n right: axisModel.get('right'),\n bottom: axisModel.get('bottom'),\n width: axisModel.get('width'),\n height: axisModel.get('height')\n }, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n this._adjustAxis();\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getRect: function () {\n return this._rect;\n },\n\n /**\n * @private\n */\n _adjustAxis: function () {\n var rect = this._rect;\n var axis = this._axis;\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, rect.width] : [0, rect.height];\n var idx = axis.reverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n\n this._updateAxisTransform(axis, isHorizontal ? rect.x : rect.y);\n },\n\n /**\n * @param {module:echarts/coord/single/SingleAxis} axis\n * @param {number} coordBase\n */\n _updateAxisTransform: function (axis, coordBase) {\n var axisExtent = axis.getExtent();\n var extentSum = axisExtent[0] + axisExtent[1];\n var isHorizontal = axis.isHorizontal();\n axis.toGlobalCoord = isHorizontal ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return extentSum - coord + coordBase;\n };\n axis.toLocalCoord = isHorizontal ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return extentSum - coord + coordBase;\n };\n },\n\n /**\n * Get axis.\n *\n * @return {module:echarts/coord/single/SingleAxis}\n */\n getAxis: function () {\n return this._axis;\n },\n\n /**\n * Get axis, add it just for draw tooltip.\n *\n * @return {[type]} [description]\n */\n getBaseAxis: function () {\n return this._axis;\n },\n\n /**\n * @return {Array.}\n */\n getAxes: function () {\n return [this._axis];\n },\n\n /**\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n getTooltipAxes: function () {\n return {\n baseAxes: [this.getAxis()]\n };\n },\n\n /**\n * If contain point.\n *\n * @param {Array.} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var rect = this.getRect();\n var axis = this.getAxis();\n var orient = axis.orient;\n\n if (orient === 'horizontal') {\n return axis.contain(axis.toLocalCoord(point[0])) && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n } else {\n return axis.contain(axis.toLocalCoord(point[1])) && point[0] >= rect.y && point[0] <= rect.y + rect.height;\n }\n },\n\n /**\n * @param {Array.} point\n * @return {Array.}\n */\n pointToData: function (point) {\n var axis = this.getAxis();\n return [axis.coordToData(axis.toLocalCoord(point[axis.orient === 'horizontal' ? 0 : 1]))];\n },\n\n /**\n * Convert the series data to concrete point.\n *\n * @param {number|Array.} val\n * @return {Array.}\n */\n dataToPoint: function (val) {\n var axis = this.getAxis();\n var rect = this.getRect();\n var pt = [];\n var idx = axis.orient === 'horizontal' ? 0 : 1;\n\n if (val instanceof Array) {\n val = val[0];\n }\n\n pt[idx] = axis.toGlobalCoord(axis.dataToCoord(+val));\n pt[1 - idx] = idx === 0 ? rect.y + rect.height / 2 : rect.x + rect.width / 2;\n return pt;\n }\n};\nvar _default = Single;\nmodule.exports = _default;\n\n/***/ }),\n/* 1088 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Axis = __webpack_require__(79);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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/single/SingleAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar SingleAxis = 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 * @type {string}\n */\n\n this.position = position || 'bottom';\n /**\n * Axis orient\n * - 'horizontal'\n * - 'vertical'\n * @type {[type]}\n */\n\n this.orient = null;\n};\n\nSingleAxis.prototype = {\n constructor: SingleAxis,\n\n /**\n * Axis model\n * @type {module:echarts/coord/single/AxisModel}\n */\n model: null,\n\n /**\n * Judge the orient of the axis.\n * @return {boolean}\n */\n isHorizontal: function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n },\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.coordinateSystem.pointToData(point, clamp)[0];\n },\n\n /**\n * Convert the local coord(processed by dataToCoord())\n * to global coord(concrete pixel coord).\n * designated by module:echarts/coord/single/Single.\n * @type {Function}\n */\n toGlobalCoord: null,\n\n /**\n * Convert the global coord to local coord.\n * designated by module:echarts/coord/single/Single.\n * @type {Function}\n */\n toLocalCoord: null\n};\nzrUtil.inherits(SingleAxis, Axis);\nvar _default = SingleAxis;\nmodule.exports = _default;\n\n/***/ }),\n/* 1089 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n var axis = this.getAxis();\n var val = dataItem instanceof Array ? dataItem[0] : dataItem;\n var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;\n return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getRect();\n return {\n coordSys: {\n type: 'singleAxis',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: function (val) {\n // do not provide \"out\" param\n return coordSys.dataToPoint(val);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1090 */\n/***/ (function(module, exports, __webpack_require__) {\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 Single = __webpack_require__(1087);\n\nvar CoordinateSystem = __webpack_require__(52);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Single coordinate system creator.\n */\n\n/**\n * Create single coordinate system and inject it into seriesModel.\n *\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @return {Array.}\n */\nfunction create(ecModel, api) {\n var singles = [];\n ecModel.eachComponent('singleAxis', function (axisModel, idx) {\n var single = new Single(axisModel, ecModel, api);\n single.name = 'single_' + idx;\n single.resize(axisModel, api);\n axisModel.coordinateSystem = single;\n singles.push(single);\n });\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'singleAxis') {\n var singleAxisModel = ecModel.queryComponents({\n mainType: 'singleAxis',\n index: seriesModel.get('singleAxisIndex'),\n id: seriesModel.get('singleAxisId')\n })[0];\n seriesModel.coordinateSystem = singleAxisModel && singleAxisModel.coordinateSystem;\n }\n });\n return singles;\n}\n\nCoordinateSystem.register('single', {\n create: create,\n dimensions: Single.prototype.dimensions\n});\n\n/***/ }),\n/* 1091 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = __webpack_require__(0);\n\nvar _clazz = __webpack_require__(71);\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; // PENDING\n\n if (edgesMap[key]) {\n return;\n }\n\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/***/ }),\n/* 1092 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar createListFromArray = __webpack_require__(69);\n\nvar axisHelper = __webpack_require__(53);\n\nvar axisModelCommonMixin = __webpack_require__(120);\n\nvar Model = __webpack_require__(26);\n\nvar _layout = __webpack_require__(14);\n\nvar getLayoutRect = _layout.getLayoutRect;\nexports.getLayoutRect = _layout.getLayoutRect;\n\nvar _dataStackHelper = __webpack_require__(59);\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nvar _completeDimensions = __webpack_require__(410);\n\nexports.completeDimensions = _completeDimensions;\n\nvar _createDimensions = __webpack_require__(121);\n\nexports.createDimensions = _createDimensions;\n\nvar _symbol = __webpack_require__(45);\n\nexports.createSymbol = _symbol.createSymbol;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 createGraphFromNodeEdge from './chart/helper/createGraphFromNodeEdge';\n\n/**\n * Create a muti dimension List structure from seriesModel.\n * @param {module:echarts/model/Model} seriesModel\n * @return {module:echarts/data/List} list\n */\nfunction createList(seriesModel) {\n return createListFromArray(seriesModel.getSource(), seriesModel);\n} // export function createGraph(seriesModel) {\n// var nodes = seriesModel.get('data');\n// var links = seriesModel.get('links');\n// return createGraphFromNodeEdge(nodes, links, seriesModel);\n// }\n\n\nvar dataStack = {\n isDimensionStacked: isDimensionStacked,\n enableDataStack: enableDataStack,\n getStackedDimension: getStackedDimension\n};\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n * @param {string} symbolDesc\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {string} color\n */\n\n/**\n * Create scale\n * @param {Array.} dataExtent\n * @param {Object|module:echarts/Model} option\n */\nfunction createScale(dataExtent, option) {\n var axisModel = option;\n\n if (!Model.isInstance(option)) {\n axisModel = new Model(option);\n zrUtil.mixin(axisModel, axisModelCommonMixin);\n }\n\n var scale = axisHelper.createScaleByModel(axisModel);\n scale.setExtent(dataExtent[0], dataExtent[1]);\n axisHelper.niceScaleExtent(scale, axisModel);\n return scale;\n}\n/**\n * Mixin common methods to axis model,\n *\n * Inlcude methods\n * `getFormattedLabels() => Array.`\n * `getCategories() => Array.`\n * `getMin(origin: boolean) => number`\n * `getMax(origin: boolean) => number`\n * `getNeedCrossZero() => boolean`\n * `setRange(start: number, end: number)`\n * `resetRange()`\n */\n\n\nfunction mixinAxisModelCommonMethods(Model) {\n zrUtil.mixin(Model, axisModelCommonMixin);\n}\n\nexports.createList = createList;\nexports.dataStack = dataStack;\nexports.createScale = createScale;\nexports.mixinAxisModelCommonMethods = mixinAxisModelCommonMethods;\n\n/***/ }),\n/* 1093 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar _number = __webpack_require__(7);\n\nvar parsePercent = _number.parsePercent;\n\nvar _dataStackHelper = __webpack_require__(59);\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*/\nfunction getSeriesStackId(seriesModel) {\n return seriesModel.get('stack') || '__ec_stack_' + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(polar, axis) {\n return axis.dim + polar.model.componentIndex;\n}\n/**\n * @param {string} seriesType\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction barLayoutPolar(seriesType, ecModel, api) {\n var lastStackCoords = {};\n var barWidthAndOffset = calRadialBar(zrUtil.filter(ecModel.getSeriesByType(seriesType), function (seriesModel) {\n return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'polar';\n }));\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n // Check series coordinate, do layout for polar only\n if (seriesModel.coordinateSystem.type !== 'polar') {\n return;\n }\n\n var data = seriesModel.getData();\n var polar = seriesModel.coordinateSystem;\n var baseAxis = polar.getBaseAxis();\n var axisKey = getAxisKey(polar, baseAxis);\n var stackId = getSeriesStackId(seriesModel);\n var columnLayoutInfo = barWidthAndOffset[axisKey][stackId];\n var columnOffset = columnLayoutInfo.offset;\n var columnWidth = columnLayoutInfo.width;\n var valueAxis = polar.getOtherAxis(baseAxis);\n var cx = seriesModel.coordinateSystem.cx;\n var cy = seriesModel.coordinateSystem.cy;\n var barMinHeight = seriesModel.get('barMinHeight') || 0;\n var barMinAngle = seriesModel.get('barMinAngle') || 0;\n lastStackCoords[stackId] = lastStackCoords[stackId] || [];\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 clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true);\n var valueAxisStart = valueAxis.getExtent()[0];\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 // Only ordinal axis can be stacked.\n\n if (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 r0;\n var r;\n var startAngle;\n var endAngle; // radial sector\n\n if (valueAxis.dim === 'radius') {\n var radiusSpan = valueAxis.dataToRadius(value) - valueAxisStart;\n var angle = baseAxis.dataToAngle(baseValue);\n\n if (Math.abs(radiusSpan) < barMinHeight) {\n radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;\n }\n\n r0 = baseCoord;\n r = baseCoord + radiusSpan;\n startAngle = angle - columnOffset;\n endAngle = startAngle - columnWidth;\n stacked && (lastStackCoords[stackId][baseValue][sign] = r);\n } // tangential sector\n else {\n var angleSpan = valueAxis.dataToAngle(value, clampLayout) - valueAxisStart;\n var radius = baseAxis.dataToRadius(baseValue);\n\n if (Math.abs(angleSpan) < barMinAngle) {\n angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;\n }\n\n r0 = radius + columnOffset;\n r = r0 + columnWidth;\n startAngle = baseCoord;\n endAngle = baseCoord + angleSpan; // if the previous stack is at the end of the ring,\n // add a round to differentiate it from origin\n // var extent = angleAxis.getExtent();\n // var stackCoord = angle;\n // if (stackCoord === extent[0] && value > 0) {\n // stackCoord = extent[1];\n // }\n // else if (stackCoord === extent[1] && value < 0) {\n // stackCoord = extent[0];\n // }\n\n stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);\n }\n\n data.setItemLayout(idx, {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r,\n // Consider that positive angle is anti-clockwise,\n // while positive radian of sector is clockwise\n startAngle: -startAngle * Math.PI / 180,\n endAngle: -endAngle * Math.PI / 180\n });\n }\n }, this);\n}\n/**\n * Calculate bar width and offset for radial bar charts\n */\n\n\nfunction calRadialBar(barSeries, api) {\n // Columns info on each category axis. Key is polar name\n var columnsMap = {};\n zrUtil.each(barSeries, function (seriesModel, idx) {\n var data = seriesModel.getData();\n var polar = seriesModel.coordinateSystem;\n var baseAxis = polar.getBaseAxis();\n var axisKey = getAxisKey(polar, baseAxis);\n var axisExtent = baseAxis.getExtent();\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\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 = getSeriesStackId(seriesModel);\n\n if (!stacks[stackId]) {\n columnsOnAxis.autoWidthCount++;\n }\n\n stacks[stackId] = stacks[stackId] || {\n width: 0,\n maxWidth: 0\n };\n var barWidth = parsePercent(seriesModel.get('barWidth'), bandWidth);\n var barMaxWidth = parsePercent(seriesModel.get('barMaxWidth'), bandWidth);\n var barGap = seriesModel.get('barGap');\n var barCategoryGap = seriesModel.get('barCategoryGap');\n\n if (barWidth && !stacks[stackId].width) {\n barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n stacks[stackId].width = barWidth;\n columnsOnAxis.remainedWidth -= barWidth;\n }\n\n barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n barGap != null && (columnsOnAxis.gap = barGap);\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, stack) {\n var maxWidth = column.maxWidth;\n\n if (maxWidth && maxWidth < autoWidth) {\n maxWidth = Math.min(maxWidth, remainedWidth);\n\n if (column.width) {\n maxWidth = Math.min(maxWidth, column.width);\n }\n\n remainedWidth -= maxWidth;\n column.width = maxWidth;\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 offset: offset,\n width: column.width\n };\n offset += column.width * (1 + barGapPercent);\n });\n });\n return result;\n}\n\nvar _default = barLayoutPolar;\nmodule.exports = _default;\n\n/***/ }),\n/* 1094 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar graphic = __webpack_require__(6);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 color: '#c23531',\n textColor: '#000',\n maskColor: 'rgba(255, 255, 255, 0.8)',\n zlevel: 0\n });\n var mask = new graphic.Rect({\n style: {\n fill: opts.maskColor\n },\n zlevel: opts.zlevel,\n z: 10000\n });\n var arc = new graphic.Arc({\n shape: {\n startAngle: -PI / 2,\n endAngle: -PI / 2 + 0.1,\n r: 10\n },\n style: {\n stroke: opts.color,\n lineCap: 'round',\n lineWidth: 5\n },\n zlevel: opts.zlevel,\n z: 10001\n });\n var labelRect = new graphic.Rect({\n style: {\n fill: 'none',\n text: opts.text,\n textPosition: 'right',\n textDistance: 10,\n textFill: opts.textColor\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 var group = new graphic.Group();\n group.add(arc);\n group.add(labelRect);\n group.add(mask); // Inject resize\n\n group.resize = function () {\n var cx = api.getWidth() / 2;\n var cy = api.getHeight() / 2;\n arc.setShape({\n cx: cx,\n cy: cy\n });\n var r = arc.shape.r;\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;\n\n/***/ }),\n/* 1095 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar modelUtil = __webpack_require__(8);\n\nvar ComponentModel = __webpack_require__(28);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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;\n\n/***/ }),\n/* 1096 */\n/***/ (function(module, exports) {\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;\n\n/***/ }),\n/* 1097 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(122);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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;\n\n/***/ }),\n/* 1098 */\n/***/ (function(module, exports) {\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 _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/***/ }),\n/* 1099 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(122);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 getItemStyle = makeStyleMapper([['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['textPosition'], ['textAlign']]);\nvar _default = {\n getItemStyle: function (excludes, includes) {\n var style = getItemStyle(this, excludes, includes);\n var lineDash = this.getBorderLineDash();\n lineDash && (style.lineDash = lineDash);\n return style;\n },\n getBorderLineDash: function () {\n var lineType = this.get('borderType');\n return lineType === 'solid' || lineType == null ? null : lineType === 'dashed' ? [5, 5] : [1, 1];\n }\n};\nmodule.exports = _default;\n\n/***/ }),\n/* 1100 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(122);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 getLineStyle = makeStyleMapper([['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\nvar _default = {\n getLineStyle: function (excludes) {\n var style = getLineStyle(this, excludes); // Always set lineDash whether dashed, otherwise we can not\n // erase the previous style when assigning to el.style.\n\n style.lineDash = this.getLineDash(style.lineWidth);\n return style;\n },\n getLineDash: function (lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n var lineType = this.get('type');\n var dotSize = Math.max(lineWidth, 2);\n var dashSize = lineWidth * 4;\n return lineType === 'solid' || lineType == null ? // Use `false` but not `null` for the solid line here, because `null` might be\n // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as\n // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the\n // `lineDash` gotten form the latter one is not able to erase that from the former\n // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.\n false : lineType === 'dashed' ? [dashSize, dashSize] : [dotSize, dotSize];\n }\n};\nmodule.exports = _default;\n\n/***/ }),\n/* 1101 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(46);\n\nvar graphicUtil = __webpack_require__(6);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 PATH_COLOR = ['textStyle', 'color'];\nvar _default = {\n /**\n * Get color property or get color from option.textStyle.color\n * @param {boolean} [isEmphasis]\n * @return {string}\n */\n getTextColor: function (isEmphasis) {\n var ecModel = this.ecModel;\n return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);\n },\n\n /**\n * Create font string from fontStyle, fontWeight, fontSize, fontFamily\n * @return {string}\n */\n getFont: function () {\n return graphicUtil.getFont({\n fontStyle: this.getShallow('fontStyle'),\n fontWeight: this.getShallow('fontWeight'),\n fontSize: this.getShallow('fontSize'),\n fontFamily: this.getShallow('fontFamily')\n }, this.ecModel);\n },\n getTextRect: function (text) {\n return textContain.getBoundingRect(text, this.getFont(), this.getShallow('align'), this.getShallow('verticalAlign') || this.getShallow('baseline'), this.getShallow('padding'), this.getShallow('lineHeight'), this.getShallow('rich'), this.getShallow('truncateText'));\n }\n};\nmodule.exports = _default;\n\n/***/ }),\n/* 1102 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(10);\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = __webpack_require__(0);\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;\n\n/***/ }),\n/* 1103 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar each = _util.each;\nvar isArray = _util.isArray;\nvar isObject = _util.isObject;\n\nvar compatStyle = __webpack_require__(1104);\n\nvar _model = __webpack_require__(8);\n\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*/\n// Compatitable with 2.0\nfunction get(opt, path) {\n path = path.split(',');\n var obj = opt;\n\n for (var i = 0; i < path.length; i++) {\n obj = obj && obj[path[i]];\n\n if (obj == null) {\n break;\n }\n }\n\n return obj;\n}\n\nfunction set(opt, path, val, overwrite) {\n path = path.split(',');\n var obj = opt;\n var key;\n\n for (var i = 0; i < path.length - 1; i++) {\n key = path[i];\n\n if (obj[key] == null) {\n obj[key] = {};\n }\n\n obj = obj[key];\n }\n\n if (overwrite || obj[path[i]] == null) {\n obj[path[i]] = val;\n }\n}\n\nfunction compatLayoutProperties(option) {\n each(LAYOUT_PROPERTIES, function (prop) {\n if (prop[0] in option && !(prop[1] in option)) {\n option[prop[1]] = option[prop[0]];\n }\n });\n}\n\nvar LAYOUT_PROPERTIES = [['x', 'left'], ['y', 'top'], ['x2', 'right'], ['y2', 'bottom']];\nvar COMPATITABLE_COMPONENTS = ['grid', 'geo', 'parallel', 'legend', 'toolbox', 'title', 'visualMap', 'dataZoom', 'timeline'];\n\nfunction _default(option, isTheme) {\n compatStyle(option, isTheme); // Make sure series array for model initialization.\n\n option.series = normalizeToArray(option.series);\n each(option.series, function (seriesOpt) {\n if (!isObject(seriesOpt)) {\n return;\n }\n\n var seriesType = seriesOpt.type;\n\n if (seriesType === 'line') {\n if (seriesOpt.clipOverflow != null) {\n seriesOpt.clip = seriesOpt.clipOverflow;\n }\n } else if (seriesType === 'pie' || seriesType === 'gauge') {\n if (seriesOpt.clockWise != null) {\n seriesOpt.clockwise = seriesOpt.clockWise;\n }\n } else if (seriesType === 'gauge') {\n var pointerColor = get(seriesOpt, 'pointer.color');\n pointerColor != null && set(seriesOpt, 'itemStyle.color', pointerColor);\n }\n\n compatLayoutProperties(seriesOpt);\n }); // dataRange has changed to visualMap\n\n if (option.dataRange) {\n option.visualMap = option.dataRange;\n }\n\n each(COMPATITABLE_COMPONENTS, function (componentName) {\n var options = option[componentName];\n\n if (options) {\n if (!isArray(options)) {\n options = [options];\n }\n\n each(options, function (option) {\n compatLayoutProperties(option);\n });\n }\n });\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1104 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar modelUtil = __webpack_require__(8);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 POSSIBLE_STYLES = ['areaStyle', 'lineStyle', 'nodeStyle', 'linkStyle', 'chordStyle', 'label', 'labelLine'];\n\nfunction compatEC2ItemStyle(opt) {\n var itemStyleOpt = opt && opt.itemStyle;\n\n if (!itemStyleOpt) {\n return;\n }\n\n for (var i = 0, len = POSSIBLE_STYLES.length; i < len; i++) {\n var styleName = POSSIBLE_STYLES[i];\n var normalItemStyleOpt = itemStyleOpt.normal;\n var emphasisItemStyleOpt = itemStyleOpt.emphasis;\n\n if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].normal) {\n opt[styleName].normal = normalItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].normal, normalItemStyleOpt[styleName]);\n }\n\n normalItemStyleOpt[styleName] = null;\n }\n\n if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].emphasis) {\n opt[styleName].emphasis = emphasisItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);\n }\n\n emphasisItemStyleOpt[styleName] = null;\n }\n }\n}\n\nfunction convertNormalEmphasis(opt, optType, useExtend) {\n if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {\n var normalOpt = opt[optType].normal;\n var emphasisOpt = opt[optType].emphasis;\n\n if (normalOpt) {\n // Timeline controlStyle has other properties besides normal and emphasis\n if (useExtend) {\n opt[optType].normal = opt[optType].emphasis = null;\n zrUtil.defaults(opt[optType], normalOpt);\n } else {\n opt[optType] = normalOpt;\n }\n }\n\n if (emphasisOpt) {\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[optType] = emphasisOpt;\n }\n }\n}\n\nfunction removeEC3NormalStatus(opt) {\n convertNormalEmphasis(opt, 'itemStyle');\n convertNormalEmphasis(opt, 'lineStyle');\n convertNormalEmphasis(opt, 'areaStyle');\n convertNormalEmphasis(opt, 'label');\n convertNormalEmphasis(opt, 'labelLine'); // treemap\n\n convertNormalEmphasis(opt, 'upperLabel'); // graph\n\n convertNormalEmphasis(opt, 'edgeLabel');\n}\n\nfunction compatTextStyle(opt, propName) {\n // Check whether is not object (string\\null\\undefined ...)\n var labelOptSingle = isObject(opt) && opt[propName];\n var textStyle = isObject(labelOptSingle) && labelOptSingle.textStyle;\n\n if (textStyle) {\n for (var i = 0, len = modelUtil.TEXT_STYLE_OPTIONS.length; i < len; i++) {\n var propName = modelUtil.TEXT_STYLE_OPTIONS[i];\n\n if (textStyle.hasOwnProperty(propName)) {\n labelOptSingle[propName] = textStyle[propName];\n }\n }\n }\n}\n\nfunction compatEC3CommonStyles(opt) {\n if (opt) {\n removeEC3NormalStatus(opt);\n compatTextStyle(opt, 'label');\n opt.emphasis && compatTextStyle(opt.emphasis, 'label');\n }\n}\n\nfunction processSeries(seriesOpt) {\n if (!isObject(seriesOpt)) {\n return;\n }\n\n compatEC2ItemStyle(seriesOpt);\n removeEC3NormalStatus(seriesOpt);\n compatTextStyle(seriesOpt, 'label'); // treemap\n\n compatTextStyle(seriesOpt, 'upperLabel'); // graph\n\n compatTextStyle(seriesOpt, 'edgeLabel');\n\n if (seriesOpt.emphasis) {\n compatTextStyle(seriesOpt.emphasis, 'label'); // treemap\n\n compatTextStyle(seriesOpt.emphasis, 'upperLabel'); // graph\n\n compatTextStyle(seriesOpt.emphasis, 'edgeLabel');\n }\n\n var markPoint = seriesOpt.markPoint;\n\n if (markPoint) {\n compatEC2ItemStyle(markPoint);\n compatEC3CommonStyles(markPoint);\n }\n\n var markLine = seriesOpt.markLine;\n\n if (markLine) {\n compatEC2ItemStyle(markLine);\n compatEC3CommonStyles(markLine);\n }\n\n var markArea = seriesOpt.markArea;\n\n if (markArea) {\n compatEC3CommonStyles(markArea);\n }\n\n var data = seriesOpt.data; // Break with ec3: if `setOption` again, there may be no `type` in option,\n // then the backward compat based on option type will not be performed.\n\n if (seriesOpt.type === 'graph') {\n data = data || seriesOpt.nodes;\n var edgeData = seriesOpt.links || seriesOpt.edges;\n\n if (edgeData && !zrUtil.isTypedArray(edgeData)) {\n for (var i = 0; i < edgeData.length; i++) {\n compatEC3CommonStyles(edgeData[i]);\n }\n }\n\n zrUtil.each(seriesOpt.categories, function (opt) {\n removeEC3NormalStatus(opt);\n });\n }\n\n if (data && !zrUtil.isTypedArray(data)) {\n for (var i = 0; i < data.length; i++) {\n compatEC3CommonStyles(data[i]);\n }\n } // mark point data\n\n\n var markPoint = seriesOpt.markPoint;\n\n if (markPoint && markPoint.data) {\n var mpData = markPoint.data;\n\n for (var i = 0; i < mpData.length; i++) {\n compatEC3CommonStyles(mpData[i]);\n }\n } // mark line data\n\n\n var markLine = seriesOpt.markLine;\n\n if (markLine && markLine.data) {\n var mlData = markLine.data;\n\n for (var i = 0; i < mlData.length; i++) {\n if (zrUtil.isArray(mlData[i])) {\n compatEC3CommonStyles(mlData[i][0]);\n compatEC3CommonStyles(mlData[i][1]);\n } else {\n compatEC3CommonStyles(mlData[i]);\n }\n }\n } // Series\n\n\n if (seriesOpt.type === 'gauge') {\n compatTextStyle(seriesOpt, 'axisLabel');\n compatTextStyle(seriesOpt, 'title');\n compatTextStyle(seriesOpt, 'detail');\n } else if (seriesOpt.type === 'treemap') {\n convertNormalEmphasis(seriesOpt.breadcrumb, 'itemStyle');\n zrUtil.each(seriesOpt.levels, function (opt) {\n removeEC3NormalStatus(opt);\n });\n } else if (seriesOpt.type === 'tree') {\n removeEC3NormalStatus(seriesOpt.leaves);\n } // sunburst starts from ec4, so it does not need to compat levels.\n\n}\n\nfunction toArr(o) {\n return zrUtil.isArray(o) ? o : o ? [o] : [];\n}\n\nfunction toObj(o) {\n return (zrUtil.isArray(o) ? o[0] : o) || {};\n}\n\nfunction _default(option, isTheme) {\n each(toArr(option.series), function (seriesOpt) {\n isObject(seriesOpt) && processSeries(seriesOpt);\n });\n var axes = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar'];\n isTheme && axes.push('valueAxis', 'categoryAxis', 'logAxis', 'timeAxis');\n each(axes, function (axisName) {\n each(toArr(option[axisName]), function (axisOpt) {\n if (axisOpt) {\n compatTextStyle(axisOpt, 'axisLabel');\n compatTextStyle(axisOpt.axisPointer, 'label');\n }\n });\n });\n each(toArr(option.parallel), function (parallelOpt) {\n var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;\n compatTextStyle(parallelAxisDefault, 'axisLabel');\n compatTextStyle(parallelAxisDefault && parallelAxisDefault.axisPointer, 'label');\n });\n each(toArr(option.calendar), function (calendarOpt) {\n convertNormalEmphasis(calendarOpt, 'itemStyle');\n compatTextStyle(calendarOpt, 'dayLabel');\n compatTextStyle(calendarOpt, 'monthLabel');\n compatTextStyle(calendarOpt, 'yearLabel');\n }); // radar.name.textStyle\n\n each(toArr(option.radar), function (radarOpt) {\n compatTextStyle(radarOpt, 'name');\n });\n each(toArr(option.geo), function (geoOpt) {\n if (isObject(geoOpt)) {\n compatEC3CommonStyles(geoOpt);\n each(toArr(geoOpt.regions), function (regionObj) {\n compatEC3CommonStyles(regionObj);\n });\n }\n });\n each(toArr(option.timeline), function (timelineOpt) {\n compatEC3CommonStyles(timelineOpt);\n convertNormalEmphasis(timelineOpt, 'label');\n convertNormalEmphasis(timelineOpt, 'itemStyle');\n convertNormalEmphasis(timelineOpt, 'controlStyle', true);\n var data = timelineOpt.data;\n zrUtil.isArray(data) && zrUtil.each(data, function (item) {\n if (zrUtil.isObject(item)) {\n convertNormalEmphasis(item, 'label');\n convertNormalEmphasis(item, 'itemStyle');\n }\n });\n });\n each(toArr(option.toolbox), function (toolboxOpt) {\n convertNormalEmphasis(toolboxOpt, 'iconStyle');\n each(toolboxOpt.feature, function (featureOpt) {\n convertNormalEmphasis(featureOpt, 'iconStyle');\n });\n });\n compatTextStyle(toObj(option.axisPointer), 'label');\n compatTextStyle(toObj(option.tooltip).axisPointer, 'label');\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1105 */\n/***/ (function(module, exports) {\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 samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n } // Return NaN if count is 0\n\n\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(min) ? min : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\n\nvar indexSampler = function (frame, value) {\n return Math.round(frame.length / 2);\n};\n\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\n modifyOutputEnd: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var sampling = seriesModel.get('sampling');\n var coordSys = seriesModel.coordinateSystem; // Only cartesian2d support down sampling\n\n if (coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent(); // Coordinste system has been resized\n\n var size = extent[1] - extent[0];\n var rate = Math.round(data.count() / size);\n\n if (rate > 1) {\n var sampler;\n\n if (typeof sampling === 'string') {\n sampler = samplers[sampling];\n } else if (typeof sampling === 'function') {\n sampler = sampling;\n }\n\n if (sampler) {\n // Only support sample the first dim mapped from value axis.\n seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n }\n }\n }\n }\n };\n}\n\nmodule.exports = _default;\n\n/***/ }),\n/* 1106 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\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;\n\n/***/ }),\n/* 1107 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar Scale = __webpack_require__(179);\n\nvar OrdinalMeta = __webpack_require__(409);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 * Linear continuous scale\n * @module echarts/coord/scale/Ordinal\n *\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\nvar scaleProto = Scale.prototype;\nvar OrdinalScale = Scale.extend({\n type: 'ordinal',\n\n /**\n * @param {module:echarts/data/OrdianlMeta|Array.} ordinalMeta\n */\n init: function (ordinalMeta, extent) {\n // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n if (!ordinalMeta || zrUtil.isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: ordinalMeta\n });\n }\n\n this._ordinalMeta = ordinalMeta;\n this._extent = extent || [0, ordinalMeta.categories.length - 1];\n },\n parse: function (val) {\n return typeof val === 'string' ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n },\n contain: function (rank) {\n rank = this.parse(rank);\n return scaleProto.contain.call(this, rank) && this._ordinalMeta.categories[rank] != null;\n },\n\n /**\n * Normalize given rank or name to linear [0, 1]\n * @param {number|string} [val]\n * @return {number}\n */\n normalize: function (val) {\n return scaleProto.normalize.call(this, this.parse(val));\n },\n scale: function (val) {\n return Math.round(scaleProto.scale.call(this, val));\n },\n\n /**\n * @return {Array}\n */\n getTicks: function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push(rank);\n rank++;\n }\n\n return ticks;\n },\n\n /**\n * Get item on rank n\n * @param {number} n\n * @return {string}\n */\n getLabel: function (n) {\n if (!this.isBlank()) {\n // Note that if no data, ordinalMeta.categories is an empty array.\n return this._ordinalMeta.categories[n];\n }\n },\n\n /**\n * @return {number}\n */\n count: function () {\n return this._extent[1] - this._extent[0] + 1;\n },\n\n /**\n * @override\n */\n unionExtentFromData: function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n },\n getOrdinalMeta: function () {\n return this._ordinalMeta;\n },\n niceTicks: zrUtil.noop,\n niceExtent: zrUtil.noop\n});\n/**\n * @return {module:echarts/scale/Time}\n */\n\nOrdinalScale.create = function () {\n return new OrdinalScale();\n};\n\nvar _default = OrdinalScale;\nmodule.exports = _default;\n\n/***/ }),\n/* 1108 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar numberUtil = __webpack_require__(7);\n\nvar formatUtil = __webpack_require__(17);\n\nvar scaleHelper = __webpack_require__(416);\n\nvar IntervalScale = __webpack_require__(178);\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\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 \"scaleLevels\" was originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment on the definition of \"scaleLevels\" 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*/\n// [About UTC and local time zone]:\n// In most cases, `number.parseDate` will treat input data string as local time\n// (except time zone is specified in time string). And `format.formateTime` returns\n// local time by default. option.useUTC is false by default. This design have\n// concidered these common case:\n// (1) Time that is persistent in server is in UTC, but it is needed to be diplayed\n// in local time by default.\n// (2) By default, the input data string (e.g., '2011-01-02') should be displayed\n// as its original time, without any time difference.\nvar intervalScaleProto = IntervalScale.prototype;\nvar mathCeil = Math.ceil;\nvar mathFloor = Math.floor;\nvar ONE_SECOND = 1000;\nvar ONE_MINUTE = ONE_SECOND * 60;\nvar ONE_HOUR = ONE_MINUTE * 60;\nvar ONE_DAY = ONE_HOUR * 24; // FIXME 公用?\n\nvar bisect = function (a, x, lo, hi) {\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n\n if (a[mid][1] < x) {\n lo = mid + 1;\n } else {\n hi = mid;\n }\n }\n\n return lo;\n};\n/**\n * @alias module:echarts/coord/scale/Time\n * @constructor\n */\n\n\nvar TimeScale = IntervalScale.extend({\n type: 'time',\n\n /**\n * @override\n */\n getLabel: function (val) {\n var stepLvl = this._stepLvl;\n var date = new Date(val);\n return formatUtil.formatTime(stepLvl[0], date, this.getSetting('useUTC'));\n },\n\n /**\n * @override\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 // Expand extent\n extent[0] -= ONE_DAY;\n extent[1] += ONE_DAY;\n } // If there are no data and extent are [Infinity, -Infinity]\n\n\n if (extent[1] === -Infinity && extent[0] === Infinity) {\n var d = new Date();\n extent[1] = +new Date(d.getFullYear(), d.getMonth(), d.getDate());\n extent[0] = extent[1] - ONE_DAY;\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] = numberUtil.round(mathFloor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = numberUtil.round(mathCeil(extent[1] / interval) * interval);\n }\n },\n\n /**\n * @override\n */\n niceTicks: function (approxTickNum, minInterval, maxInterval) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n var approxInterval = span / approxTickNum;\n\n if (minInterval != null && approxInterval < minInterval) {\n approxInterval = minInterval;\n }\n\n if (maxInterval != null && approxInterval > maxInterval) {\n approxInterval = maxInterval;\n }\n\n var scaleLevelsLen = scaleLevels.length;\n var idx = bisect(scaleLevels, approxInterval, 0, scaleLevelsLen);\n var level = scaleLevels[Math.min(idx, scaleLevelsLen - 1)];\n var interval = level[1]; // Same with interval scale if span is much larger than 1 year\n\n if (level[0] === 'year') {\n var yearSpan = span / interval; // From \"Nice Numbers for Graph Labels\" of Graphic Gems\n // var niceYearSpan = numberUtil.nice(yearSpan, false);\n\n var yearStep = numberUtil.nice(yearSpan / approxTickNum, true);\n interval *= yearStep;\n }\n\n var timezoneOffset = this.getSetting('useUTC') ? 0 : new Date(+extent[0] || +extent[1]).getTimezoneOffset() * 60 * 1000;\n var niceExtent = [Math.round(mathCeil((extent[0] - timezoneOffset) / interval) * interval + timezoneOffset), Math.round(mathFloor((extent[1] - timezoneOffset) / interval) * interval + timezoneOffset)];\n scaleHelper.fixExtent(niceExtent, extent);\n this._stepLvl = level; // Interval will be used in getTicks\n\n this._interval = interval;\n this._niceExtent = niceExtent;\n },\n parse: function (val) {\n // val might be float.\n return +numberUtil.parseDate(val);\n }\n});\nzrUtil.each(['contain', 'normalize'], function (methodName) {\n TimeScale.prototype[methodName] = function (val) {\n return intervalScaleProto[methodName].call(this, this.parse(val));\n };\n});\n/**\n * This implementation 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\nvar scaleLevels = [// Format interval\n['hh:mm:ss', ONE_SECOND], // 1s\n['hh:mm:ss', ONE_SECOND * 5], // 5s\n['hh:mm:ss', ONE_SECOND * 10], // 10s\n['hh:mm:ss', ONE_SECOND * 15], // 15s\n['hh:mm:ss', ONE_SECOND * 30], // 30s\n['hh:mm\\nMM-dd', ONE_MINUTE], // 1m\n['hh:mm\\nMM-dd', ONE_MINUTE * 5], // 5m\n['hh:mm\\nMM-dd', ONE_MINUTE * 10], // 10m\n['hh:mm\\nMM-dd', ONE_MINUTE * 15], // 15m\n['hh:mm\\nMM-dd', ONE_MINUTE * 30], // 30m\n['hh:mm\\nMM-dd', ONE_HOUR], // 1h\n['hh:mm\\nMM-dd', ONE_HOUR * 2], // 2h\n['hh:mm\\nMM-dd', ONE_HOUR * 6], // 6h\n['hh:mm\\nMM-dd', ONE_HOUR * 12], // 12h\n['MM-dd\\nyyyy', ONE_DAY], // 1d\n['MM-dd\\nyyyy', ONE_DAY * 2], // 2d\n['MM-dd\\nyyyy', ONE_DAY * 3], // 3d\n['MM-dd\\nyyyy', ONE_DAY * 4], // 4d\n['MM-dd\\nyyyy', ONE_DAY * 5], // 5d\n['MM-dd\\nyyyy', ONE_DAY * 6], // 6d\n['week', ONE_DAY * 7], // 7d\n['MM-dd\\nyyyy', ONE_DAY * 10], // 10d\n['week', ONE_DAY * 14], // 2w\n['week', ONE_DAY * 21], // 3w\n['month', ONE_DAY * 31], // 1M\n['week', ONE_DAY * 42], // 6w\n['month', ONE_DAY * 62], // 2M\n['week', ONE_DAY * 70], // 10w\n['quarter', ONE_DAY * 95], // 3M\n['month', ONE_DAY * 31 * 4], // 4M\n['month', ONE_DAY * 31 * 5], // 5M\n['half-year', ONE_DAY * 380 / 2], // 6M\n['month', ONE_DAY * 31 * 8], // 8M\n['month', ONE_DAY * 31 * 10], // 10M\n['year', ONE_DAY * 380] // 1Y\n];\n/**\n * @param {module:echarts/model/Model}\n * @return {module:echarts/scale/Time}\n */\n\nTimeScale.create = function (model) {\n return new TimeScale({\n useUTC: model.ecModel.get('useUTC')\n });\n};\n\nvar _default = TimeScale;\nmodule.exports = _default;\n\n/***/ }),\n/* 1109 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar each = _util.each;\nvar map = _util.map;\nvar isFunction = _util.isFunction;\nvar createHashMap = _util.createHashMap;\nvar noop = _util.noop;\n\nvar _task = __webpack_require__(262);\n\nvar createTask = _task.createTask;\n\nvar _component = __webpack_require__(148);\n\nvar getUID = _component.getUID;\n\nvar GlobalModel = __webpack_require__(413);\n\nvar ExtensionAPI = __webpack_require__(357);\n\nvar _model = __webpack_require__(8);\n\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*/\n\n/**\n * @module echarts/stream/Scheduler\n */\n\n/**\n * @constructor\n */\nfunction Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {\n this.ecInstance = ecInstance;\n this.api = api;\n this.unfinished; // Fix current processors in case that in some rear cases that\n // processors might be registered after echarts instance created.\n // Register processors incrementally for a echarts instance is\n // not supported by this stream architecture.\n\n var dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();\n var visualHandlers = this._visualHandlers = visualHandlers.slice();\n this._allHandlers = dataProcessorHandlers.concat(visualHandlers);\n /**\n * @private\n * @type {\n * [handlerUID: string]: {\n * seriesTaskMap?: {\n * [seriesUID: string]: Task\n * },\n * overallTask?: Task\n * }\n * }\n */\n\n this._stageTaskMap = createHashMap();\n}\n\nvar proto = Scheduler.prototype;\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} payload\n */\n\nproto.restoreData = function (ecModel, payload) {\n // TODO: Only restroe needed series and components, but not all components.\n // Currently `restoreData` of all of the series and component will be called.\n // But some independent components like `title`, `legend`, `graphic`, `toolbox`,\n // `tooltip`, `axisPointer`, etc, do not need series refresh when `setOption`,\n // and some components like coordinate system, axes, dataZoom, visualMap only\n // need their target series refresh.\n // (1) If we are implementing this feature some day, we should consider these cases:\n // if a data processor depends on a component (e.g., dataZoomProcessor depends\n // on the settings of `dataZoom`), it should be re-performed if the component\n // is modified by `setOption`.\n // (2) If a processor depends on sevral series, speicified by its `getTargetSeries`,\n // it should be re-performed when the result array of `getTargetSeries` changed.\n // We use `dependencies` to cover these issues.\n // (3) How to update target series when coordinate system related components modified.\n // TODO: simply the dirty mechanism? Check whether only the case here can set tasks dirty,\n // and this case all of the tasks will be set as dirty.\n ecModel.restoreData(payload); // Theoretically an overall task not only depends on each of its target series, but also\n // depends on all of the series.\n // The overall task is not in pipeline, and `ecModel.restoreData` only set pipeline tasks\n // dirty. If `getTargetSeries` of an overall task returns nothing, we should also ensure\n // that the overall task is set as dirty and to be performed, otherwise it probably cause\n // state chaos. So we have to set dirty of all of the overall tasks manually, otherwise it\n // probably cause state chaos (consider `dataZoomProcessor`).\n\n this._stageTaskMap.each(function (taskRecord) {\n var overallTask = taskRecord.overallTask;\n overallTask && overallTask.dirty();\n });\n}; // If seriesModel provided, incremental threshold is check by series data.\n\n\nproto.getPerformArgs = function (task, isBlock) {\n // For overall task\n if (!task.__pipeline) {\n return;\n }\n\n var pipeline = this._pipelineMap.get(task.__pipeline.id);\n\n var pCtx = pipeline.context;\n var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task.__idxInPipeline > pipeline.blockIndex;\n var step = incremental ? pipeline.step : null;\n var modDataCount = pCtx && pCtx.modDataCount;\n var modBy = modDataCount != null ? Math.ceil(modDataCount / step) : null;\n return {\n step: step,\n modBy: modBy,\n modDataCount: modDataCount\n };\n};\n\nproto.getPipeline = function (pipelineId) {\n return this._pipelineMap.get(pipelineId);\n};\n/**\n * Current, progressive rendering starts from visual and layout.\n * Always detect render mode in the same stage, avoiding that incorrect\n * detection caused by data filtering.\n * Caution:\n * `updateStreamModes` use `seriesModel.getData()`.\n */\n\n\nproto.updateStreamModes = function (seriesModel, view) {\n var pipeline = this._pipelineMap.get(seriesModel.uid);\n\n var data = seriesModel.getData();\n var dataLen = data.count(); // `progressiveRender` means that can render progressively in each\n // animation frame. Note that some types of series do not provide\n // `view.incrementalPrepareRender` but support `chart.appendData`. We\n // use the term `incremental` but not `progressive` to describe the\n // case that `chart.appendData`.\n\n var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;\n var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold'); // TODO: modDataCount should not updated if `appendData`, otherwise cause whole repaint.\n // see `test/candlestick-large3.html`\n\n var modDataCount = seriesModel.get('progressiveChunkMode') === 'mod' ? dataLen : null;\n seriesModel.pipelineContext = pipeline.context = {\n progressiveRender: progressiveRender,\n modDataCount: modDataCount,\n large: large\n };\n};\n\nproto.restorePipelines = function (ecModel) {\n var scheduler = this;\n var pipelineMap = scheduler._pipelineMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var progressive = seriesModel.getProgressive();\n var pipelineId = seriesModel.uid;\n pipelineMap.set(pipelineId, {\n id: pipelineId,\n head: null,\n tail: null,\n threshold: seriesModel.getProgressiveThreshold(),\n progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),\n blockIndex: -1,\n step: Math.round(progressive || 700),\n count: 0\n });\n pipe(scheduler, seriesModel, seriesModel.dataTask);\n });\n};\n\nproto.prepareStageTasks = function () {\n var stageTaskMap = this._stageTaskMap;\n var ecModel = this.ecInstance.getModel();\n var api = this.api;\n each(this._allHandlers, function (handler) {\n var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);\n handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);\n handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api);\n }, this);\n};\n\nproto.prepareView = function (view, model, ecModel, api) {\n var renderTask = view.renderTask;\n var context = renderTask.context;\n context.model = model;\n context.ecModel = ecModel;\n context.api = api;\n renderTask.__block = !view.incrementalPrepareRender;\n pipe(this, model, renderTask);\n};\n\nproto.performDataProcessorTasks = function (ecModel, payload) {\n // If we do not use `block` here, it should be considered when to update modes.\n performStageTasks(this, this._dataProcessorHandlers, ecModel, payload, {\n block: true\n });\n}; // opt\n// opt.visualType: 'visual' or 'layout'\n// opt.setDirty\n\n\nproto.performVisualTasks = function (ecModel, payload, opt) {\n performStageTasks(this, this._visualHandlers, ecModel, payload, opt);\n};\n\nfunction performStageTasks(scheduler, stageHandlers, ecModel, payload, opt) {\n opt = opt || {};\n var unfinished;\n each(stageHandlers, function (stageHandler, idx) {\n if (opt.visualType && opt.visualType !== stageHandler.visualType) {\n return;\n }\n\n var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);\n\n var seriesTaskMap = stageHandlerRecord.seriesTaskMap;\n var overallTask = stageHandlerRecord.overallTask;\n\n if (overallTask) {\n var overallNeedDirty;\n var agentStubMap = overallTask.agentStubMap;\n agentStubMap.each(function (stub) {\n if (needSetDirty(opt, stub)) {\n stub.dirty();\n overallNeedDirty = true;\n }\n });\n overallNeedDirty && overallTask.dirty();\n updatePayload(overallTask, payload);\n var performArgs = scheduler.getPerformArgs(overallTask, opt.block); // Execute stubs firstly, which may set the overall task dirty,\n // then execute the overall task. And stub will call seriesModel.setData,\n // which ensures that in the overallTask seriesModel.getData() will not\n // return incorrect data.\n\n agentStubMap.each(function (stub) {\n stub.perform(performArgs);\n });\n unfinished |= overallTask.perform(performArgs);\n } else if (seriesTaskMap) {\n seriesTaskMap.each(function (task, pipelineId) {\n if (needSetDirty(opt, task)) {\n task.dirty();\n }\n\n var performArgs = scheduler.getPerformArgs(task, opt.block); // FIXME\n // if intending to decalare `performRawSeries` in handlers, only\n // stream-independent (specifically, data item independent) operations can be\n // performed. Because is a series is filtered, most of the tasks will not\n // be performed. A stream-dependent operation probably cause wrong biz logic.\n // Perhaps we should not provide a separate callback for this case instead\n // of providing the config `performRawSeries`. The stream-dependent operaions\n // and stream-independent operations should better not be mixed.\n\n performArgs.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task.context.model);\n updatePayload(task, payload);\n unfinished |= task.perform(performArgs);\n });\n }\n });\n\n function needSetDirty(opt, task) {\n return opt.setDirty && (!opt.dirtyMap || opt.dirtyMap.get(task.__pipeline.id));\n }\n\n scheduler.unfinished |= unfinished;\n}\n\nproto.performSeriesTasks = function (ecModel) {\n var unfinished;\n ecModel.eachSeries(function (seriesModel) {\n // Progress to the end for dataInit and dataRestore.\n unfinished |= seriesModel.dataTask.perform();\n });\n this.unfinished |= unfinished;\n};\n\nproto.plan = function () {\n // Travel pipelines, check block.\n this._pipelineMap.each(function (pipeline) {\n var task = pipeline.tail;\n\n do {\n if (task.__block) {\n pipeline.blockIndex = task.__idxInPipeline;\n break;\n }\n\n task = task.getUpstream();\n } while (task);\n });\n};\n\nvar updatePayload = proto.updatePayload = function (task, payload) {\n payload !== 'remain' && (task.context.payload = payload);\n};\n\nfunction createSeriesStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api) {\n var seriesTaskMap = stageHandlerRecord.seriesTaskMap || (stageHandlerRecord.seriesTaskMap = createHashMap());\n var seriesType = stageHandler.seriesType;\n var getTargetSeries = stageHandler.getTargetSeries; // If a stageHandler should cover all series, `createOnAllSeries` should be declared mandatorily,\n // to avoid some typo or abuse. Otherwise if an extension do not specify a `seriesType`,\n // it works but it may cause other irrelevant charts blocked.\n\n if (stageHandler.createOnAllSeries) {\n ecModel.eachRawSeries(create);\n } else if (seriesType) {\n ecModel.eachRawSeriesByType(seriesType, create);\n } else if (getTargetSeries) {\n getTargetSeries(ecModel, api).each(create);\n }\n\n function create(seriesModel) {\n var pipelineId = seriesModel.uid; // Init tasks for each seriesModel only once.\n // Reuse original task instance.\n\n var task = seriesTaskMap.get(pipelineId) || seriesTaskMap.set(pipelineId, createTask({\n plan: seriesTaskPlan,\n reset: seriesTaskReset,\n count: seriesTaskCount\n }));\n task.context = {\n model: seriesModel,\n ecModel: ecModel,\n api: api,\n useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,\n plan: stageHandler.plan,\n reset: stageHandler.reset,\n scheduler: scheduler\n };\n pipe(scheduler, seriesModel, task);\n } // Clear unused series tasks.\n\n\n var pipelineMap = scheduler._pipelineMap;\n seriesTaskMap.each(function (task, pipelineId) {\n if (!pipelineMap.get(pipelineId)) {\n task.dispose();\n seriesTaskMap.removeKey(pipelineId);\n }\n });\n}\n\nfunction createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api) {\n var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask // For overall task, the function only be called on reset stage.\n || createTask({\n reset: overallTaskReset\n });\n overallTask.context = {\n ecModel: ecModel,\n api: api,\n overallReset: stageHandler.overallReset,\n scheduler: scheduler\n }; // Reuse orignal stubs.\n\n var agentStubMap = overallTask.agentStubMap = overallTask.agentStubMap || createHashMap();\n var seriesType = stageHandler.seriesType;\n var getTargetSeries = stageHandler.getTargetSeries;\n var overallProgress = true;\n var modifyOutputEnd = stageHandler.modifyOutputEnd; // An overall task with seriesType detected or has `getTargetSeries`, we add\n // stub in each pipelines, it will set the overall task dirty when the pipeline\n // progress. Moreover, to avoid call the overall task each frame (too frequent),\n // we set the pipeline block.\n\n if (seriesType) {\n ecModel.eachRawSeriesByType(seriesType, createStub);\n } else if (getTargetSeries) {\n getTargetSeries(ecModel, api).each(createStub);\n } // Otherwise, (usually it is legancy case), the overall task will only be\n // executed when upstream dirty. Otherwise the progressive rendering of all\n // pipelines will be disabled unexpectedly. But it still needs stubs to receive\n // dirty info from upsteam.\n else {\n overallProgress = false;\n each(ecModel.getSeries(), createStub);\n }\n\n function createStub(seriesModel) {\n var pipelineId = seriesModel.uid;\n var stub = agentStubMap.get(pipelineId);\n\n if (!stub) {\n stub = agentStubMap.set(pipelineId, createTask({\n reset: stubReset,\n onDirty: stubOnDirty\n })); // When the result of `getTargetSeries` changed, the overallTask\n // should be set as dirty and re-performed.\n\n overallTask.dirty();\n }\n\n stub.context = {\n model: seriesModel,\n overallProgress: overallProgress,\n modifyOutputEnd: modifyOutputEnd\n };\n stub.agent = overallTask;\n stub.__block = overallProgress;\n pipe(scheduler, seriesModel, stub);\n } // Clear unused stubs.\n\n\n var pipelineMap = scheduler._pipelineMap;\n agentStubMap.each(function (stub, pipelineId) {\n if (!pipelineMap.get(pipelineId)) {\n stub.dispose(); // When the result of `getTargetSeries` changed, the overallTask\n // should be set as dirty and re-performed.\n\n overallTask.dirty();\n agentStubMap.removeKey(pipelineId);\n }\n });\n}\n\nfunction overallTaskReset(context) {\n context.overallReset(context.ecModel, context.api, context.payload);\n}\n\nfunction stubReset(context, upstreamContext) {\n return context.overallProgress && stubProgress;\n}\n\nfunction stubProgress() {\n this.agent.dirty();\n this.getDownstream().dirty();\n}\n\nfunction stubOnDirty() {\n this.agent && this.agent.dirty();\n}\n\nfunction seriesTaskPlan(context) {\n return context.plan && context.plan(context.model, context.ecModel, context.api, context.payload);\n}\n\nfunction seriesTaskReset(context) {\n if (context.useClearVisual) {\n context.data.clearAllVisual();\n }\n\n var resetDefines = context.resetDefines = normalizeToArray(context.reset(context.model, context.ecModel, context.api, context.payload));\n return resetDefines.length > 1 ? map(resetDefines, function (v, idx) {\n return makeSeriesTaskProgress(idx);\n }) : singleSeriesTaskProgress;\n}\n\nvar singleSeriesTaskProgress = makeSeriesTaskProgress(0);\n\nfunction makeSeriesTaskProgress(resetDefineIdx) {\n return function (params, context) {\n var data = context.data;\n var resetDefine = context.resetDefines[resetDefineIdx];\n\n if (resetDefine && resetDefine.dataEach) {\n for (var i = params.start; i < params.end; i++) {\n resetDefine.dataEach(data, i);\n }\n } else if (resetDefine && resetDefine.progress) {\n resetDefine.progress(params, data);\n }\n };\n}\n\nfunction seriesTaskCount(context) {\n return context.data.count();\n}\n\nfunction pipe(scheduler, seriesModel, task) {\n var pipelineId = seriesModel.uid;\n\n var pipeline = scheduler._pipelineMap.get(pipelineId);\n\n !pipeline.head && (pipeline.head = task);\n pipeline.tail && pipeline.tail.pipe(task);\n pipeline.tail = task;\n task.__idxInPipeline = pipeline.count++;\n task.__pipeline = pipeline;\n}\n\nScheduler.wrapStageHandler = function (stageHandler, visualType) {\n if (isFunction(stageHandler)) {\n stageHandler = {\n overallReset: stageHandler,\n seriesType: detectSeriseType(stageHandler)\n };\n }\n\n stageHandler.uid = getUID('stageHandler');\n visualType && (stageHandler.visualType = visualType);\n return stageHandler;\n};\n/**\n * Only some legacy stage handlers (usually in echarts extensions) are pure function.\n * To ensure that they can work normally, they should work in block mode, that is,\n * they should not be started util the previous tasks finished. So they cause the\n * progressive rendering disabled. We try to detect the series type, to narrow down\n * the block range to only the series type they concern, but not all series.\n */\n\n\nfunction detectSeriseType(legacyFunc) {\n seriesType = null;\n\n try {\n // Assume there is no async when calling `eachSeriesByType`.\n legacyFunc(ecModelMock, apiMock);\n } catch (e) {}\n\n return seriesType;\n}\n\nvar ecModelMock = {};\nvar apiMock = {};\nvar seriesType;\nmockMethods(ecModelMock, GlobalModel);\nmockMethods(apiMock, ExtensionAPI);\n\necModelMock.eachSeriesByType = ecModelMock.eachRawSeriesByType = function (type) {\n seriesType = type;\n};\n\necModelMock.eachComponent = function (cond) {\n if (cond.mainType === 'series' && cond.subType) {\n seriesType = cond.subType;\n }\n};\n\nfunction mockMethods(target, Clz) {\n /* eslint-disable */\n for (var name in Clz.prototype) {\n // Do not use hasOwnProperty\n target[name] = noop;\n }\n /* eslint-enable */\n\n}\n\nvar _default = Scheduler;\nmodule.exports = _default;\n\n/***/ }),\n/* 1110 */\n/***/ (function(module, exports) {\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/***/ }),\n/* 1111 */\n/***/ (function(module, exports) {\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;\n\n/***/ }),\n/* 1112 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(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\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;\n\n/***/ }),\n/* 1113 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(6);\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/***/ }),\n/* 1114 */\n/***/ (function(module, exports, __webpack_require__) {\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 = __webpack_require__(0);\n\nvar lang = __webpack_require__(80);\n\nvar _dataProvider = __webpack_require__(100);\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;\n\n/***/ }),\n/* 1115 */\n/***/ (function(module, exports, __webpack_require__) {\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 Gradient = __webpack_require__(189);\n\nvar _util = __webpack_require__(0);\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*/\nvar _default = {\n createOnAllSeries: true,\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var colorAccessPath = (seriesModel.visualColorAccessPath || 'itemStyle.color').split('.'); // Set in itemStyle\n\n var color = seriesModel.get(colorAccessPath);\n var colorCallback = isFunction(color) && !(color instanceof Gradient) ? color : null; // Default color\n\n if (!color || colorCallback) {\n color = seriesModel.getColorFromPalette( // TODO series count changed.\n seriesModel.name, null, ecModel.getSeriesCount());\n }\n\n data.setVisual('color', color);\n var borderColorAccessPath = (seriesModel.visualBorderColorAccessPath || 'itemStyle.borderColor').split('.');\n var borderColor = seriesModel.get(borderColorAccessPath);\n data.setVisual('borderColor', borderColor); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n if (colorCallback) {\n data.each(function (idx) {\n data.setItemVisual(idx, 'color', colorCallback(seriesModel.getDataParams(idx)));\n });\n } // itemStyle in each data item\n\n\n var dataEach = function (data, idx) {\n var itemModel = data.getItemModel(idx);\n var color = itemModel.get(colorAccessPath, true);\n var borderColor = itemModel.get(borderColorAccessPath, true);\n\n if (color != null) {\n data.setItemVisual(idx, 'color', color);\n }\n\n if (borderColor != null) {\n data.setItemVisual(idx, 'borderColor', borderColor);\n }\n };\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n }\n};\nmodule.exports = _default;\n\n/***/ }),\n/* 1116 */\n/***/ (function(module, exports) {\n\nmodule.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 = 99);\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/***/ 99:\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/******/ });\n\n/***/ }),\n/* 1117 */\n/***/ (function(module, exports) {\n\nmodule.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 = 97);\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/***/ 97:\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/***/ }),\n/* 1118 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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 = 59);\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/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(266);\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(418);\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(184);\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(306);\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(61);\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(269);\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(267);\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(422);\n\n/***/ }),\n\n/***/ 59:\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/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\nvar cascader_panelvue_type_template_id_34932346_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: [\"el-cascader-panel\", _vm.border && \"is-bordered\"],\n on: { keydown: _vm.handleKeyDown }\n },\n _vm._l(_vm.menus, function(menu, index) {\n return _c(\"cascader-menu\", {\n key: index,\n ref: \"menu\",\n refInFor: true,\n attrs: { index: index, nodes: menu }\n })\n }),\n 1\n )\n}\nvar staticRenderFns = []\ncascader_panelvue_type_template_id_34932346_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\n\n// EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\nvar external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26);\nvar external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(14);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_ = __webpack_require__(18);\nvar checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/radio\"\nvar radio_ = __webpack_require__(51);\nvar radio_default = /*#__PURE__*/__webpack_require__.n(radio_);\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/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n\n\n\n\n\n\nvar stopPropagation = function stopPropagation(e) {\n return e.stopPropagation();\n};\n\n/* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({\n inject: ['panel'],\n\n components: {\n ElCheckbox: checkbox_default.a,\n ElRadio: radio_default.a\n },\n\n props: {\n node: {\n required: true\n },\n nodeId: String\n },\n\n computed: {\n config: function config() {\n return this.panel.config;\n },\n isLeaf: function isLeaf() {\n return this.node.isLeaf;\n },\n isDisabled: function isDisabled() {\n return this.node.isDisabled;\n },\n checkedValue: function checkedValue() {\n return this.panel.checkedValue;\n },\n isChecked: function isChecked() {\n return this.node.isSameNode(this.checkedValue);\n },\n inActivePath: function inActivePath() {\n return this.isInPath(this.panel.activePath);\n },\n inCheckedPath: function inCheckedPath() {\n var _this = this;\n\n if (!this.config.checkStrictly) return false;\n\n return this.panel.checkedNodePaths.some(function (checkedPath) {\n return _this.isInPath(checkedPath);\n });\n },\n value: function value() {\n return this.node.getValueByOption();\n }\n },\n\n methods: {\n handleExpand: function handleExpand() {\n var _this2 = this;\n\n var panel = this.panel,\n node = this.node,\n isDisabled = this.isDisabled,\n config = this.config;\n var multiple = config.multiple,\n checkStrictly = config.checkStrictly;\n\n\n if (!checkStrictly && isDisabled || node.loading) return;\n\n if (config.lazy && !node.loaded) {\n panel.lazyLoad(node, function () {\n // do not use cached leaf value here, invoke this.isLeaf to get new value.\n var isLeaf = _this2.isLeaf;\n\n\n if (!isLeaf) _this2.handleExpand();\n if (multiple) {\n // if leaf sync checked state, else clear checked state\n var checked = isLeaf ? node.checked : false;\n _this2.handleMultiCheckChange(checked);\n }\n });\n } else {\n panel.handleExpand(node);\n }\n },\n handleCheckChange: function handleCheckChange() {\n var panel = this.panel,\n value = this.value,\n node = this.node;\n\n panel.handleCheckChange(value);\n panel.handleExpand(node);\n },\n handleMultiCheckChange: function handleMultiCheckChange(checked) {\n this.node.doCheck(checked);\n this.panel.calculateMultiCheckedValue();\n },\n isInPath: function isInPath(pathNodes) {\n var node = this.node;\n\n var selectedPathNode = pathNodes[node.level - 1] || {};\n return selectedPathNode.uid === node.uid;\n },\n renderPrefix: function renderPrefix(h) {\n var isLeaf = this.isLeaf,\n isChecked = this.isChecked,\n config = this.config;\n var checkStrictly = config.checkStrictly,\n multiple = config.multiple;\n\n\n if (multiple) {\n return this.renderCheckbox(h);\n } else if (checkStrictly) {\n return this.renderRadio(h);\n } else if (isLeaf && isChecked) {\n return this.renderCheckIcon(h);\n }\n\n return null;\n },\n renderPostfix: function renderPostfix(h) {\n var node = this.node,\n isLeaf = this.isLeaf;\n\n\n if (node.loading) {\n return this.renderLoadingIcon(h);\n } else if (!isLeaf) {\n return this.renderExpandIcon(h);\n }\n\n return null;\n },\n renderCheckbox: function renderCheckbox(h) {\n var node = this.node,\n config = this.config,\n isDisabled = this.isDisabled;\n\n var events = {\n on: { change: this.handleMultiCheckChange },\n nativeOn: {}\n };\n\n if (config.checkStrictly) {\n // when every node is selectable, click event should not trigger expand event.\n events.nativeOn.click = stopPropagation;\n }\n\n return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n value: node.checked,\n indeterminate: node.indeterminate,\n disabled: isDisabled\n }\n }, events]));\n },\n renderRadio: function renderRadio(h) {\n var checkedValue = this.checkedValue,\n value = this.value,\n isDisabled = this.isDisabled;\n\n // to keep same reference if value cause radio's checked state is calculated by reference comparision;\n\n if (Object(util_[\"isEqual\"])(value, checkedValue)) {\n value = checkedValue;\n }\n\n return h(\n 'el-radio',\n {\n attrs: {\n value: checkedValue,\n label: value,\n disabled: isDisabled\n },\n on: {\n 'change': this.handleCheckChange\n },\n nativeOn: {\n 'click': stopPropagation\n }\n },\n [h('span')]\n );\n },\n renderCheckIcon: function renderCheckIcon(h) {\n return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' });\n },\n renderLoadingIcon: function renderLoadingIcon(h) {\n return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' });\n },\n renderExpandIcon: function renderExpandIcon(h) {\n return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' });\n },\n renderContent: function renderContent(h) {\n var panel = this.panel,\n node = this.node;\n\n var render = panel.renderLabelFn;\n var vnode = render ? render({ node: node, data: node.data }) : null;\n\n return h(\n 'span',\n { 'class': 'el-cascader-node__label' },\n [vnode || node.label]\n );\n }\n },\n\n render: function render(h) {\n var _this3 = this;\n\n var inActivePath = this.inActivePath,\n inCheckedPath = this.inCheckedPath,\n isChecked = this.isChecked,\n isLeaf = this.isLeaf,\n isDisabled = this.isDisabled,\n config = this.config,\n nodeId = this.nodeId;\n var expandTrigger = config.expandTrigger,\n checkStrictly = config.checkStrictly,\n multiple = config.multiple;\n\n var disabled = !checkStrictly && isDisabled;\n var events = { on: {} };\n\n if (expandTrigger === 'click') {\n events.on.click = this.handleExpand;\n } else {\n events.on.mouseenter = function (e) {\n _this3.handleExpand();\n _this3.$emit('expand', e);\n };\n events.on.focus = function (e) {\n _this3.handleExpand();\n _this3.$emit('expand', e);\n };\n }\n if (isLeaf && !isDisabled && !checkStrictly && !multiple) {\n events.on.click = this.handleCheckChange;\n }\n\n return h(\n 'li',\n external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n role: 'menuitem',\n id: nodeId,\n 'aria-expanded': inActivePath,\n tabindex: disabled ? null : -1\n },\n 'class': {\n 'el-cascader-node': true,\n 'is-selectable': checkStrictly,\n 'in-active-path': inActivePath,\n 'in-checked-path': inCheckedPath,\n 'is-active': isChecked,\n 'is-disabled': disabled\n }\n }, events]),\n [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_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/cascader-panel/src/cascader-node.vue\nvar cascader_node_render, cascader_node_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_nodevue_type_script_lang_js_,\n cascader_node_render,\n cascader_node_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/cascader-panel/src/cascader-node.vue\"\n/* harmony default export */ var cascader_node = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n\n\n\n\n\n\n\n/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({\n name: 'ElCascaderMenu',\n\n mixins: [locale_default.a],\n\n inject: ['panel'],\n\n components: {\n ElScrollbar: scrollbar_default.a,\n CascaderNode: cascader_node\n },\n\n props: {\n nodes: {\n type: Array,\n required: true\n },\n index: Number\n },\n\n data: function data() {\n return {\n activeNode: null,\n hoverTimer: null,\n id: Object(util_[\"generateId\"])()\n };\n },\n\n\n computed: {\n isEmpty: function isEmpty() {\n return !this.nodes.length;\n },\n menuId: function menuId() {\n return 'cascader-menu-' + this.id + '-' + this.index;\n }\n },\n\n methods: {\n handleExpand: function handleExpand(e) {\n this.activeNode = e.target;\n },\n handleMouseMove: function handleMouseMove(e) {\n var activeNode = this.activeNode,\n hoverTimer = this.hoverTimer;\n var hoverZone = this.$refs.hoverZone;\n\n\n if (!activeNode || !hoverZone) return;\n\n if (activeNode.contains(e.target)) {\n clearTimeout(hoverTimer);\n\n var _$el$getBoundingClien = this.$el.getBoundingClientRect(),\n left = _$el$getBoundingClien.left;\n\n var startX = e.clientX - left;\n var _$el = this.$el,\n offsetWidth = _$el.offsetWidth,\n offsetHeight = _$el.offsetHeight;\n\n var top = activeNode.offsetTop;\n var bottom = top + activeNode.offsetHeight;\n\n hoverZone.innerHTML = '\\n \\n \\n ';\n } else if (!hoverTimer) {\n this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold);\n }\n },\n clearHoverZone: function clearHoverZone() {\n var hoverZone = this.$refs.hoverZone;\n\n if (!hoverZone) return;\n hoverZone.innerHTML = '';\n },\n renderEmptyText: function renderEmptyText(h) {\n return h(\n 'div',\n { 'class': 'el-cascader-menu__empty-text' },\n [this.t('el.cascader.noData')]\n );\n },\n renderNodeList: function renderNodeList(h) {\n var menuId = this.menuId;\n var isHoverMenu = this.panel.isHoverMenu;\n\n var events = { on: {} };\n\n if (isHoverMenu) {\n events.on.expand = this.handleExpand;\n }\n\n var nodes = this.nodes.map(function (node, index) {\n var hasChildren = node.hasChildren;\n\n return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{\n key: node.uid,\n attrs: { node: node,\n 'node-id': menuId + '-' + index,\n 'aria-haspopup': hasChildren,\n 'aria-owns': hasChildren ? menuId : null\n }\n }, events]));\n });\n\n return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]);\n }\n },\n\n render: function render(h) {\n var isEmpty = this.isEmpty,\n menuId = this.menuId;\n\n var events = { nativeOn: {} };\n\n // optimize hover to expand experience (#8010)\n if (this.panel.isHoverMenu) {\n events.nativeOn.mousemove = this.handleMouseMove;\n // events.nativeOn.mouseleave = this.clearHoverZone;\n }\n\n return h(\n 'el-scrollbar',\n external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n tag: 'ul',\n role: 'menu',\n id: menuId,\n\n 'wrap-class': 'el-cascader-menu__wrap',\n 'view-class': {\n 'el-cascader-menu__list': true,\n 'is-empty': isEmpty\n }\n },\n 'class': 'el-cascader-menu' }, events]),\n [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue\nvar cascader_menu_render, cascader_menu_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar cascader_menu_component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_menuvue_type_script_lang_js_,\n cascader_menu_render,\n cascader_menu_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var cascader_menu_api; }\ncascader_menu_component.options.__file = \"packages/cascader-panel/src/cascader-menu.vue\"\n/* harmony default export */ var cascader_menu = (cascader_menu_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar uid = 0;\n\nvar node_Node = function () {\n function Node(data, config, parentNode) {\n _classCallCheck(this, Node);\n\n this.data = data;\n this.config = config;\n this.parent = parentNode || null;\n this.level = !this.parent ? 1 : this.parent.level + 1;\n this.uid = uid++;\n\n this.initState();\n this.initChildren();\n }\n\n Node.prototype.initState = function initState() {\n var _config = this.config,\n valueKey = _config.value,\n labelKey = _config.label;\n\n\n this.value = this.data[valueKey];\n this.label = this.data[labelKey];\n this.pathNodes = this.calculatePathNodes();\n this.path = this.pathNodes.map(function (node) {\n return node.value;\n });\n this.pathLabels = this.pathNodes.map(function (node) {\n return node.label;\n });\n\n // lazy load\n this.loading = false;\n this.loaded = false;\n };\n\n Node.prototype.initChildren = function initChildren() {\n var _this = this;\n\n var config = this.config;\n\n var childrenKey = config.children;\n var childrenData = this.data[childrenKey];\n this.hasChildren = Array.isArray(childrenData);\n this.children = (childrenData || []).map(function (child) {\n return new Node(child, config, _this);\n });\n };\n\n Node.prototype.calculatePathNodes = function calculatePathNodes() {\n var nodes = [this];\n var parent = this.parent;\n\n while (parent) {\n nodes.unshift(parent);\n parent = parent.parent;\n }\n\n return nodes;\n };\n\n Node.prototype.getPath = function getPath() {\n return this.path;\n };\n\n Node.prototype.getValue = function getValue() {\n return this.value;\n };\n\n Node.prototype.getValueByOption = function getValueByOption() {\n return this.config.emitPath ? this.getPath() : this.getValue();\n };\n\n Node.prototype.getText = function getText(allLevels, separator) {\n return allLevels ? this.pathLabels.join(separator) : this.label;\n };\n\n Node.prototype.isSameNode = function isSameNode(checkedValue) {\n var value = this.getValueByOption();\n return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) {\n return Object(util_[\"isEqual\"])(val, value);\n }) : Object(util_[\"isEqual\"])(checkedValue, value);\n };\n\n Node.prototype.broadcast = function broadcast(event) {\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 var handlerName = 'onParent' + Object(util_[\"capitalize\"])(event);\n\n this.children.forEach(function (child) {\n if (child) {\n // bottom up\n child.broadcast.apply(child, [event].concat(args));\n child[handlerName] && child[handlerName].apply(child, args);\n }\n });\n };\n\n Node.prototype.emit = function emit(event) {\n var parent = this.parent;\n\n var handlerName = 'onChild' + Object(util_[\"capitalize\"])(event);\n if (parent) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n parent[handlerName] && parent[handlerName].apply(parent, args);\n parent.emit.apply(parent, [event].concat(args));\n }\n };\n\n Node.prototype.onParentCheck = function onParentCheck(checked) {\n if (!this.isDisabled) {\n this.setCheckState(checked);\n }\n };\n\n Node.prototype.onChildCheck = function onChildCheck() {\n var children = this.children;\n\n var validChildren = children.filter(function (child) {\n return !child.isDisabled;\n });\n var checked = validChildren.length ? validChildren.every(function (child) {\n return child.checked;\n }) : false;\n\n this.setCheckState(checked);\n };\n\n Node.prototype.setCheckState = function setCheckState(checked) {\n var totalNum = this.children.length;\n var checkedNum = this.children.reduce(function (c, p) {\n var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;\n return c + num;\n }, 0);\n\n this.checked = checked;\n this.indeterminate = checkedNum !== totalNum && checkedNum > 0;\n };\n\n Node.prototype.syncCheckState = function syncCheckState(checkedValue) {\n var value = this.getValueByOption();\n var checked = this.isSameNode(checkedValue, value);\n\n this.doCheck(checked);\n };\n\n Node.prototype.doCheck = function doCheck(checked) {\n if (this.checked !== checked) {\n if (this.config.checkStrictly) {\n this.checked = checked;\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast('check', checked);\n this.setCheckState(checked);\n this.emit('check');\n }\n }\n };\n\n _createClass(Node, [{\n key: 'isDisabled',\n get: function get() {\n var data = this.data,\n parent = this.parent,\n config = this.config;\n\n var disabledKey = config.disabled;\n var checkStrictly = config.checkStrictly;\n\n return data[disabledKey] || !checkStrictly && parent && parent.isDisabled;\n }\n }, {\n key: 'isLeaf',\n get: function get() {\n var data = this.data,\n loaded = this.loaded,\n hasChildren = this.hasChildren,\n children = this.children;\n var _config2 = this.config,\n lazy = _config2.lazy,\n leafKey = _config2.leaf;\n\n if (lazy) {\n var isLeaf = Object(shared_[\"isDef\"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false;\n this.hasChildren = !isLeaf;\n return isLeaf;\n }\n return !hasChildren;\n }\n }]);\n\n return Node;\n}();\n\n/* harmony default export */ var src_node = (node_Node);\n// CONCATENATED MODULE: ./packages/cascader-panel/src/store.js\nfunction store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar flatNodes = function flatNodes(data, leafOnly) {\n return data.reduce(function (res, node) {\n if (node.isLeaf) {\n res.push(node);\n } else {\n !leafOnly && res.push(node);\n res = res.concat(flatNodes(node.children, leafOnly));\n }\n return res;\n }, []);\n};\n\nvar store_Store = function () {\n function Store(data, config) {\n store_classCallCheck(this, Store);\n\n this.config = config;\n this.initNodes(data);\n }\n\n Store.prototype.initNodes = function initNodes(data) {\n var _this = this;\n\n data = Object(util_[\"coerceTruthyValueToArray\"])(data);\n this.nodes = data.map(function (nodeData) {\n return new src_node(nodeData, _this.config);\n });\n this.flattedNodes = this.getFlattedNodes(false, false);\n this.leafNodes = this.getFlattedNodes(true, false);\n };\n\n Store.prototype.appendNode = function appendNode(nodeData, parentNode) {\n var node = new src_node(nodeData, this.config, parentNode);\n var children = parentNode ? parentNode.children : this.nodes;\n\n children.push(node);\n };\n\n Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) {\n var _this2 = this;\n\n nodeDataList = Object(util_[\"coerceTruthyValueToArray\"])(nodeDataList);\n nodeDataList.forEach(function (nodeData) {\n return _this2.appendNode(nodeData, parentNode);\n });\n };\n\n Store.prototype.getNodes = function getNodes() {\n return this.nodes;\n };\n\n Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) {\n var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes;\n return cached ? cachedNodes : flatNodes(this.nodes, leafOnly);\n };\n\n Store.prototype.getNodeByValue = function getNodeByValue(value) {\n if (value) {\n var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) {\n return Object(util_[\"valueEquals\"])(node.path, value) || node.value === value;\n });\n return nodes && nodes.length ? nodes[0] : null;\n }\n return null;\n };\n\n return Store;\n}();\n\n/* harmony default export */ var src_store = (store_Store);\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/aria-utils\"\nvar aria_utils_ = __webpack_require__(32);\nvar aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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\nvar KeyCode = aria_utils_default.a.keys;\n\nvar DefaultProps = {\n expandTrigger: 'click', // or hover\n multiple: false,\n checkStrictly: false, // whether all nodes can be selected\n emitPath: true, // wether to emit an array of all levels value in which node is located\n lazy: false,\n lazyLoad: util_[\"noop\"],\n value: 'value',\n label: 'label',\n children: 'children',\n leaf: 'leaf',\n disabled: 'disabled',\n hoverThreshold: 500\n};\n\nvar cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) {\n return !el.getAttribute('aria-owns');\n};\n\nvar getSibling = function getSibling(el, distance) {\n var parentNode = el.parentNode;\n\n if (parentNode) {\n var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex=\"-1\"]');\n var index = Array.prototype.indexOf.call(siblings, el);\n return siblings[index + distance] || null;\n }\n return null;\n};\n\nvar getMenuIndex = function getMenuIndex(el, distance) {\n if (!el) return;\n var pieces = el.id.split('-');\n return Number(pieces[pieces.length - 2]);\n};\n\nvar focusNode = function focusNode(el) {\n if (!el) return;\n el.focus();\n !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click();\n};\n\nvar checkNode = function checkNode(el) {\n if (!el) return;\n\n var input = el.querySelector('input');\n if (input) {\n input.click();\n } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) {\n el.click();\n }\n};\n\n/* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({\n name: 'ElCascaderPanel',\n\n components: {\n CascaderMenu: cascader_menu\n },\n\n props: {\n value: {},\n options: Array,\n props: Object,\n border: {\n type: Boolean,\n default: true\n },\n renderLabel: Function\n },\n\n provide: function provide() {\n return {\n panel: this\n };\n },\n data: function data() {\n return {\n checkedValue: null,\n checkedNodePaths: [],\n store: [],\n menus: [],\n activePath: [],\n loadCount: 0\n };\n },\n\n\n computed: {\n config: function config() {\n return merge_default()(_extends({}, DefaultProps), this.props || {});\n },\n multiple: function multiple() {\n return this.config.multiple;\n },\n checkStrictly: function checkStrictly() {\n return this.config.checkStrictly;\n },\n leafOnly: function leafOnly() {\n return !this.checkStrictly;\n },\n isHoverMenu: function isHoverMenu() {\n return this.config.expandTrigger === 'hover';\n },\n renderLabelFn: function renderLabelFn() {\n return this.renderLabel || this.$scopedSlots.default;\n }\n },\n\n watch: {\n options: {\n handler: function handler() {\n this.initStore();\n },\n immediate: true,\n deep: true\n },\n value: function value() {\n this.syncCheckedValue();\n this.checkStrictly && this.calculateCheckedNodePaths();\n },\n checkedValue: function checkedValue(val) {\n if (!Object(util_[\"isEqual\"])(val, this.value)) {\n this.checkStrictly && this.calculateCheckedNodePaths();\n this.$emit('input', val);\n this.$emit('change', val);\n }\n }\n },\n\n mounted: function mounted() {\n if (!Object(util_[\"isEmpty\"])(this.value)) {\n this.syncCheckedValue();\n }\n },\n\n\n methods: {\n initStore: function initStore() {\n var config = this.config,\n options = this.options;\n\n if (config.lazy && Object(util_[\"isEmpty\"])(options)) {\n this.lazyLoad();\n } else {\n this.store = new src_store(options, config);\n this.menus = [this.store.getNodes()];\n this.syncMenuState();\n }\n },\n syncCheckedValue: function syncCheckedValue() {\n var value = this.value,\n checkedValue = this.checkedValue;\n\n if (!Object(util_[\"isEqual\"])(value, checkedValue)) {\n this.checkedValue = value;\n this.syncMenuState();\n }\n },\n syncMenuState: function syncMenuState() {\n var multiple = this.multiple,\n checkStrictly = this.checkStrictly;\n\n this.syncActivePath();\n multiple && this.syncMultiCheckState();\n checkStrictly && this.calculateCheckedNodePaths();\n this.$nextTick(this.scrollIntoView);\n },\n syncMultiCheckState: function syncMultiCheckState() {\n var _this = this;\n\n var nodes = this.getFlattedNodes(this.leafOnly);\n\n nodes.forEach(function (node) {\n node.syncCheckState(_this.checkedValue);\n });\n },\n syncActivePath: function syncActivePath() {\n var _this2 = this;\n\n var store = this.store,\n multiple = this.multiple,\n activePath = this.activePath,\n checkedValue = this.checkedValue;\n\n\n if (!Object(util_[\"isEmpty\"])(activePath)) {\n var nodes = activePath.map(function (node) {\n return _this2.getNodeByValue(node.getValue());\n });\n this.expandNodes(nodes);\n } else if (!Object(util_[\"isEmpty\"])(checkedValue)) {\n var value = multiple ? checkedValue[0] : checkedValue;\n var checkedNode = this.getNodeByValue(value) || {};\n var _nodes = (checkedNode.pathNodes || []).slice(0, -1);\n this.expandNodes(_nodes);\n } else {\n this.activePath = [];\n this.menus = [store.getNodes()];\n }\n },\n expandNodes: function expandNodes(nodes) {\n var _this3 = this;\n\n nodes.forEach(function (node) {\n return _this3.handleExpand(node, true /* silent */);\n });\n },\n calculateCheckedNodePaths: function calculateCheckedNodePaths() {\n var _this4 = this;\n\n var checkedValue = this.checkedValue,\n multiple = this.multiple;\n\n var checkedValues = multiple ? Object(util_[\"coerceTruthyValueToArray\"])(checkedValue) : [checkedValue];\n this.checkedNodePaths = checkedValues.map(function (v) {\n var checkedNode = _this4.getNodeByValue(v);\n return checkedNode ? checkedNode.pathNodes : [];\n });\n },\n handleKeyDown: function handleKeyDown(e) {\n var target = e.target,\n keyCode = e.keyCode;\n\n\n switch (keyCode) {\n case KeyCode.up:\n var prev = getSibling(target, -1);\n focusNode(prev);\n break;\n case KeyCode.down:\n var next = getSibling(target, 1);\n focusNode(next);\n break;\n case KeyCode.left:\n var preMenu = this.$refs.menu[getMenuIndex(target) - 1];\n if (preMenu) {\n var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded=\"true\"]');\n focusNode(expandedNode);\n }\n break;\n case KeyCode.right:\n var nextMenu = this.$refs.menu[getMenuIndex(target) + 1];\n if (nextMenu) {\n var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex=\"-1\"]');\n focusNode(firstNode);\n }\n break;\n case KeyCode.enter:\n checkNode(target);\n break;\n case KeyCode.esc:\n case KeyCode.tab:\n this.$emit('close');\n break;\n default:\n return;\n }\n },\n handleExpand: function handleExpand(node, silent) {\n var activePath = this.activePath;\n var level = node.level;\n\n var path = activePath.slice(0, level - 1);\n var menus = this.menus.slice(0, level);\n\n if (!node.isLeaf) {\n path.push(node);\n menus.push(node.children);\n }\n\n this.activePath = path;\n this.menus = menus;\n\n if (!silent) {\n var pathValues = path.map(function (node) {\n return node.getValue();\n });\n var activePathValues = activePath.map(function (node) {\n return node.getValue();\n });\n if (!Object(util_[\"valueEquals\"])(pathValues, activePathValues)) {\n this.$emit('active-item-change', pathValues); // Deprecated\n this.$emit('expand-change', pathValues);\n }\n }\n },\n handleCheckChange: function handleCheckChange(value) {\n this.checkedValue = value;\n },\n lazyLoad: function lazyLoad(node, onFullfiled) {\n var _this5 = this;\n\n var config = this.config;\n\n if (!node) {\n node = node || { root: true, level: 0 };\n this.store = new src_store([], config);\n this.menus = [this.store.getNodes()];\n }\n node.loading = true;\n var resolve = function resolve(dataList) {\n var parent = node.root ? null : node;\n dataList && dataList.length && _this5.store.appendNodes(dataList, parent);\n node.loading = false;\n node.loaded = true;\n\n // dispose default value on lazy load mode\n if (Array.isArray(_this5.checkedValue)) {\n var nodeValue = _this5.checkedValue[_this5.loadCount++];\n var valueKey = _this5.config.value;\n var leafKey = _this5.config.leaf;\n\n if (Array.isArray(dataList) && dataList.filter(function (item) {\n return item[valueKey] === nodeValue;\n }).length > 0) {\n var checkedNode = _this5.store.getNodeByValue(nodeValue);\n\n if (!checkedNode.data[leafKey]) {\n _this5.lazyLoad(checkedNode, function () {\n _this5.handleExpand(checkedNode);\n });\n }\n\n if (_this5.loadCount === _this5.checkedValue.length) {\n _this5.$parent.computePresentText();\n }\n }\n }\n\n onFullfiled && onFullfiled(dataList);\n };\n config.lazyLoad(node, resolve);\n },\n\n\n /**\n * public methods\n */\n calculateMultiCheckedValue: function calculateMultiCheckedValue() {\n this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) {\n return node.getValueByOption();\n });\n },\n scrollIntoView: function scrollIntoView() {\n if (this.$isServer) return;\n\n var menus = this.$refs.menu || [];\n menus.forEach(function (menu) {\n var menuElement = menu.$el;\n if (menuElement) {\n var container = menuElement.querySelector('.el-scrollbar__wrap');\n var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path');\n scroll_into_view_default()(container, activeNode);\n }\n });\n },\n getNodeByValue: function getNodeByValue(val) {\n return this.store.getNodeByValue(val);\n },\n getFlattedNodes: function getFlattedNodes(leafOnly) {\n var cached = !this.config.lazy;\n return this.store.getFlattedNodes(leafOnly, cached);\n },\n getCheckedNodes: function getCheckedNodes(leafOnly) {\n var checkedValue = this.checkedValue,\n multiple = this.multiple;\n\n if (multiple) {\n var nodes = this.getFlattedNodes(leafOnly);\n return nodes.filter(function (node) {\n return node.checked;\n });\n } else {\n return Object(util_[\"isEmpty\"])(checkedValue) ? [] : [this.getNodeByValue(checkedValue)];\n }\n },\n clearCheckedNodes: function clearCheckedNodes() {\n var config = this.config,\n leafOnly = this.leafOnly;\n var multiple = config.multiple,\n emitPath = config.emitPath;\n\n if (multiple) {\n this.getCheckedNodes(leafOnly).filter(function (node) {\n return !node.isDisabled;\n }).forEach(function (node) {\n return node.doCheck(false);\n });\n this.calculateMultiCheckedValue();\n } else {\n this.checkedValue = emitPath ? [] : null;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue\n\n\n\n\n\n/* normalize component */\n\nvar cascader_panel_component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_panelvue_type_script_lang_js_,\n cascader_panelvue_type_template_id_34932346_render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var cascader_panel_api; }\ncascader_panel_component.options.__file = \"packages/cascader-panel/src/cascader-panel.vue\"\n/* harmony default export */ var cascader_panel = (cascader_panel_component.exports);\n// CONCATENATED MODULE: ./packages/cascader-panel/index.js\n\n\n/* istanbul ignore next */\ncascader_panel.install = function (Vue) {\n Vue.component(cascader_panel.name, cascader_panel);\n};\n\n/* harmony default export */ var packages_cascader_panel = __webpack_exports__[\"default\"] = (cascader_panel);\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(265);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(183);\n\n/***/ })\n\n/******/ });\n\n/***/ }),\n/* 1119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(103);\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/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/******/ });\n\n/***/ }),\n/* 1120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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 = 114);\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 = __webpack_require__(263);\n\n/***/ }),\n\n/***/ 114:\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 = __webpack_require__(72);\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(264);\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/******/ });\n\n/***/ }),\n/* 1121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 = __webpack_require__(61);\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 */\n\n/***/ }),\n/* 1122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = {\n el: {\n colorpicker: {\n confirm: 'OK',\n clear: 'Clear'\n },\n datepicker: {\n now: 'Now',\n today: 'Today',\n cancel: 'Cancel',\n clear: 'Clear',\n confirm: 'OK',\n selectDate: 'Select date',\n selectTime: 'Select time',\n startDate: 'Start Date',\n startTime: 'Start Time',\n endDate: 'End Date',\n endTime: 'End Time',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n year: '',\n month1: 'January',\n month2: 'February',\n month3: 'March',\n month4: 'April',\n month5: 'May',\n month6: 'June',\n month7: 'July',\n month8: 'August',\n month9: 'September',\n month10: 'October',\n month11: 'November',\n month12: 'December',\n week: 'week',\n weeks: {\n sun: 'Sun',\n mon: 'Mon',\n tue: 'Tue',\n wed: 'Wed',\n thu: 'Thu',\n fri: 'Fri',\n sat: 'Sat'\n },\n months: {\n jan: 'Jan',\n feb: 'Feb',\n mar: 'Mar',\n apr: 'Apr',\n may: 'May',\n jun: 'Jun',\n jul: 'Jul',\n aug: 'Aug',\n sep: 'Sep',\n oct: 'Oct',\n nov: 'Nov',\n dec: 'Dec'\n }\n },\n select: {\n loading: 'Loading',\n noMatch: 'No matching data',\n noData: 'No data',\n placeholder: 'Select'\n },\n cascader: {\n noMatch: 'No matching data',\n loading: 'Loading',\n placeholder: 'Select',\n noData: 'No data'\n },\n pagination: {\n goto: 'Go to',\n pagesize: '/page',\n total: 'Total {total}',\n pageClassifier: ''\n },\n messagebox: {\n title: 'Message',\n confirm: 'OK',\n cancel: 'Cancel',\n error: 'Illegal input'\n },\n upload: {\n deleteTip: 'press delete to remove',\n delete: 'Delete',\n preview: 'Preview',\n continue: 'Continue'\n },\n table: {\n emptyText: 'No Data',\n confirmFilter: 'Confirm',\n resetFilter: 'Reset',\n clearFilter: 'All',\n sumText: 'Sum'\n },\n tree: {\n emptyText: 'No Data'\n },\n transfer: {\n noMatch: 'No matching data',\n noData: 'No data',\n titles: ['List 1', 'List 2'], // to be translated\n filterPlaceholder: 'Enter keyword', // to be translated\n noCheckedFormat: '{total} items', // to be translated\n hasCheckedFormat: '{checked}/{total} checked' // to be translated\n },\n image: {\n error: 'FAILED'\n },\n pageHeader: {\n title: 'Back' // to be translated\n },\n popconfirm: {\n confirmButtonText: 'Yes',\n cancelButtonText: 'No'\n }\n }\n};\n\n/***/ }),\n/* 1123 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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 = __webpack_require__(61);\n\n/***/ }),\n\n/***/ 34:\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 = __webpack_require__(103);\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__(34);\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/***/ }),\n/* 1124 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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 = 74);\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/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(72);\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(61);\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(185);\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(27);\n\n/***/ }),\n\n/***/ 74:\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/popover/src/main.vue?vue&type=template&id=52060272&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n [\n _c(\n \"transition\",\n {\n attrs: { name: _vm.transition },\n on: {\n \"after-enter\": _vm.handleAfterEnter,\n \"after-leave\": _vm.handleAfterLeave\n }\n },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.disabled && _vm.showPopper,\n expression: \"!disabled && showPopper\"\n }\n ],\n ref: \"popper\",\n staticClass: \"el-popover el-popper\",\n class: [_vm.popperClass, _vm.content && \"el-popover--plain\"],\n style: { width: _vm.width + \"px\" },\n attrs: {\n role: \"tooltip\",\n id: _vm.tooltipId,\n \"aria-hidden\":\n _vm.disabled || !_vm.showPopper ? \"true\" : \"false\"\n }\n },\n [\n _vm.title\n ? _c(\"div\", {\n staticClass: \"el-popover__title\",\n domProps: { textContent: _vm._s(_vm.title) }\n })\n : _vm._e(),\n _vm._t(\"default\", [_vm._v(_vm._s(_vm.content))])\n ],\n 2\n )\n ]\n ),\n _vm._t(\"reference\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\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/popover/src/main.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/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElPopover',\n\n mixins: [vue_popper_default.a],\n\n props: {\n trigger: {\n type: String,\n default: 'click',\n validator: function validator(value) {\n return ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1;\n }\n },\n openDelay: {\n type: Number,\n default: 0\n },\n closeDelay: {\n type: Number,\n default: 200\n },\n title: String,\n disabled: Boolean,\n content: String,\n reference: {},\n popperClass: String,\n width: {},\n visibleArrow: {\n default: true\n },\n arrowOffset: {\n type: Number,\n default: 0\n },\n transition: {\n type: String,\n default: 'fade-in-linear'\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n\n computed: {\n tooltipId: function tooltipId() {\n return 'el-popover-' + Object(util_[\"generateId\"])();\n }\n },\n watch: {\n showPopper: function showPopper(val) {\n if (this.disabled) {\n return;\n }\n val ? this.$emit('show') : this.$emit('hide');\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var reference = this.referenceElm = this.reference || this.$refs.reference;\n var popper = this.popper || this.$refs.popper;\n\n if (!reference && this.$slots.reference && this.$slots.reference[0]) {\n reference = this.referenceElm = this.$slots.reference[0].elm;\n }\n // 可访问性\n if (reference) {\n Object(dom_[\"addClass\"])(reference, 'el-popover__reference');\n reference.setAttribute('aria-describedby', this.tooltipId);\n reference.setAttribute('tabindex', this.tabindex); // tab序列\n popper.setAttribute('tabindex', 0);\n\n if (this.trigger !== 'click') {\n Object(dom_[\"on\"])(reference, 'focusin', function () {\n _this.handleFocus();\n var instance = reference.__vue__;\n if (instance && typeof instance.focus === 'function') {\n instance.focus();\n }\n });\n Object(dom_[\"on\"])(popper, 'focusin', this.handleFocus);\n Object(dom_[\"on\"])(reference, 'focusout', this.handleBlur);\n Object(dom_[\"on\"])(popper, 'focusout', this.handleBlur);\n }\n Object(dom_[\"on\"])(reference, 'keydown', this.handleKeydown);\n Object(dom_[\"on\"])(reference, 'click', this.handleClick);\n }\n if (this.trigger === 'click') {\n Object(dom_[\"on\"])(reference, 'click', this.doToggle);\n Object(dom_[\"on\"])(document, 'click', this.handleDocumentClick);\n } else if (this.trigger === 'hover') {\n Object(dom_[\"on\"])(reference, 'mouseenter', this.handleMouseEnter);\n Object(dom_[\"on\"])(popper, 'mouseenter', this.handleMouseEnter);\n Object(dom_[\"on\"])(reference, 'mouseleave', this.handleMouseLeave);\n Object(dom_[\"on\"])(popper, 'mouseleave', this.handleMouseLeave);\n } else if (this.trigger === 'focus') {\n if (this.tabindex < 0) {\n console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key');\n }\n if (reference.querySelector('input, textarea')) {\n Object(dom_[\"on\"])(reference, 'focusin', this.doShow);\n Object(dom_[\"on\"])(reference, 'focusout', this.doClose);\n } else {\n Object(dom_[\"on\"])(reference, 'mousedown', this.doShow);\n Object(dom_[\"on\"])(reference, 'mouseup', this.doClose);\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.cleanup();\n },\n deactivated: function deactivated() {\n this.cleanup();\n },\n\n\n methods: {\n doToggle: function doToggle() {\n this.showPopper = !this.showPopper;\n },\n doShow: function doShow() {\n this.showPopper = true;\n },\n doClose: function doClose() {\n this.showPopper = false;\n },\n handleFocus: function handleFocus() {\n Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true;\n },\n handleClick: function handleClick() {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n },\n handleBlur: function handleBlur() {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false;\n },\n handleMouseEnter: function handleMouseEnter() {\n var _this2 = this;\n\n clearTimeout(this._timer);\n if (this.openDelay) {\n this._timer = setTimeout(function () {\n _this2.showPopper = true;\n }, this.openDelay);\n } else {\n this.showPopper = true;\n }\n },\n handleKeydown: function handleKeydown(ev) {\n if (ev.keyCode === 27 && this.trigger !== 'manual') {\n // esc\n this.doClose();\n }\n },\n handleMouseLeave: function handleMouseLeave() {\n var _this3 = this;\n\n clearTimeout(this._timer);\n if (this.closeDelay) {\n this._timer = setTimeout(function () {\n _this3.showPopper = false;\n }, this.closeDelay);\n } else {\n this.showPopper = false;\n }\n },\n handleDocumentClick: function handleDocumentClick(e) {\n var reference = this.reference || this.$refs.reference;\n var popper = this.popper || this.$refs.popper;\n\n if (!reference && this.$slots.reference && this.$slots.reference[0]) {\n reference = this.referenceElm = this.$slots.reference[0].elm;\n }\n if (!this.$el || !reference || this.$el.contains(e.target) || reference.contains(e.target) || !popper || popper.contains(e.target)) return;\n this.showPopper = false;\n },\n handleAfterEnter: function handleAfterEnter() {\n this.$emit('after-enter');\n },\n handleAfterLeave: function handleAfterLeave() {\n this.$emit('after-leave');\n this.doDestroy();\n },\n cleanup: function cleanup() {\n if (this.openDelay || this.closeDelay) {\n clearTimeout(this._timer);\n }\n }\n },\n\n destroyed: function destroyed() {\n var reference = this.reference;\n\n Object(dom_[\"off\"])(reference, 'click', this.doToggle);\n Object(dom_[\"off\"])(reference, 'mouseup', this.doClose);\n Object(dom_[\"off\"])(reference, 'mousedown', this.doShow);\n Object(dom_[\"off\"])(reference, 'focusin', this.doShow);\n Object(dom_[\"off\"])(reference, 'focusout', this.doClose);\n Object(dom_[\"off\"])(reference, 'mousedown', this.doShow);\n Object(dom_[\"off\"])(reference, 'mouseup', this.doClose);\n Object(dom_[\"off\"])(reference, 'mouseleave', this.handleMouseLeave);\n Object(dom_[\"off\"])(reference, 'mouseenter', this.handleMouseEnter);\n Object(dom_[\"off\"])(document, 'click', this.handleDocumentClick);\n }\n});\n// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_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/popover/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_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/popover/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/popover/src/directive.js\nvar getReference = function getReference(el, binding, vnode) {\n var _ref = binding.expression ? binding.value : binding.arg;\n var popper = vnode.context.$refs[_ref];\n if (popper) {\n if (Array.isArray(popper)) {\n popper[0].$refs.reference = el;\n } else {\n popper.$refs.reference = el;\n }\n }\n};\n\n/* harmony default export */ var directive = ({\n bind: function bind(el, binding, vnode) {\n getReference(el, binding, vnode);\n },\n inserted: function inserted(el, binding, vnode) {\n getReference(el, binding, vnode);\n }\n});\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/popover/index.js\n\n\n\n\nexternal_vue_default.a.directive('popover', directive);\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.directive('popover', directive);\n Vue.component(main.name, main);\n};\nmain.directive = directive;\n\n/* harmony default export */ var popover = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });\n\n/***/ }),\n/* 1125 */\n/***/ (function(module, exports) {\n\nmodule.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 = 119);\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/***/ 119:\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 progress: (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/***/ }),\n/* 1126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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 = 61);\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/* 1 */,\n/* 2 */,\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(61);\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(103);\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(185);\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(265);\n\n/***/ }),\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(263);\n\n/***/ }),\n/* 11 */,\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(424);\n\n/***/ }),\n/* 13 */,\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(266);\n\n/***/ }),\n/* 15 */,\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(268);\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(186);\n\n/***/ }),\n/* 18 */,\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(150);\n\n/***/ }),\n/* 20 */,\n/* 21 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(184);\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(264);\n\n/***/ }),\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */,\n/* 29 */,\n/* 30 */,\n/* 31 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(269);\n\n/***/ }),\n/* 32 */,\n/* 33 */,\n/* 34 */\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/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(423);\n\n/***/ }),\n/* 39 */,\n/* 40 */,\n/* 41 */,\n/* 42 */,\n/* 43 */,\n/* 44 */,\n/* 45 */,\n/* 46 */,\n/* 47 */,\n/* 48 */,\n/* 49 */,\n/* 50 */,\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */,\n/* 59 */,\n/* 60 */,\n/* 61 */\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/select/src/select.vue?vue&type=template&id=0e4aade6&\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 directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.handleClose,\n expression: \"handleClose\"\n }\n ],\n staticClass: \"el-select\",\n class: [_vm.selectSize ? \"el-select--\" + _vm.selectSize : \"\"],\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.toggleMenu($event)\n }\n }\n },\n [\n _vm.multiple\n ? _c(\n \"div\",\n {\n ref: \"tags\",\n staticClass: \"el-select__tags\",\n style: { \"max-width\": _vm.inputWidth - 32 + \"px\", width: \"100%\" }\n },\n [\n _vm.collapseTags && _vm.selected.length\n ? _c(\n \"span\",\n [\n _c(\n \"el-tag\",\n {\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: _vm.selected[0].hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, _vm.selected[0])\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(_vm.selected[0].currentLabel))\n ])\n ]\n ),\n _vm.selected.length > 1\n ? _c(\n \"el-tag\",\n {\n attrs: {\n closable: false,\n size: _vm.collapseTagSize,\n type: \"info\",\n \"disable-transitions\": \"\"\n }\n },\n [\n _c(\n \"span\",\n { staticClass: \"el-select__tags-text\" },\n [_vm._v(\"+ \" + _vm._s(_vm.selected.length - 1))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n !_vm.collapseTags\n ? _c(\n \"transition-group\",\n { on: { \"after-leave\": _vm.resetInputHeight } },\n _vm._l(_vm.selected, function(item) {\n return _c(\n \"el-tag\",\n {\n key: _vm.getValueKey(item),\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: item.hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, item)\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(item.currentLabel))\n ])\n ]\n )\n }),\n 1\n )\n : _vm._e(),\n _vm.filterable\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\"\n }\n ],\n ref: \"input\",\n staticClass: \"el-select__input\",\n class: [_vm.selectSize ? \"is-\" + _vm.selectSize : \"\"],\n style: {\n \"flex-grow\": \"1\",\n width: _vm.inputLength / (_vm.inputWidth - 32) + \"%\",\n \"max-width\": _vm.inputWidth - 42 + \"px\"\n },\n attrs: {\n type: \"text\",\n disabled: _vm.selectDisabled,\n autocomplete: _vm.autoComplete || _vm.autocomplete\n },\n domProps: { value: _vm.query },\n on: {\n focus: _vm.handleFocus,\n blur: function($event) {\n _vm.softFocus = false\n },\n keyup: _vm.managePlaceholder,\n keydown: [\n _vm.resetInputState,\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 _vm.navigateOptions(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.navigateOptions(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"delete\",\n [8, 46],\n $event.key,\n [\"Backspace\", \"Delete\", \"Del\"]\n )\n ) {\n return null\n }\n return _vm.deletePrevTag($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n compositionstart: _vm.handleComposition,\n compositionupdate: _vm.handleComposition,\n compositionend: _vm.handleComposition,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n },\n _vm.debouncedQueryChange\n ]\n }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-input\",\n {\n ref: \"reference\",\n class: { \"is-focus\": _vm.visible },\n attrs: {\n type: \"text\",\n placeholder: _vm.currentPlaceholder,\n name: _vm.name,\n id: _vm.id,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n size: _vm.selectSize,\n disabled: _vm.selectDisabled,\n readonly: _vm.readonly,\n \"validate-event\": false,\n tabindex: _vm.multiple && _vm.filterable ? \"-1\" : null\n },\n on: { focus: _vm.handleFocus, blur: _vm.handleBlur },\n nativeOn: {\n keyup: function($event) {\n return _vm.debouncedOnInputChange($event)\n },\n keydown: [\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.stopPropagation()\n $event.preventDefault()\n _vm.navigateOptions(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.navigateOptions(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n paste: function($event) {\n return _vm.debouncedOnInputChange($event)\n },\n mouseenter: function($event) {\n _vm.inputHovering = true\n },\n mouseleave: function($event) {\n _vm.inputHovering = false\n }\n },\n model: {\n value: _vm.selectedLabel,\n callback: function($$v) {\n _vm.selectedLabel = $$v\n },\n expression: \"selectedLabel\"\n }\n },\n [\n _vm.$slots.prefix\n ? _c(\"template\", { slot: \"prefix\" }, [_vm._t(\"prefix\")], 2)\n : _vm._e(),\n _c(\"template\", { slot: \"suffix\" }, [\n _c(\"i\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.showClose,\n expression: \"!showClose\"\n }\n ],\n class: [\n \"el-select__caret\",\n \"el-input__icon\",\n \"el-icon-\" + _vm.iconClass\n ]\n }),\n _vm.showClose\n ? _c(\"i\", {\n staticClass:\n \"el-select__caret el-input__icon el-icon-circle-close\",\n on: { click: _vm.handleClearClick }\n })\n : _vm._e()\n ])\n ],\n 2\n ),\n _c(\n \"transition\",\n {\n attrs: { name: \"el-zoom-in-top\" },\n on: {\n \"before-enter\": _vm.handleMenuEnter,\n \"after-leave\": _vm.doDestroy\n }\n },\n [\n _c(\n \"el-select-menu\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible && _vm.emptyText !== false,\n expression: \"visible && emptyText !== false\"\n }\n ],\n ref: \"popper\",\n attrs: { \"append-to-body\": _vm.popperAppendToBody }\n },\n [\n _c(\n \"el-scrollbar\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.options.length > 0 && !_vm.loading,\n expression: \"options.length > 0 && !loading\"\n }\n ],\n ref: \"scrollbar\",\n class: {\n \"is-empty\":\n !_vm.allowCreate &&\n _vm.query &&\n _vm.filteredOptionsCount === 0\n },\n attrs: {\n tag: \"ul\",\n \"wrap-class\": \"el-select-dropdown__wrap\",\n \"view-class\": \"el-select-dropdown__list\"\n }\n },\n [\n _vm.showNewOption\n ? _c(\"el-option\", {\n attrs: { value: _vm.query, created: \"\" }\n })\n : _vm._e(),\n _vm._t(\"default\")\n ],\n 2\n ),\n _vm.emptyText &&\n (!_vm.allowCreate ||\n _vm.loading ||\n (_vm.allowCreate && _vm.options.length === 0))\n ? [\n _vm.$slots.empty\n ? _vm._t(\"empty\")\n : _c(\"p\", { staticClass: \"el-select-dropdown__empty\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.emptyText) +\n \"\\n \"\n )\n ])\n ]\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\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/focus\"\nvar focus_ = __webpack_require__(22);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\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/select-dropdown.vue?vue&type=template&id=06828748&\nvar select_dropdownvue_type_template_id_06828748_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-select-dropdown el-popper\",\n class: [{ \"is-multiple\": _vm.$parent.multiple }, _vm.popperClass],\n style: { minWidth: _vm.minWidth }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar select_dropdownvue_type_template_id_06828748_staticRenderFns = []\nselect_dropdownvue_type_template_id_06828748_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({\n name: 'ElSelectDropdown',\n\n componentName: 'ElSelectDropdown',\n\n mixins: [vue_popper_default.a],\n\n props: {\n placement: {\n default: 'bottom-start'\n },\n\n boundariesPadding: {\n default: 0\n },\n\n popperOptions: {\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n },\n\n visibleArrow: {\n default: true\n },\n\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n minWidth: ''\n };\n },\n\n\n computed: {\n popperClass: function popperClass() {\n return this.$parent.popperClass;\n }\n },\n\n watch: {\n '$parent.inputWidth': function $parentInputWidth() {\n this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n this.referenceElm = this.$parent.$refs.reference.$el;\n this.$parent.popperElm = this.popperElm = this.$el;\n this.$on('updatePopper', function () {\n if (_this.$parent.visible) _this.updatePopper();\n });\n this.$on('destroyPopper', this.destroyPopper);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_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/select-dropdown.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_select_dropdownvue_type_script_lang_js_,\n select_dropdownvue_type_template_id_06828748_render,\n select_dropdownvue_type_template_id_06828748_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/select-dropdown.vue\"\n/* harmony default export */ var select_dropdown = (component.exports);\n// EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules\nvar src_option = __webpack_require__(34);\n\n// EXTERNAL MODULE: external \"element-ui/lib/tag\"\nvar tag_ = __webpack_require__(38);\nvar tag_default = /*#__PURE__*/__webpack_require__.n(tag_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(14);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(17);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// EXTERNAL MODULE: external \"element-ui/lib/locale\"\nvar lib_locale_ = __webpack_require__(19);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js\n/* harmony default export */ var navigation_mixin = ({\n data: function data() {\n return {\n hoverOption: -1\n };\n },\n\n\n computed: {\n optionsAllDisabled: function optionsAllDisabled() {\n return this.options.filter(function (option) {\n return option.visible;\n }).every(function (option) {\n return option.disabled;\n });\n }\n },\n\n watch: {\n hoverIndex: function hoverIndex(val) {\n var _this = this;\n\n if (typeof val === 'number' && val > -1) {\n this.hoverOption = this.options[val] || {};\n }\n this.options.forEach(function (option) {\n option.hover = _this.hoverOption === option;\n });\n }\n },\n\n methods: {\n navigateOptions: function navigateOptions(direction) {\n var _this2 = this;\n\n if (!this.visible) {\n this.visible = true;\n return;\n }\n if (this.options.length === 0 || this.filteredOptionsCount === 0) return;\n if (!this.optionsAllDisabled) {\n if (direction === 'next') {\n this.hoverIndex++;\n if (this.hoverIndex === this.options.length) {\n this.hoverIndex = 0;\n }\n } else if (direction === 'prev') {\n this.hoverIndex--;\n if (this.hoverIndex < 0) {\n this.hoverIndex = this.options.length - 1;\n }\n }\n var option = this.options[this.hoverIndex];\n if (option.disabled === true || option.groupDisabled === true || !option.visible) {\n this.navigateOptions(direction);\n }\n this.$nextTick(function () {\n return _this2.scrollToOption(_this2.hoverOption);\n });\n }\n }\n }\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/select/src/select.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//\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 selectvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],\n\n name: 'ElSelect',\n\n componentName: 'ElSelect',\n\n inject: {\n elForm: {\n default: ''\n },\n\n elFormItem: {\n default: ''\n }\n },\n\n provide: function provide() {\n return {\n 'select': this\n };\n },\n\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n readonly: function readonly() {\n return !this.filterable || this.multiple || !Object(util_[\"isIE\"])() && !Object(util_[\"isEdge\"])() && !this.visible;\n },\n showClose: function showClose() {\n var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';\n var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;\n return criteria;\n },\n iconClass: function iconClass() {\n return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';\n },\n debounce: function debounce() {\n return this.remote ? 300 : 0;\n },\n emptyText: function emptyText() {\n if (this.loading) {\n return this.loadingText || this.t('el.select.loading');\n } else {\n if (this.remote && this.query === '' && this.options.length === 0) return false;\n if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {\n return this.noMatchText || this.t('el.select.noMatch');\n }\n if (this.options.length === 0) {\n return this.noDataText || this.t('el.select.noData');\n }\n }\n return null;\n },\n showNewOption: function showNewOption() {\n var _this = this;\n\n var hasExistingOption = this.options.filter(function (option) {\n return !option.created;\n }).some(function (option) {\n return option.currentLabel === _this.query;\n });\n return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;\n },\n selectSize: function selectSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n selectDisabled: function selectDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n collapseTagSize: function collapseTagSize() {\n return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';\n }\n },\n\n components: {\n ElInput: input_default.a,\n ElSelectMenu: select_dropdown,\n ElOption: src_option[\"a\" /* default */],\n ElTag: tag_default.a,\n ElScrollbar: scrollbar_default.a\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n props: {\n name: String,\n id: String,\n value: {\n required: true\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 automaticDropdown: Boolean,\n size: String,\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: String,\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0\n },\n placeholder: {\n type: String,\n default: function _default() {\n return Object(lib_locale_[\"t\"])('el.select.placeholder');\n }\n },\n defaultFirstOption: Boolean,\n reserveKeyword: Boolean,\n valueKey: {\n type: String,\n default: 'value'\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n options: [],\n cachedOptions: [],\n createdLabel: null,\n createdSelected: false,\n selected: this.multiple ? [] : {},\n inputLength: 20,\n inputWidth: 0,\n initialInputHeight: 0,\n cachedPlaceHolder: '',\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n softFocus: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n currentPlaceholder: '',\n menuVisibleOnFocus: false,\n isOnComposition: false,\n isSilentBlur: false\n };\n },\n\n\n watch: {\n selectDisabled: function selectDisabled() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.resetInputHeight();\n });\n },\n placeholder: function placeholder(val) {\n this.cachedPlaceHolder = this.currentPlaceholder = val;\n },\n value: function value(val, oldVal) {\n if (this.multiple) {\n this.resetInputHeight();\n if (val && val.length > 0 || this.$refs.input && this.query !== '') {\n this.currentPlaceholder = '';\n } else {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n if (this.filterable && !this.reserveKeyword) {\n this.query = '';\n this.handleQueryChange(this.query);\n }\n }\n this.setSelected();\n if (this.filterable && !this.multiple) {\n this.inputLength = 20;\n }\n if (!Object(util_[\"valueEquals\"])(val, oldVal)) {\n this.dispatch('ElFormItem', 'el.form.change', val);\n }\n },\n visible: function visible(val) {\n var _this3 = this;\n\n if (!val) {\n this.broadcast('ElSelectDropdown', 'destroyPopper');\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n this.query = '';\n this.previousQuery = null;\n this.selectedLabel = '';\n this.inputLength = 20;\n this.menuVisibleOnFocus = false;\n this.resetHoverIndex();\n this.$nextTick(function () {\n if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {\n _this3.currentPlaceholder = _this3.cachedPlaceHolder;\n }\n });\n if (!this.multiple) {\n if (this.selected) {\n if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {\n this.selectedLabel = this.createdLabel;\n } else {\n this.selectedLabel = this.selected.currentLabel;\n }\n if (this.filterable) this.query = this.selectedLabel;\n }\n\n if (this.filterable) {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n }\n } else {\n this.broadcast('ElSelectDropdown', 'updatePopper');\n if (this.filterable) {\n this.query = this.remote ? '' : this.selectedLabel;\n this.handleQueryChange(this.query);\n if (this.multiple) {\n this.$refs.input.focus();\n } else {\n if (!this.remote) {\n this.broadcast('ElOption', 'queryChange', '');\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n\n if (this.selectedLabel) {\n this.currentPlaceholder = this.selectedLabel;\n this.selectedLabel = '';\n }\n }\n }\n }\n this.$emit('visible-change', val);\n },\n options: function options() {\n var _this4 = this;\n\n if (this.$isServer) return;\n this.$nextTick(function () {\n _this4.broadcast('ElSelectDropdown', 'updatePopper');\n });\n if (this.multiple) {\n this.resetInputHeight();\n }\n var inputs = this.$el.querySelectorAll('input');\n if ([].indexOf.call(inputs, document.activeElement) === -1) {\n this.setSelected();\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n }\n },\n\n methods: {\n handleComposition: function handleComposition(event) {\n var _this5 = this;\n\n var text = event.target.value;\n if (event.type === 'compositionend') {\n this.isOnComposition = false;\n this.$nextTick(function (_) {\n return _this5.handleQueryChange(text);\n });\n } else {\n var lastCharacter = text[text.length - 1] || '';\n this.isOnComposition = !Object(shared_[\"isKorean\"])(lastCharacter);\n }\n },\n handleQueryChange: function handleQueryChange(val) {\n var _this6 = this;\n\n if (this.previousQuery === val || this.isOnComposition) return;\n if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {\n this.previousQuery = val;\n return;\n }\n this.previousQuery = val;\n this.$nextTick(function () {\n if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');\n });\n this.hoverIndex = -1;\n if (this.multiple && this.filterable) {\n this.$nextTick(function () {\n var length = _this6.$refs.input.value.length * 15 + 20;\n _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;\n _this6.managePlaceholder();\n _this6.resetInputHeight();\n });\n }\n if (this.remote && typeof this.remoteMethod === 'function') {\n this.hoverIndex = -1;\n this.remoteMethod(val);\n } else if (typeof this.filterMethod === 'function') {\n this.filterMethod(val);\n this.broadcast('ElOptionGroup', 'queryChange');\n } else {\n this.filteredOptionsCount = this.optionsCount;\n this.broadcast('ElOption', 'queryChange', val);\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n },\n scrollToOption: function scrollToOption(option) {\n var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;\n if (this.$refs.popper && target) {\n var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');\n scroll_into_view_default()(menu, target);\n }\n this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();\n },\n handleMenuEnter: function handleMenuEnter() {\n var _this7 = this;\n\n this.$nextTick(function () {\n return _this7.scrollToOption(_this7.selected);\n });\n },\n emitChange: function emitChange(val) {\n if (!Object(util_[\"valueEquals\"])(this.value, val)) {\n this.$emit('change', val);\n }\n },\n getOption: function getOption(value) {\n var option = void 0;\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';\n var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';\n\n for (var i = this.cachedOptions.length - 1; i >= 0; i--) {\n var cachedOption = this.cachedOptions[i];\n var isEqual = isObject ? Object(util_[\"getValueByPath\"])(cachedOption.value, this.valueKey) === Object(util_[\"getValueByPath\"])(value, this.valueKey) : cachedOption.value === value;\n if (isEqual) {\n option = cachedOption;\n break;\n }\n }\n if (option) return option;\n var label = !isObject && !isNull && !isUndefined ? value : '';\n var newOption = {\n value: value,\n currentLabel: label\n };\n if (this.multiple) {\n newOption.hitState = false;\n }\n return newOption;\n },\n setSelected: function setSelected() {\n var _this8 = this;\n\n if (!this.multiple) {\n var option = this.getOption(this.value);\n if (option.created) {\n this.createdLabel = option.currentLabel;\n this.createdSelected = true;\n } else {\n this.createdSelected = false;\n }\n this.selectedLabel = option.currentLabel;\n this.selected = option;\n if (this.filterable) this.query = this.selectedLabel;\n return;\n }\n var result = [];\n if (Array.isArray(this.value)) {\n this.value.forEach(function (value) {\n result.push(_this8.getOption(value));\n });\n }\n this.selected = result;\n this.$nextTick(function () {\n _this8.resetInputHeight();\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.softFocus) {\n if (this.automaticDropdown || this.filterable) {\n this.visible = true;\n if (this.filterable) {\n this.menuVisibleOnFocus = true;\n }\n }\n this.$emit('focus', event);\n } else {\n this.softFocus = false;\n }\n },\n blur: function blur() {\n this.visible = false;\n this.$refs.reference.blur();\n },\n handleBlur: function handleBlur(event) {\n var _this9 = this;\n\n setTimeout(function () {\n if (_this9.isSilentBlur) {\n _this9.isSilentBlur = false;\n } else {\n _this9.$emit('blur', event);\n }\n }, 50);\n this.softFocus = false;\n },\n handleClearClick: function handleClearClick(event) {\n this.deleteSelected(event);\n },\n doDestroy: function doDestroy() {\n this.$refs.popper && this.$refs.popper.doDestroy();\n },\n handleClose: function handleClose() {\n this.visible = false;\n },\n toggleLastOptionHitState: function toggleLastOptionHitState(hit) {\n if (!Array.isArray(this.selected)) return;\n var option = this.selected[this.selected.length - 1];\n if (!option) return;\n\n if (hit === true || hit === false) {\n option.hitState = hit;\n return hit;\n }\n\n option.hitState = !option.hitState;\n return option.hitState;\n },\n deletePrevTag: function deletePrevTag(e) {\n if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {\n var value = this.value.slice();\n value.pop();\n this.$emit('input', value);\n this.emitChange(value);\n }\n },\n managePlaceholder: function managePlaceholder() {\n if (this.currentPlaceholder !== '') {\n this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;\n }\n },\n resetInputState: function resetInputState(e) {\n if (e.keyCode !== 8) this.toggleLastOptionHitState(false);\n this.inputLength = this.$refs.input.value.length * 15 + 20;\n this.resetInputHeight();\n },\n resetInputHeight: function resetInputHeight() {\n var _this10 = this;\n\n if (this.collapseTags && !this.filterable) return;\n this.$nextTick(function () {\n if (!_this10.$refs.reference) return;\n var inputChildNodes = _this10.$refs.reference.$el.childNodes;\n var input = [].filter.call(inputChildNodes, function (item) {\n return item.tagName === 'INPUT';\n })[0];\n var tags = _this10.$refs.tags;\n var sizeInMap = _this10.initialInputHeight || 40;\n input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tags.clientHeight + (tags.clientHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';\n if (_this10.visible && _this10.emptyText !== false) {\n _this10.broadcast('ElSelectDropdown', 'updatePopper');\n }\n });\n },\n resetHoverIndex: function resetHoverIndex() {\n var _this11 = this;\n\n setTimeout(function () {\n if (!_this11.multiple) {\n _this11.hoverIndex = _this11.options.indexOf(_this11.selected);\n } else {\n if (_this11.selected.length > 0) {\n _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {\n return _this11.options.indexOf(item);\n }));\n } else {\n _this11.hoverIndex = -1;\n }\n }\n }, 300);\n },\n handleOptionSelect: function handleOptionSelect(option, byClick) {\n var _this12 = this;\n\n if (this.multiple) {\n var value = (this.value || []).slice();\n var optionIndex = this.getValueIndex(value, option.value);\n if (optionIndex > -1) {\n value.splice(optionIndex, 1);\n } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {\n value.push(option.value);\n }\n this.$emit('input', value);\n this.emitChange(value);\n if (option.created) {\n this.query = '';\n this.handleQueryChange('');\n this.inputLength = 20;\n }\n if (this.filterable) this.$refs.input.focus();\n } else {\n this.$emit('input', option.value);\n this.emitChange(option.value);\n this.visible = false;\n }\n this.isSilentBlur = byClick;\n this.setSoftFocus();\n if (this.visible) return;\n this.$nextTick(function () {\n _this12.scrollToOption(option);\n });\n },\n setSoftFocus: function setSoftFocus() {\n this.softFocus = true;\n var input = this.$refs.input || this.$refs.reference;\n if (input) {\n input.focus();\n }\n },\n getValueIndex: function getValueIndex() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = arguments[1];\n\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n if (!isObject) {\n return arr.indexOf(value);\n } else {\n var valueKey = this.valueKey;\n var index = -1;\n arr.some(function (item, i) {\n if (Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(value, valueKey)) {\n index = i;\n return true;\n }\n return false;\n });\n return index;\n }\n },\n toggleMenu: function toggleMenu() {\n if (!this.selectDisabled) {\n if (this.menuVisibleOnFocus) {\n this.menuVisibleOnFocus = false;\n } else {\n this.visible = !this.visible;\n }\n if (this.visible) {\n (this.$refs.input || this.$refs.reference).focus();\n }\n }\n },\n selectOption: function selectOption() {\n if (!this.visible) {\n this.toggleMenu();\n } else {\n if (this.options[this.hoverIndex]) {\n this.handleOptionSelect(this.options[this.hoverIndex]);\n }\n }\n },\n deleteSelected: function deleteSelected(event) {\n event.stopPropagation();\n var value = this.multiple ? [] : '';\n this.$emit('input', value);\n this.emitChange(value);\n this.visible = false;\n this.$emit('clear');\n },\n deleteTag: function deleteTag(event, tag) {\n var index = this.selected.indexOf(tag);\n if (index > -1 && !this.selectDisabled) {\n var value = this.value.slice();\n value.splice(index, 1);\n this.$emit('input', value);\n this.emitChange(value);\n this.$emit('remove-tag', tag.value);\n }\n event.stopPropagation();\n },\n onInputChange: function onInputChange() {\n if (this.filterable && this.query !== this.selectedLabel) {\n this.query = this.selectedLabel;\n this.handleQueryChange(this.query);\n }\n },\n onOptionDestroy: function onOptionDestroy(index) {\n if (index > -1) {\n this.optionsCount--;\n this.filteredOptionsCount--;\n this.options.splice(index, 1);\n }\n },\n resetInputWidth: function resetInputWidth() {\n this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;\n },\n handleResize: function handleResize() {\n this.resetInputWidth();\n if (this.multiple) this.resetInputHeight();\n },\n checkDefaultFirstOption: function checkDefaultFirstOption() {\n this.hoverIndex = -1;\n // highlight the created option\n var hasCreated = false;\n for (var i = this.options.length - 1; i >= 0; i--) {\n if (this.options[i].created) {\n hasCreated = true;\n this.hoverIndex = i;\n break;\n }\n }\n if (hasCreated) return;\n for (var _i = 0; _i !== this.options.length; ++_i) {\n var option = this.options[_i];\n if (this.query) {\n // highlight first options that passes the filter\n if (!option.disabled && !option.groupDisabled && option.visible) {\n this.hoverIndex = _i;\n break;\n }\n } else {\n // highlight currently selected option\n if (option.itemSelected) {\n this.hoverIndex = _i;\n break;\n }\n }\n }\n },\n getValueKey: function getValueKey(item) {\n if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {\n return item.value;\n } else {\n return Object(util_[\"getValueByPath\"])(item.value, this.valueKey);\n }\n }\n },\n\n created: function created() {\n var _this13 = this;\n\n this.cachedPlaceHolder = this.currentPlaceholder = this.placeholder;\n if (this.multiple && !Array.isArray(this.value)) {\n this.$emit('input', []);\n }\n if (!this.multiple && Array.isArray(this.value)) {\n this.$emit('input', '');\n }\n\n this.debouncedOnInputChange = debounce_default()(this.debounce, function () {\n _this13.onInputChange();\n });\n\n this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {\n _this13.handleQueryChange(e.target.value);\n });\n\n this.$on('handleOptionClick', this.handleOptionSelect);\n this.$on('setSelected', this.setSelected);\n },\n mounted: function mounted() {\n var _this14 = this;\n\n if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {\n this.currentPlaceholder = '';\n }\n Object(resize_event_[\"addResizeListener\"])(this.$el, this.handleResize);\n\n var reference = this.$refs.reference;\n if (reference && reference.$el) {\n var sizeMap = {\n medium: 36,\n small: 32,\n mini: 28\n };\n var input = reference.$el.querySelector('input');\n this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];\n }\n if (this.remote && this.multiple) {\n this.resetInputHeight();\n }\n this.$nextTick(function () {\n if (reference && reference.$el) {\n _this14.inputWidth = reference.$el.getBoundingClientRect().width;\n }\n });\n this.setSelected();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el && this.handleResize) Object(resize_event_[\"removeResizeListener\"])(this.$el, this.handleResize);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/select/src/select.vue\n\n\n\n\n\n/* normalize component */\n\nvar select_component = Object(componentNormalizer[\"a\" /* default */])(\n src_selectvue_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 select_api; }\nselect_component.options.__file = \"packages/select/src/select.vue\"\n/* harmony default export */ var src_select = (select_component.exports);\n// CONCATENATED MODULE: ./packages/select/index.js\n\n\n/* istanbul ignore next */\nsrc_select.install = function (Vue) {\n Vue.component(src_select.name, src_select);\n};\n\n/* harmony default export */ var packages_select = __webpack_exports__[\"default\"] = (src_select);\n\n/***/ })\n/******/ ]);\n\n/***/ }),\n/* 1127 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.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 = 131);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 131:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(17);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/tooltip/src/main.js\n\n\n\n\n\n\n/* harmony default export */ var main = ({\n name: 'ElTooltip',\n\n mixins: [vue_popper_default.a],\n\n props: {\n openDelay: {\n type: Number,\n default: 0\n },\n disabled: Boolean,\n manual: Boolean,\n effect: {\n type: String,\n default: 'dark'\n },\n arrowOffset: {\n type: Number,\n default: 0\n },\n popperClass: String,\n content: String,\n visibleArrow: {\n default: true\n },\n transition: {\n type: String,\n default: 'el-fade-in-linear'\n },\n popperOptions: {\n default: function _default() {\n return {\n boundariesPadding: 10,\n gpuAcceleration: false\n };\n }\n },\n enterable: {\n type: Boolean,\n default: true\n },\n hideAfter: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n\n data: function data() {\n return {\n tooltipId: 'el-tooltip-' + Object(util_[\"generateId\"])(),\n timeoutPending: null,\n focusing: false\n };\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n if (this.$isServer) return;\n\n this.popperVM = new external_vue_default.a({\n data: { node: '' },\n render: function render(h) {\n return this.node;\n }\n }).$mount();\n\n this.debounceClose = debounce_default()(200, function () {\n return _this.handleClosePopper();\n });\n },\n render: function render(h) {\n var _this2 = this;\n\n if (this.popperVM) {\n this.popperVM.node = h(\n 'transition',\n {\n attrs: {\n name: this.transition\n },\n on: {\n 'afterLeave': this.doDestroy\n }\n },\n [h(\n 'div',\n {\n on: {\n 'mouseleave': function mouseleave() {\n _this2.setExpectedState(false);_this2.debounceClose();\n },\n 'mouseenter': function mouseenter() {\n _this2.setExpectedState(true);\n }\n },\n\n ref: 'popper',\n attrs: { role: 'tooltip',\n id: this.tooltipId,\n 'aria-hidden': this.disabled || !this.showPopper ? 'true' : 'false'\n },\n directives: [{\n name: 'show',\n value: !this.disabled && this.showPopper\n }],\n\n 'class': ['el-tooltip__popper', 'is-' + this.effect, this.popperClass] },\n [this.$slots.content || this.content]\n )]\n );\n }\n\n var firstElement = this.getFirstElement();\n if (!firstElement) return null;\n\n var data = firstElement.data = firstElement.data || {};\n data.staticClass = this.addTooltipClass(data.staticClass);\n\n return firstElement;\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.referenceElm = this.$el;\n if (this.$el.nodeType === 1) {\n this.$el.setAttribute('aria-describedby', this.tooltipId);\n this.$el.setAttribute('tabindex', this.tabindex);\n Object(dom_[\"on\"])(this.referenceElm, 'mouseenter', this.show);\n Object(dom_[\"on\"])(this.referenceElm, 'mouseleave', this.hide);\n Object(dom_[\"on\"])(this.referenceElm, 'focus', function () {\n if (!_this3.$slots.default || !_this3.$slots.default.length) {\n _this3.handleFocus();\n return;\n }\n var instance = _this3.$slots.default[0].componentInstance;\n if (instance && instance.focus) {\n instance.focus();\n } else {\n _this3.handleFocus();\n }\n });\n Object(dom_[\"on\"])(this.referenceElm, 'blur', this.handleBlur);\n Object(dom_[\"on\"])(this.referenceElm, 'click', this.removeFocusing);\n }\n // fix issue https://github.com/ElemeFE/element/issues/14424\n if (this.value && this.popperVM) {\n this.popperVM.$nextTick(function () {\n if (_this3.value) {\n _this3.updatePopper();\n }\n });\n }\n },\n\n watch: {\n focusing: function focusing(val) {\n if (val) {\n Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n } else {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n }\n }\n },\n methods: {\n show: function show() {\n this.setExpectedState(true);\n this.handleShowPopper();\n },\n hide: function hide() {\n this.setExpectedState(false);\n this.debounceClose();\n },\n handleFocus: function handleFocus() {\n this.focusing = true;\n this.show();\n },\n handleBlur: function handleBlur() {\n this.focusing = false;\n this.hide();\n },\n removeFocusing: function removeFocusing() {\n this.focusing = false;\n },\n addTooltipClass: function addTooltipClass(prev) {\n if (!prev) {\n return 'el-tooltip';\n } else {\n return 'el-tooltip ' + prev.replace('el-tooltip', '');\n }\n },\n handleShowPopper: function handleShowPopper() {\n var _this4 = this;\n\n if (!this.expectedState || this.manual) return;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n _this4.showPopper = true;\n }, this.openDelay);\n\n if (this.hideAfter > 0) {\n this.timeoutPending = setTimeout(function () {\n _this4.showPopper = false;\n }, this.hideAfter);\n }\n },\n handleClosePopper: function handleClosePopper() {\n if (this.enterable && this.expectedState || this.manual) return;\n clearTimeout(this.timeout);\n\n if (this.timeoutPending) {\n clearTimeout(this.timeoutPending);\n }\n this.showPopper = false;\n\n if (this.disabled) {\n this.doDestroy();\n }\n },\n setExpectedState: function setExpectedState(expectedState) {\n if (expectedState === false) {\n clearTimeout(this.timeoutPending);\n }\n this.expectedState = expectedState;\n },\n getFirstElement: function getFirstElement() {\n var slots = this.$slots.default;\n if (!Array.isArray(slots)) return null;\n var element = null;\n for (var index = 0; index < slots.length; index++) {\n if (slots[index] && slots[index].tag) {\n element = slots[index];\n };\n }\n return element;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.popperVM && this.popperVM.$destroy();\n },\n destroyed: function destroyed() {\n var reference = this.referenceElm;\n if (reference.nodeType === 1) {\n Object(dom_[\"off\"])(reference, 'mouseenter', this.show);\n Object(dom_[\"off\"])(reference, 'mouseleave', this.hide);\n Object(dom_[\"off\"])(reference, 'focus', this.handleFocus);\n Object(dom_[\"off\"])(reference, 'blur', this.handleBlur);\n Object(dom_[\"off\"])(reference, 'click', this.removeFocusing);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/tooltip/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var tooltip = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(186);\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(72);\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(61);\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(185);\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = __webpack_require__(27);\n\n/***/ })\n\n/******/ });\n\n/***/ }),\n/* 1128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _dom = __webpack_require__(72);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Transition = function () {\n function Transition() {\n _classCallCheck(this, Transition);\n }\n\n Transition.prototype.beforeEnter = function beforeEnter(el) {\n (0, _dom.addClass)(el, 'collapse-transition');\n if (!el.dataset) el.dataset = {};\n\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n el.style.height = '0';\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n };\n\n Transition.prototype.enter = function enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.height = '';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n\n el.style.overflow = 'hidden';\n };\n\n Transition.prototype.afterEnter = function afterEnter(el) {\n // for safari: remove class then reset height is necessary\n (0, _dom.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n };\n\n Transition.prototype.beforeLeave = function beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n\n el.style.height = el.scrollHeight + 'px';\n el.style.overflow = 'hidden';\n };\n\n Transition.prototype.leave = function leave(el) {\n if (el.scrollHeight !== 0) {\n // for safari: add class after set height, or it will jump to zero height suddenly, weired\n (0, _dom.addClass)(el, 'collapse-transition');\n el.style.height = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n };\n\n Transition.prototype.afterLeave = function afterLeave(el) {\n (0, _dom.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n };\n\n return Transition;\n}();\n\nexports.default = {\n name: 'ElCollapseTransition',\n functional: true,\n render: function render(h, _ref) {\n var children = _ref.children;\n\n var data = {\n on: new Transition()\n };\n\n return h('transition', data, children);\n }\n};\n\n/***/ }),\n/* 1129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 */\n\n/***/ }),\n/* 1130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 = __webpack_require__(267);\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/***/ }),\n/* 1131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 = __webpack_require__(425);\n\nvar _date2 = _interopRequireDefault(_date);\n\nvar _locale = __webpack_require__(150);\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};\n\n/***/ }),\n/* 1132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;\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\n/**\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version {{version}}\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\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//\n// Cross module loader\n// Supported: Node, AMD, Browser globals\n//\n;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.Popper = factory();\n }\n})(undefined, function () {\n\n 'use strict';\n\n var root = window;\n\n // default options\n var DEFAULTS = {\n // placement of the popper\n placement: 'bottom',\n\n gpuAcceleration: true,\n\n // shift popper from its origin by the given amount of pixels (can be negative)\n offset: 0,\n\n // the element which will act as boundary of the popper\n boundariesElement: 'viewport',\n\n // amount of pixel used to define a minimum distance between the boundaries and the popper\n boundariesPadding: 5,\n\n // popper will try to prevent overflow following this order,\n // by default, then, it could overflow on the left and on top of the boundariesElement\n preventOverflowOrder: ['left', 'right', 'top', 'bottom'],\n\n // the behavior used by flip to change the placement of the popper\n flipBehavior: 'flip',\n\n arrowElement: '[x-arrow]',\n\n arrowOffset: 0,\n\n // list of functions used to modify the offsets before they are applied to the popper\n modifiers: ['shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'],\n\n modifiersIgnored: [],\n\n forceAbsolute: false\n };\n\n /**\n * Create a new Popper.js instance\n * @constructor Popper\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement|Object} popper\n * The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [popper.tagName='div'] The tag name of the generated popper.\n * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper.\n * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it.\n * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string.\n * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`.\n * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is.\n * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element.\n * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element.\n * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element.\n * @param {Object} options\n * @param {String} [options.placement=bottom]\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right),\n * left(-start, -end)`\n *\n * @param {HTMLElement|String} [options.arrowElement='[x-arrow]']\n * The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of\n * its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its\n * reference element.\n * By default, it will look for a child node of the popper with the `x-arrow` attribute.\n *\n * @param {Boolean} [options.gpuAcceleration=true]\n * When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the\n * browser to use the GPU to accelerate the rendering.\n * If set to false, the popper will be placed using `top` and `left` properties, not using the GPU.\n *\n * @param {Number} [options.offset=0]\n * Amount of pixels the popper will be shifted (can be negative).\n *\n * @param {String|Element} [options.boundariesElement='viewport']\n * The element which will define the boundaries of the popper position, the popper will never be placed outside\n * of the defined boundaries (except if `keepTogether` is enabled)\n *\n * @param {Number} [options.boundariesPadding=5]\n * Additional padding for the boundaries\n *\n * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']]\n * Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order,\n * this means that the last ones will never overflow\n *\n * @param {String|Array} [options.flipBehavior='flip']\n * The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to\n * overlap its reference element. Defining `flip` as value, the placement will be flipped on\n * its axis (`right - left`, `top - bottom`).\n * You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify\n * how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left,\n * then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top)\n *\n * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']]\n * List of functions used to modify the data before they are applied to the popper, add your custom functions\n * to this array to edit the offsets and placement.\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Array} [options.modifiersIgnored=[]]\n * Put here any built-in modifier name you want to exclude from the modifiers list\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Boolean} [options.removeOnDestroy=false]\n * Set to true if you want to automatically remove the popper when you call the `destroy` method.\n */\n function Popper(reference, popper, options) {\n this._reference = reference.jquery ? reference[0] : reference;\n this.state = {};\n\n // if the popper variable is a configuration object, parse it to generate an HTMLElement\n // generate a default popper if is not defined\n var isNotDefined = typeof popper === 'undefined' || popper === null;\n var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]';\n if (isNotDefined || isConfig) {\n this._popper = this.parse(isConfig ? popper : {});\n }\n // otherwise, use the given HTMLElement as popper\n else {\n this._popper = popper.jquery ? popper[0] : popper;\n }\n\n // with {} we create a new object with the options inside it\n this._options = Object.assign({}, DEFAULTS, options);\n\n // refactoring modifiers' list\n this._options.modifiers = this._options.modifiers.map(function (modifier) {\n // remove ignored modifiers\n if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return;\n\n // set the x-placement attribute before everything else because it could be used to add margins to the popper\n // margins needs to be calculated to get the correct popper offsets\n if (modifier === 'applyStyle') {\n this._popper.setAttribute('x-placement', this._options.placement);\n }\n\n // return predefined modifier identified by string or keep the custom one\n return this.modifiers[modifier] || modifier;\n }.bind(this));\n\n // make sure to apply the popper position before any computation\n this.state.position = this._getPosition(this._popper, this._reference);\n setStyle(this._popper, { position: this.state.position, top: 0 });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n // setup event listeners, they will take care of update the position in specific situations\n this._setupEventListeners();\n return this;\n }\n\n //\n // Methods\n //\n /**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\n Popper.prototype.destroy = function () {\n this._popper.removeAttribute('x-placement');\n this._popper.style.left = '';\n this._popper.style.position = '';\n this._popper.style.top = '';\n this._popper.style[getSupportedPropertyName('transform')] = '';\n this._removeEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n if (this._options.removeOnDestroy) {\n this._popper.remove();\n }\n return this;\n };\n\n /**\n * Updates the position of the popper, computing the new offsets and applying the new style\n * @method\n * @memberof Popper\n */\n Popper.prototype.update = function () {\n var data = { instance: this, styles: {} };\n\n // store placement inside the data object, modifiers will be able to edit `placement` if needed\n // and refer to _originalPlacement to know the original value\n data.placement = this._options.placement;\n data._originalPlacement = this._options.placement;\n\n // compute the popper and reference offsets and put them inside data.offsets\n data.offsets = this._getOffsets(this._popper, this._reference, data.placement);\n\n // get boundaries\n data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);\n\n data = this.runModifiers(data, this._options.modifiers);\n\n if (typeof this.state.updateCallback === 'function') {\n this.state.updateCallback(data);\n }\n };\n\n /**\n * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance.\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onCreate = function (callback) {\n // the createCallbacks return as first argument the popper instance\n callback(this);\n return this;\n };\n\n /**\n * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations\n * used to style popper and its arrow.\n * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor!\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onUpdate = function (callback) {\n this.state.updateCallback = callback;\n return this;\n };\n\n /**\n * Helper used to generate poppers from a configuration file\n * @method\n * @memberof Popper\n * @param config {Object} configuration\n * @returns {HTMLElement} popper\n */\n Popper.prototype.parse = function (config) {\n var defaultConfig = {\n tagName: 'div',\n classNames: ['popper'],\n attributes: [],\n parent: root.document.body,\n content: '',\n contentType: 'text',\n arrowTagName: 'div',\n arrowClassNames: ['popper__arrow'],\n arrowAttributes: ['x-arrow']\n };\n config = Object.assign({}, defaultConfig, config);\n\n var d = root.document;\n\n var popper = d.createElement(config.tagName);\n addClassNames(popper, config.classNames);\n addAttributes(popper, config.attributes);\n if (config.contentType === 'node') {\n popper.appendChild(config.content.jquery ? config.content[0] : config.content);\n } else if (config.contentType === 'html') {\n popper.innerHTML = config.content;\n } else {\n popper.textContent = config.content;\n }\n\n if (config.arrowTagName) {\n var arrow = d.createElement(config.arrowTagName);\n addClassNames(arrow, config.arrowClassNames);\n addAttributes(arrow, config.arrowAttributes);\n popper.appendChild(arrow);\n }\n\n var parent = config.parent.jquery ? config.parent[0] : config.parent;\n\n // if the given parent is a string, use it to match an element\n // if more than one element is matched, the first one will be used as parent\n // if no elements are matched, the script will throw an error\n if (typeof parent === 'string') {\n parent = d.querySelectorAll(config.parent);\n if (parent.length > 1) {\n console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used');\n }\n if (parent.length === 0) {\n throw 'ERROR: the given `parent` doesn\\'t exists!';\n }\n parent = parent[0];\n }\n // if the given parent is a DOM nodes list or an array of nodes with more than one element,\n // the first one will be used as parent\n if (parent.length > 1 && parent instanceof Element === false) {\n console.warn('WARNING: you have passed as parent a list of elements, the first one will be used');\n parent = parent[0];\n }\n\n // append the generated popper to its parent\n parent.appendChild(popper);\n\n return popper;\n\n /**\n * Adds class names to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} classes\n */\n function addClassNames(element, classNames) {\n classNames.forEach(function (className) {\n element.classList.add(className);\n });\n }\n\n /**\n * Adds attributes to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} attributes\n * @example\n * addAttributes(element, [ 'data-info:foobar' ]);\n */\n function addAttributes(element, attributes) {\n attributes.forEach(function (attribute) {\n element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || '');\n });\n }\n };\n\n /**\n * Helper used to get the position which will be applied to the popper\n * @method\n * @memberof Popper\n * @param config {HTMLElement} popper element\n * @param reference {HTMLElement} reference element\n * @returns {String} position\n */\n Popper.prototype._getPosition = function (popper, reference) {\n var container = getOffsetParent(reference);\n\n if (this._options.forceAbsolute) {\n return 'absolute';\n }\n\n // Decide if the popper will be fixed\n // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together\n var isParentFixed = isFixed(reference, container);\n return isParentFixed ? 'fixed' : 'absolute';\n };\n\n /**\n * Get offsets to the popper\n * @method\n * @memberof Popper\n * @access private\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\n Popper.prototype._getOffsets = function (popper, reference, placement) {\n placement = placement.split('-')[0];\n var popperOffsets = {};\n\n popperOffsets.position = this.state.position;\n var isParentFixed = popperOffsets.position === 'fixed';\n\n //\n // Get reference element position\n //\n var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed);\n\n //\n // Get popper sizes\n //\n var popperRect = getOuterSizes(popper);\n\n //\n // Compute offsets of popper\n //\n\n // depending by the popper placement we have to compute its offsets slightly differently\n if (['right', 'left'].indexOf(placement) !== -1) {\n popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2;\n if (placement === 'left') {\n popperOffsets.left = referenceOffsets.left - popperRect.width;\n } else {\n popperOffsets.left = referenceOffsets.right;\n }\n } else {\n popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2;\n if (placement === 'top') {\n popperOffsets.top = referenceOffsets.top - popperRect.height;\n } else {\n popperOffsets.top = referenceOffsets.bottom;\n }\n }\n\n // Add width and height to our offsets object\n popperOffsets.width = popperRect.width;\n popperOffsets.height = popperRect.height;\n\n return {\n popper: popperOffsets,\n reference: referenceOffsets\n };\n };\n\n /**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._setupEventListeners = function () {\n // NOTE: 1 DOM access here\n this.state.updateBound = this.update.bind(this);\n root.addEventListener('resize', this.state.updateBound);\n // if the boundariesElement is window we don't need to listen for the scroll event\n if (this._options.boundariesElement !== 'window') {\n var target = getScrollParent(this._reference);\n // here it could be both `body` or `documentElement` thanks to Firefox, we then check both\n if (target === root.document.body || target === root.document.documentElement) {\n target = root;\n }\n target.addEventListener('scroll', this.state.updateBound);\n this.state.scrollTarget = target;\n }\n };\n\n /**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._removeEventListeners = function () {\n // NOTE: 1 DOM access here\n root.removeEventListener('resize', this.state.updateBound);\n if (this._options.boundariesElement !== 'window' && this.state.scrollTarget) {\n this.state.scrollTarget.removeEventListener('scroll', this.state.updateBound);\n this.state.scrollTarget = null;\n }\n this.state.updateBound = null;\n };\n\n /**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper\n * @access private\n * @param {Object} data - Object containing the property \"offsets\" generated by `_getOffsets`\n * @param {Number} padding - Boundaries padding\n * @param {Element} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\n Popper.prototype._getBoundaries = function (data, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = {};\n var width, height;\n if (boundariesElement === 'window') {\n var body = root.document.body,\n html = root.document.documentElement;\n\n height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n\n boundaries = {\n top: 0,\n right: width,\n bottom: height,\n left: 0\n };\n } else if (boundariesElement === 'viewport') {\n var offsetParent = getOffsetParent(this._popper);\n var scrollParent = getScrollParent(this._popper);\n var offsetParentRect = getOffsetRect(offsetParent);\n\n // Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop`\n var getScrollTopValue = function getScrollTopValue(element) {\n return element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop;\n };\n var getScrollLeftValue = function getScrollLeftValue(element) {\n return element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft;\n };\n\n // if the popper is fixed we don't have to substract scrolling from the boundaries\n var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent);\n var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent);\n\n boundaries = {\n top: 0 - (offsetParentRect.top - scrollTop),\n right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),\n bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),\n left: 0 - (offsetParentRect.left - scrollLeft)\n };\n } else {\n if (getOffsetParent(this._popper) === boundariesElement) {\n boundaries = {\n top: 0,\n left: 0,\n right: boundariesElement.clientWidth,\n bottom: boundariesElement.clientHeight\n };\n } else {\n boundaries = getOffsetRect(boundariesElement);\n }\n }\n boundaries.left += padding;\n boundaries.right -= padding;\n boundaries.top = boundaries.top + padding;\n boundaries.bottom = boundaries.bottom - padding;\n return boundaries;\n };\n\n /**\n * Loop trough the list of modifiers and run them in order, each of them will then edit the data object\n * @method\n * @memberof Popper\n * @access public\n * @param {Object} data\n * @param {Array} modifiers\n * @param {Function} ends\n */\n Popper.prototype.runModifiers = function (data, modifiers, ends) {\n var modifiersToRun = modifiers.slice();\n if (ends !== undefined) {\n modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends));\n }\n\n modifiersToRun.forEach(function (modifier) {\n if (isFunction(modifier)) {\n data = modifier.call(this, data);\n }\n }.bind(this));\n\n return data;\n };\n\n /**\n * Helper used to know if the given modifier depends from another one.\n * @method\n * @memberof Popper\n * @param {String} requesting - name of requesting modifier\n * @param {String} requested - name of requested modifier\n * @returns {Boolean}\n */\n Popper.prototype.isModifierRequired = function (requesting, requested) {\n var index = getArrayKeyIndex(this._options.modifiers, requesting);\n return !!this._options.modifiers.slice(0, index).filter(function (modifier) {\n return modifier === requested;\n }).length;\n };\n\n //\n // Modifiers\n //\n\n /**\n * Modifiers list\n * @namespace Popper.modifiers\n * @memberof Popper\n * @type {Object}\n */\n Popper.prototype.modifiers = {};\n\n /**\n * Apply the computed styles to the popper element\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The same data object\n */\n Popper.prototype.modifiers.applyStyle = function (data) {\n // apply the final offsets to the popper\n // NOTE: 1 DOM access here\n var styles = {\n position: data.offsets.popper.position\n };\n\n // round top and left to avoid blurry text\n var left = Math.round(data.offsets.popper.left);\n var top = Math.round(data.offsets.popper.top);\n\n // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper\n // we automatically use the supported prefixed version if needed\n var prefixedProperty;\n if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles.top = 0;\n styles.left = 0;\n }\n // othwerise, we use the standard `left` and `top` properties\n else {\n styles.left = left;\n styles.top = top;\n }\n\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n Object.assign(styles, data.styles);\n\n setStyle(this._popper, styles);\n\n // set an attribute which will be useful to style the tooltip (use it to properly position its arrow)\n // NOTE: 1 DOM access here\n this._popper.setAttribute('x-placement', data.placement);\n\n // if the arrow modifier is required and the arrow style has been computed, apply the arrow style\n if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) {\n setStyle(data.arrowElement, data.offsets.arrow);\n }\n\n return data;\n };\n\n /**\n * Modifier used to shift the popper on the start or end of its reference element side\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.shift = function (data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftVariation = placement.split('-')[1];\n\n // if shift shiftVariation is specified, run the modifier\n if (shiftVariation) {\n var reference = data.offsets.reference;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var shiftOffsets = {\n y: {\n start: { top: reference.top },\n end: { top: reference.top + reference.height - popper.height }\n },\n x: {\n start: { left: reference.left },\n end: { left: reference.left + reference.width - popper.width }\n }\n };\n\n var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y';\n\n data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);\n }\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper does not overflows from it's boundaries\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.preventOverflow = function (data) {\n var order = this._options.preventOverflowOrder;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var check = {\n left: function left() {\n var left = popper.left;\n if (popper.left < data.boundaries.left) {\n left = Math.max(popper.left, data.boundaries.left);\n }\n return { left: left };\n },\n right: function right() {\n var left = popper.left;\n if (popper.right > data.boundaries.right) {\n left = Math.min(popper.left, data.boundaries.right - popper.width);\n }\n return { left: left };\n },\n top: function top() {\n var top = popper.top;\n if (popper.top < data.boundaries.top) {\n top = Math.max(popper.top, data.boundaries.top);\n }\n return { top: top };\n },\n bottom: function bottom() {\n var top = popper.top;\n if (popper.bottom > data.boundaries.bottom) {\n top = Math.min(popper.top, data.boundaries.bottom - popper.height);\n }\n return { top: top };\n }\n };\n\n order.forEach(function (direction) {\n data.offsets.popper = Object.assign(popper, check[direction]());\n });\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper is always near its reference\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.keepTogether = function (data) {\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var f = Math.floor;\n\n if (popper.right < f(reference.left)) {\n data.offsets.popper.left = f(reference.left) - popper.width;\n }\n if (popper.left > f(reference.right)) {\n data.offsets.popper.left = f(reference.right);\n }\n if (popper.bottom < f(reference.top)) {\n data.offsets.popper.top = f(reference.top) - popper.height;\n }\n if (popper.top > f(reference.bottom)) {\n data.offsets.popper.top = f(reference.bottom);\n }\n\n return data;\n };\n\n /**\n * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element.\n * Requires the `preventOverflow` modifier before it in order to work.\n * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper!\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.flip = function (data) {\n // check if preventOverflow is in the list of modifiers before the flip modifier.\n // otherwise flip would not work as expected.\n if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) {\n console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!');\n return data;\n }\n\n if (data.flipped && data.placement === data._originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n if (this._options.flipBehavior === 'flip') {\n flipOrder = [placement, placementOpposite];\n } else {\n flipOrder = this._options.flipBehavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = getPopperClientRect(data.offsets.popper);\n\n // this boolean is used to distinguish right and bottom from top and left\n // they need different computations to get flipped\n var a = ['right', 'bottom'].indexOf(placement) !== -1;\n\n // using Math.floor because the reference offsets may contain decimals we are not going to consider here\n if (a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) || !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite])) {\n // we'll use this boolean to detect any flip loop\n data.flipped = true;\n data.placement = flipOrder[index + 1];\n if (variation) {\n data.placement += '-' + variation;\n }\n data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper;\n\n data = this.runModifiers(data, this._options.modifiers, this._flip);\n }\n }.bind(this));\n return data;\n };\n\n /**\n * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper.\n * The offsets will shift the popper on the side of its reference element.\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.offset = function (data) {\n var offset = this._options.offset;\n var popper = data.offsets.popper;\n\n if (data.placement.indexOf('left') !== -1) {\n popper.top -= offset;\n } else if (data.placement.indexOf('right') !== -1) {\n popper.top += offset;\n } else if (data.placement.indexOf('top') !== -1) {\n popper.left -= offset;\n } else if (data.placement.indexOf('bottom') !== -1) {\n popper.left += offset;\n }\n return data;\n };\n\n /**\n * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element\n * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.arrow = function (data) {\n var arrow = this._options.arrowElement;\n var arrowOffset = this._options.arrowOffset;\n\n // if the arrowElement is a string, suppose it's a CSS selector\n if (typeof arrow === 'string') {\n arrow = this._popper.querySelector(arrow);\n }\n\n // if arrow element is not found, don't run the modifier\n if (!arrow) {\n return data;\n }\n\n // the arrow element must be child of its popper\n if (!this._popper.contains(arrow)) {\n console.warn('WARNING: `arrowElement` must be child of its popper element!');\n return data;\n }\n\n // arrow depends on keepTogether in order to work\n if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) {\n console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!');\n return data;\n }\n\n var arrowStyle = {};\n var placement = data.placement.split('-')[0];\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var side = isVertical ? 'top' : 'left';\n var translate = isVertical ? 'translateY' : 'translateX';\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowSize = getOuterSizes(arrow)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);\n }\n // bottom/right side\n if (reference[side] + arrowSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + (arrowOffset || reference[len] / 2 - arrowSize / 2);\n\n var sideValue = center - popper[side];\n\n // prevent arrow from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8);\n arrowStyle[side] = sideValue;\n arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow\n\n data.offsets.arrow = arrowStyle;\n data.arrowElement = arrow;\n\n return data;\n };\n\n //\n // Helpers\n //\n\n /**\n * Get the outer sizes of the given element (offset size + margins)\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\n function getOuterSizes(element) {\n // NOTE: 1 DOM access here\n var _display = element.style.display,\n _visibility = element.style.visibility;\n element.style.display = 'block';element.style.visibility = 'hidden';\n var calcWidthToForceRepaint = element.offsetWidth;\n\n // original method\n var styles = root.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = { width: element.offsetWidth + y, height: element.offsetHeight + x };\n\n // reset element styles\n element.style.display = _display;element.style.visibility = _visibility;\n return result;\n }\n\n /**\n * Get the opposite placement of the given one/\n * @function\n * @ignore\n * @argument {String} placement\n * @returns {String} flipped placement\n */\n function getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n }\n\n /**\n * Given the popper offsets, generate an output similar to getBoundingClientRect\n * @function\n * @ignore\n * @argument {Object} popperOffsets\n * @returns {Object} ClientRect like output\n */\n function getPopperClientRect(popperOffsets) {\n var offsets = Object.assign({}, popperOffsets);\n offsets.right = offsets.left + offsets.width;\n offsets.bottom = offsets.top + offsets.height;\n return offsets;\n }\n\n /**\n * Given an array and the key to find, returns its index\n * @function\n * @ignore\n * @argument {Array} arr\n * @argument keyToFind\n * @returns index or null\n */\n function getArrayKeyIndex(arr, keyToFind) {\n var i = 0,\n key;\n for (key in arr) {\n if (arr[key] === keyToFind) {\n return i;\n }\n i++;\n }\n return null;\n }\n\n /**\n * Get CSS computed property of the given element\n * @function\n * @ignore\n * @argument {Eement} element\n * @argument {String} property\n */\n function getStyleComputedProperty(element, property) {\n // NOTE: 1 DOM access here\n var css = root.getComputedStyle(element, null);\n return css[property];\n }\n\n /**\n * Returns the offset parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent;\n }\n\n /**\n * Returns the scrolling parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getScrollParent(element) {\n var parent = element.parentNode;\n\n if (!parent) {\n return element;\n }\n\n if (parent === root.document) {\n // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is\n // greater than 0 and return the proper element\n if (root.document.body.scrollTop || root.document.body.scrollLeft) {\n return root.document.body;\n } else {\n return root.document.documentElement;\n }\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n if (['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1) {\n // If the detected scrollParent is body, we perform an additional check on its parentNode\n // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise\n // fixes issue #65\n return parent;\n }\n return getScrollParent(element.parentNode);\n }\n\n /**\n * Check if the given element is fixed or is inside a fixed parent\n * @function\n * @ignore\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\n function isFixed(element) {\n if (element === root.document.body) {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return element.parentNode ? isFixed(element.parentNode) : element;\n }\n\n /**\n * Set the style to the given popper\n * @function\n * @ignore\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles - Object with a list of properties and values which will be applied to the element\n */\n function setStyle(element, styles) {\n function is_numeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n }\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n }\n\n /**\n * Check if the given variable is a function\n * @function\n * @ignore\n * @argument {*} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\n function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n }\n\n /**\n * Get the position of the given element, relative to its offset parent\n * @function\n * @ignore\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\n function getOffsetRect(element) {\n var elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop\n };\n\n elementRect.right = elementRect.left + elementRect.width;\n elementRect.bottom = elementRect.top + elementRect.height;\n\n // position\n return elementRect;\n }\n\n /**\n * Get bounding client rect of given element\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\n function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n\n // whether the IE version is lower than 11\n var isIE = navigator.userAgent.indexOf(\"MSIE\") != -1;\n\n // fix ie document bounding top always 0 bug\n var rectTop = isIE && element.tagName === 'HTML' ? -element.scrollTop : rect.top;\n\n return {\n left: rect.left,\n top: rectTop,\n right: rect.right,\n bottom: rect.bottom,\n width: rect.right - rect.left,\n height: rect.bottom - rectTop\n };\n }\n\n /**\n * Given an element and one of its parents, return the offset\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @param {HTMLElement} parent\n * @return {Object} rect\n */\n function getOffsetRectRelativeToCustomParent(element, parent, fixed) {\n var elementRect = getBoundingClientRect(element);\n var parentRect = getBoundingClientRect(parent);\n\n if (fixed) {\n var scrollParent = getScrollParent(parent);\n parentRect.top += scrollParent.scrollTop;\n parentRect.bottom += scrollParent.scrollTop;\n parentRect.left += scrollParent.scrollLeft;\n parentRect.right += scrollParent.scrollLeft;\n }\n\n var rect = {\n top: elementRect.top - parentRect.top,\n left: elementRect.left - parentRect.left,\n bottom: elementRect.top - parentRect.top + elementRect.height,\n right: elementRect.left - parentRect.left + elementRect.width,\n width: elementRect.width,\n height: elementRect.height\n };\n return rect;\n }\n\n /**\n * Get the prefixed supported property name\n * @function\n * @ignore\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase)\n */\n function getSupportedPropertyName(property) {\n var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];\n\n for (var i = 0; i < prefixes.length; i++) {\n var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;\n if (typeof root.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n }\n\n /**\n * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source\n * objects to a target object. It will return the target object.\n * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @function\n * @ignore\n */\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function value(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n nextSource = Object(nextSource);\n\n var keysArray = Object.keys(nextSource);\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n }\n });\n }\n\n return Popper;\n});\n\n/***/ }),\n/* 1133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _vue = __webpack_require__(27);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = __webpack_require__(72);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasModal = false;\nvar hasInitZIndex = false;\nvar zIndex = void 0;\n\nvar getModal = function getModal() {\n if (_vue2.default.prototype.$isServer) return;\n var modalDom = PopupManager.modalDom;\n if (modalDom) {\n hasModal = true;\n } else {\n hasModal = false;\n modalDom = document.createElement('div');\n PopupManager.modalDom = modalDom;\n\n modalDom.addEventListener('touchmove', function (event) {\n event.preventDefault();\n event.stopPropagation();\n });\n\n modalDom.addEventListener('click', function () {\n PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n });\n }\n\n return modalDom;\n};\n\nvar instances = {};\n\nvar PopupManager = {\n modalFade: true,\n\n getInstance: function getInstance(id) {\n return instances[id];\n },\n\n register: function register(id, instance) {\n if (id && instance) {\n instances[id] = instance;\n }\n },\n\n deregister: function deregister(id) {\n if (id) {\n instances[id] = null;\n delete instances[id];\n }\n },\n\n nextZIndex: function nextZIndex() {\n return PopupManager.zIndex++;\n },\n\n modalStack: [],\n\n doOnModalClick: function doOnModalClick() {\n var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topItem) return;\n\n var instance = PopupManager.getInstance(topItem.id);\n if (instance && instance.closeOnClickModal) {\n instance.close();\n }\n },\n\n openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {\n if (_vue2.default.prototype.$isServer) return;\n if (!id || zIndex === undefined) return;\n this.modalFade = modalFade;\n\n var modalStack = this.modalStack;\n\n for (var i = 0, j = modalStack.length; i < j; i++) {\n var item = modalStack[i];\n if (item.id === id) {\n return;\n }\n }\n\n var modalDom = getModal();\n\n (0, _dom.addClass)(modalDom, 'v-modal');\n if (this.modalFade && !hasModal) {\n (0, _dom.addClass)(modalDom, 'v-modal-enter');\n }\n if (modalClass) {\n var classArr = modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.addClass)(modalDom, item);\n });\n }\n setTimeout(function () {\n (0, _dom.removeClass)(modalDom, 'v-modal-enter');\n }, 200);\n\n if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n dom.parentNode.appendChild(modalDom);\n } else {\n document.body.appendChild(modalDom);\n }\n\n if (zIndex) {\n modalDom.style.zIndex = zIndex;\n }\n modalDom.tabIndex = 0;\n modalDom.style.display = '';\n\n this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });\n },\n\n closeModal: function closeModal(id) {\n var modalStack = this.modalStack;\n var modalDom = getModal();\n\n if (modalStack.length > 0) {\n var topItem = modalStack[modalStack.length - 1];\n if (topItem.id === id) {\n if (topItem.modalClass) {\n var classArr = topItem.modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.removeClass)(modalDom, item);\n });\n }\n\n modalStack.pop();\n if (modalStack.length > 0) {\n modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n }\n } else {\n for (var i = modalStack.length - 1; i >= 0; i--) {\n if (modalStack[i].id === id) {\n modalStack.splice(i, 1);\n break;\n }\n }\n }\n }\n\n if (modalStack.length === 0) {\n if (this.modalFade) {\n (0, _dom.addClass)(modalDom, 'v-modal-leave');\n }\n setTimeout(function () {\n if (modalStack.length === 0) {\n if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n modalDom.style.display = 'none';\n PopupManager.modalDom = undefined;\n }\n (0, _dom.removeClass)(modalDom, 'v-modal-leave');\n }, 200);\n }\n }\n};\n\nObject.defineProperty(PopupManager, 'zIndex', {\n configurable: true,\n get: function get() {\n if (!hasInitZIndex) {\n zIndex = zIndex || (_vue2.default.prototype.$ELEMENT || {}).zIndex || 2000;\n hasInitZIndex = true;\n }\n return zIndex;\n },\n set: function set(value) {\n zIndex = value;\n }\n});\n\nvar getTopPopup = function getTopPopup() {\n if (_vue2.default.prototype.$isServer) return;\n if (PopupManager.modalStack.length > 0) {\n var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topPopup) return;\n var instance = PopupManager.getInstance(topPopup.id);\n\n return instance;\n }\n};\n\nif (!_vue2.default.prototype.$isServer) {\n // handle `esc` key when the popup is shown\n window.addEventListener('keydown', function (event) {\n if (event.keyCode === 27) {\n var topPopup = getTopPopup();\n\n if (topPopup && topPopup.closeOnPressEscape) {\n topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();\n }\n }\n });\n}\n\nexports.default = PopupManager;\n\n/***/ }),\n/* 1134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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.isVNode = isVNode;\n\nvar _util = __webpack_require__(61);\n\nfunction isVNode(node) {\n return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions');\n};\n\n/***/ }),\n/* 1135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n\n\n/***/ }),\n/* 1136 */,\n/* 1137 */,\n/* 1138 */,\n/* 1139 */,\n/* 1140 */,\n/* 1141 */,\n/* 1142 */,\n/* 1143 */,\n/* 1144 */,\n/* 1145 */,\n/* 1146 */,\n/* 1147 */,\n/* 1148 */,\n/* 1149 */,\n/* 1150 */,\n/* 1151 */,\n/* 1152 */,\n/* 1153 */,\n/* 1154 */,\n/* 1155 */,\n/* 1156 */,\n/* 1157 */,\n/* 1158 */,\n/* 1159 */,\n/* 1160 */,\n/* 1161 */,\n/* 1162 */,\n/* 1163 */,\n/* 1164 */,\n/* 1165 */,\n/* 1166 */,\n/* 1167 */,\n/* 1168 */,\n/* 1169 */,\n/* 1170 */,\n/* 1171 */,\n/* 1172 */,\n/* 1173 */,\n/* 1174 */,\n/* 1175 */,\n/* 1176 */,\n/* 1177 */,\n/* 1178 */,\n/* 1179 */,\n/* 1180 */,\n/* 1181 */,\n/* 1182 */,\n/* 1183 */,\n/* 1184 */,\n/* 1185 */,\n/* 1186 */,\n/* 1187 */,\n/* 1188 */,\n/* 1189 */,\n/* 1190 */\n/***/ (function(module, exports) {\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n/***/ }),\n/* 1191 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(1195);\n\n\n/***/ }),\n/* 1192 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\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\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\n\n/***/ }),\n/* 1193 */\n/***/ (function(module, exports) {\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/***/ }),\n/* 1194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\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\n\nvar ExecutionEnvironment = __webpack_require__(1192);\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\n\n/***/ }),\n/* 1195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\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 normalizeWheel\n * @typechecks\n */\n\n\n\nvar UserAgent_DEPRECATED = __webpack_require__(1193);\n\nvar isEventSupported = __webpack_require__(1194);\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/***/ }),\n/* 1196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/**\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\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(54)))\n\n/***/ }),\n/* 1197 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(global) {/**\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\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(54)))\n\n/***/ }),\n/* 1198 */,\n/* 1199 */,\n/* 1200 */,\n/* 1201 */,\n/* 1202 */,\n/* 1203 */,\n/* 1204 */,\n/* 1205 */,\n/* 1206 */,\n/* 1207 */,\n/* 1208 */,\n/* 1209 */,\n/* 1210 */,\n/* 1211 */,\n/* 1212 */,\n/* 1213 */,\n/* 1214 */,\n/* 1215 */,\n/* 1216 */,\n/* 1217 */,\n/* 1218 */,\n/* 1219 */,\n/* 1220 */,\n/* 1221 */,\n/* 1222 */,\n/* 1223 */,\n/* 1224 */,\n/* 1225 */,\n/* 1226 */,\n/* 1227 */,\n/* 1228 */,\n/* 1229 */,\n/* 1230 */,\n/* 1231 */,\n/* 1232 */,\n/* 1233 */,\n/* 1234 */,\n/* 1235 */,\n/* 1236 */,\n/* 1237 */,\n/* 1238 */,\n/* 1239 */,\n/* 1240 */,\n/* 1241 */,\n/* 1242 */,\n/* 1243 */,\n/* 1244 */,\n/* 1245 */,\n/* 1246 */,\n/* 1247 */,\n/* 1248 */,\n/* 1249 */,\n/* 1250 */,\n/* 1251 */,\n/* 1252 */,\n/* 1253 */,\n/* 1254 */,\n/* 1255 */,\n/* 1256 */,\n/* 1257 */,\n/* 1258 */,\n/* 1259 */,\n/* 1260 */,\n/* 1261 */,\n/* 1262 */,\n/* 1263 */,\n/* 1264 */,\n/* 1265 */,\n/* 1266 */,\n/* 1267 */,\n/* 1268 */,\n/* 1269 */,\n/* 1270 */,\n/* 1271 */,\n/* 1272 */,\n/* 1273 */,\n/* 1274 */,\n/* 1275 */,\n/* 1276 */,\n/* 1277 */,\n/* 1278 */,\n/* 1279 */,\n/* 1280 */,\n/* 1281 */,\n/* 1282 */,\n/* 1283 */,\n/* 1284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a